/** \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 <deque>
#include "predecl.hh"
#include "detail/Callback.hh"
#include "Queueing.hh"
+#include "ModuleManager.hh"
//#include "Connectors.mpp"
///////////////////////////////hh.p////////////////////////////////////////
to the containing module)
*/
class Connector
- : boost::noncopyable
+ : ModuleManager::Initializable, boost::noncopyable
{
public:
Connector & peer() const; ///< Get peer connected to this connector
bool connected() const; ///< \c true, if connector connected, \c false otherwise
+ void disconnect(); ///< Disconnect connector from peer
+
protected:
Connector();
virtual ~Connector();
virtual std::type_info const & packetTypeID();
void setModule(module::Module & module);
- void init();
- virtual void v_init() = 0;
Connector * peer_;
module::Module * module_;
InputConnector();
private:
- void enqueue(Packet p);
+ void enqueue(Packet const & p);
virtual void v_requestEvent();
virtual void v_enqueueEvent();
: 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;
{
public:
PacketType operator()(); ///< Read packet
- /**< \throws std::bad_cast, if the %connector receives a
+ /**< \throws std::bad_cast if the %connector receives a
Packet which is not of type \a PacketType.
\returns newly read packet reference. */
PacketType read(); ///< Alias for operator()
{
public:
PacketType operator()(); ///< Read packet
- /**< \throws std::bad_cast, if the %connector receives a
+ /**< \throws std::bad_cast if the %connector receives a
Packet which is not of type \a PacketType.
\returns newly read packet reference. */
PacketType read(); ///< Alias for operator()