set keyword svn property on more files
[senf.git] / PPI / Connectors.hh
index fbaafb6..1b7e540 100644 (file)
@@ -1,6 +1,8 @@
+// $Id$
+//
 // Copyright (C) 2007 
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
+// Fraunhofer Institute for Open Communication Systems (FOKUS) 
+// Competence Center NETwork research (NET), St. Augustin, GERMANY 
 //     Stefan Bund <g0dil@berlios.de>
 //
 // This program is free software; you can redistribute it and/or modify
@@ -28,8 +30,8 @@
 #include <deque>
 #include <boost/utility.hpp>
 #include <boost/scoped_ptr.hpp>
-#include "Utils/SafeBool.hh"
-#include "Packets/Packets.hh"
+#include "../Utils/safe_bool.hh"
+#include "../Packets/Packets.hh"
 #include "predecl.hh"
 #include "detail/Callback.hh"
 #include "Queueing.hh"
@@ -55,8 +57,19 @@ namespace connector {
         All passive connectors call some onRequest callback whenever I/O needs to be performed. All
         input modules possess a packet queue.
 
-        We therefore have 4 connector types: senf::ppi::ActiveInput, senf::ppi::ActiveOutput,
-        senf::ppi::PassiveInput and senf::ppi::PassiveOutput.
+        We therefore have 4 connector types: 
+        \li senf::ppi::connector::ActiveInput
+        \li senf::ppi::connector::ActiveOutput
+        \li senf::ppi::connector::PassiveInput
+        \li senf::ppi::connector::PassiveOutput.
+
+        Connectors are declared as module data members and are then externally connected to other
+        modules.
+
+        \see 
+            senf::ppi::module::Module \n
+            senf::ppi::connect()
+            \ref ppi_connectors
      */
 
     /** \brief Connector base-class
@@ -198,7 +211,7 @@ namespace connector {
                                              holds this input. In the second case, the pointer will
                                              automatically be bound to the containing instance.
 
-                                             \param[in] handle Handler to call on unthrottle
+                                             \param[in] handler Handler to call on unthrottle
                                                  notifications. */
         void onUnthrottle();            ///< Clear unthrottle notification handler
 
@@ -255,6 +268,7 @@ namespace connector {
         typedef Queue::const_iterator queue_iterator; ///< Iterator type of the embedded queue
         typedef Queue::size_type size_type; ///< Unsigned type for counting queue elements
 
+
         Packet operator()();            ///< Get a packet
                                         /**< This member is the primary method to access received
                                              data. On passive connectors, this operator will just
@@ -265,6 +279,8 @@ namespace connector {
                                              logic error in the module implementation and an
                                              exception is raised. */
 
+        Packet read();                  ///< Alias for operator()()
+
         OutputConnector & peer() const;
 
         queue_iterator begin() const;   ///< Access queue begin (head)
@@ -299,7 +315,9 @@ namespace connector {
         : public virtual Connector
     {
     public:
-        void operator()(Packet p);        ///< Send out a packet
+        void operator()(Packet p);      ///< Send out a packet
+
+        void write(Packet p);           ///< Alias for operator()(Packet p)
 
         InputConnector & peer() const;
 
@@ -318,7 +336,7 @@ namespace connector {
      */
     class PassiveInput 
         : public PassiveConnector, public InputConnector,
-          public SafeBool<PassiveInput>
+          public safe_bool<PassiveInput>
     {
     public:
         PassiveInput();
@@ -346,7 +364,7 @@ namespace connector {
      */
     class PassiveOutput
         : public PassiveConnector, public OutputConnector,
-          public SafeBool<PassiveOutput>
+          public safe_bool<PassiveOutput>
     {
     public:
         ActiveInput & peer() const;
@@ -362,7 +380,7 @@ namespace connector {
      */
     class ActiveInput
         : public ActiveConnector, public InputConnector,
-          public SafeBool<ActiveInput>
+          public safe_bool<ActiveInput>
     {
     public:
         PassiveOutput & peer() const;
@@ -379,7 +397,7 @@ namespace connector {
      */
     class ActiveOutput
         : public ActiveConnector, public OutputConnector,
-          public SafeBool<ActiveOutput>
+          public safe_bool<ActiveOutput>
     {
     public:
         PassiveInput & peer() const;