X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FConnectors.hh;h=2e51e9f927a36318e53d5bdb8c78f90edf75233e;hb=7ff3c55db7420433cea0bd7f0fe6c82583f78d4f;hp=0874551b5f12566712eb363d5d524fa5680fd169;hpb=28e21cc5680c097e7daed8c412ee32cf26a75a60;p=senf.git diff --git a/PPI/Connectors.hh b/PPI/Connectors.hh index 0874551..2e51e9f 100644 --- a/PPI/Connectors.hh +++ b/PPI/Connectors.hh @@ -23,8 +23,8 @@ /** \file \brief Connectors public header */ -#ifndef HH_Connectors_ -#define HH_Connectors_ 1 +#ifndef HH_SENF_PPI_Connectors_ +#define HH_SENF_PPI_Connectors_ 1 // Custom includes #include @@ -36,6 +36,7 @@ #include "predecl.hh" #include "detail/Callback.hh" #include "Queueing.hh" +#include "ModuleManager.hh" //#include "Connectors.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -122,7 +123,7 @@ namespace connector { to the containing module) */ class Connector - : boost::noncopyable + : ModuleManager::Initializable, boost::noncopyable { public: Connector & peer() const; ///< Get peer connected to this connector @@ -130,6 +131,8 @@ namespace connector { bool connected() const; ///< \c true, if connector connected, \c false otherwise + void disconnect(); ///< Disconnect connector from peer + protected: Connector(); virtual ~Connector(); @@ -140,8 +143,6 @@ namespace connector { virtual std::type_info const & packetTypeID(); void setModule(module::Module & module); - void init(); - virtual void v_init() = 0; Connector * peer_; module::Module * module_; @@ -349,7 +350,7 @@ namespace connector { InputConnector(); private: - void enqueue(Packet p); + void enqueue(Packet const & p); virtual void v_requestEvent(); virtual void v_enqueueEvent(); @@ -370,9 +371,9 @@ namespace connector { : public virtual Connector { public: - void operator()(Packet p); ///< Send out a packet + void operator()(Packet const & p); ///< Send out a packet - void write(Packet p); ///< Alias for operator()(Packet p) + void write(Packet const & p); ///< Alias for operator()(Packet p) InputConnector & peer() const;