completing implementation, adding missing interfaceName(std::string)
[senf.git] / Socket / SocketPolicy.hh
index b9070f2..7d2c059 100644 (file)
@@ -1,8 +1,8 @@
 // $Id:SocketPolicy.hh 218 2007-03-20 14:39:32Z tho $
 //
 // Copyright (C) 2006
-// Fraunhofer Institute for Open Communication Systems (FOKUS) 
-// Competence Center NETwork research (NET), St. Augustin, GERMANY 
+// 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
 
 /** \defgroup policy_group The Policy Framework
 
-    \htmlonly
-        <map name="socketPolicy">
-          <area shape="rect" alt="SocketPolicy" href="structsenf_1_1SocketPolicy.html" title="SocketPolicy" coords="276,90,558,213" />
-          <area shape="rect" alt="WritePolicyBase" href="structsenf_1_1WritePolicyBase.html" title="WritePolicyBase" coords="39,243,174,268" />
-          <area shape="rect" alt="ReadPolicyBase" href="structsenf_1_1ReadPolicyBase.html" title="ReadPolicyBase" coords="42,204,174,231" />
-          <area shape="rect" alt="CommunicationPolicyBase" href="structsenf_1_1CommunicationPolicyBase.html" title="CommunicationPolicyBase" coords="0,166,215,193" />
-          <area shape="rect" alt="FramingPolicyBase" href="structsenf_1_1FramingPolicyBase.html" title="FramingPolicyBase" coords="30,129,185,155" />
-          <area shape="rect" alt="AddressingPolicyBase" href="structsenf_1_1AddressingPolicyBase.html" title="AddressingPolicyBase" coords="17,90,200,116" />
-        </map>
-        <img src="SocketPolicy.png" border="0" alt="Socket Policy" usemap="#socketPolicy">
-    \endhtmlonly
+    <div class="diamap" name="SocketPolicy">
+    <span coords="39,229,182,257">\ref WritePolicyBase</span>
+    <span coords="17,76,210,105">\ref AddressingPolicyBase</span>
+    <span coords="29,114,194,143">\ref FramingPolicyBase</span>
+    <span coords="368,0,463,28">\ref PolicyBase</span>
+    <span coords="275,2,691,185">\ref SocketPolicy</span>
+    <span coords="0,152,227,181">\ref CommunicationPolicyBase</span>
+    <span coords="41,191,180,219">\ref ReadPolicyBase</span>
+    </div>
+    \htmlonly <img src="SocketPolicy.png" border="0" alt="SocketPolicy" usemap="#SocketPolicy"> \endhtmlonly
         
     \section policy_group_introduction Introduction to the Policy Framework
 
@@ -62,7 +61,7 @@
 
     <dt><em>readPolicy</em></dt><dd>configures the readability of the socket</dd>
 
-    <dt><em>writePolicy</em></dt><dd>configures the writability of the socket</dd>
+    <dt><em>writePolicy</em></dt><dd>configures the writability of the socket</dd></dl>
 
     The template senf::SocketPolicy combines these policy axis to form a concrete socket policy. In
     a concrete policy, each of these policy axis is assigned a value, the policy value. This value
     \code
       struct ExampleAddressingPolicy
       {
-          template <class Policy>
-          void connect(senf::SocketHandle<Policy> handle, Address & addr,
+          template <class SPolicy>
+          void connect(senf::SocketHandle<SPolicy> handle, Address & addr,
                        typename senf::IfCommmunicationPolicyIs<
-                           Policy, senf::ConnectedCommunicationPolicy>::type * = 0);
+                           SPolicy, senf::ConnectedCommunicationPolicy>::type * = 0);
       };
     \endcode
 
     as base classes to build other policy classes.
  */
 
-#ifndef HH_SocketPolicy_
-#define HH_SocketPolicy_ 1
+#ifndef HH_SENF_Socket_SocketPolicy_
+#define HH_SENF_Socket_SocketPolicy_ 1
 
 // Custom includes
 
@@ -293,7 +292,7 @@ namespace senf {
      */
     struct AddressingPolicyBase
     {
-        virtual ~AddressingPolicyBase() {}
+        virtual ~AddressingPolicyBase();
 
         class Address { Address(); };
     };
@@ -310,7 +309,7 @@ namespace senf {
      */
     struct FramingPolicyBase
     {
-        virtual ~FramingPolicyBase() {}
+        virtual ~FramingPolicyBase();
     };
 
     /** \brief Policy defining, how peers are selected
@@ -335,7 +334,7 @@ namespace senf {
      */
     struct CommunicationPolicyBase
     {
-        virtual ~CommunicationPolicyBase() {}
+        virtual ~CommunicationPolicyBase();
     };
 
     /** \brief Policy defining the readability
@@ -358,7 +357,7 @@ namespace senf {
      */
     struct ReadPolicyBase
     {
-        virtual ~ReadPolicyBase() {}
+        virtual ~ReadPolicyBase();
     };
 
     /** \brief Policy defining the writability
@@ -381,7 +380,7 @@ namespace senf {
      */
     struct WritePolicyBase
     {
-        virtual ~WritePolicyBase() {}
+        virtual ~WritePolicyBase();
     };
 
     // The implementation file will for each Policy declared above