Socket/Protocols: Move incorrectly placed members from AddressableBSDSocketProtocol...
[senf.git] / Socket / Protocols / INet / RawINetSocketHandle.hh
index 2886c7f..73a20d3 100644 (file)
@@ -1,8 +1,8 @@
 // $Id: RawINetSocketHandle.hh 597 2008-01-15 09:16:20Z g0dil $
 //
-// Copyright (C) 2007 
-// Fraunhofer Institute for Open Communication Systems (FOKUS) 
-// Competence Center NETwork research (NET), St. Augustin, GERMANY 
+// Copyright (C) 2007
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
 //     David Wagner <dw6@berlios.de>
 //
 // This program is free software; you can redistribute it and/or modify
 
 
 // Custom includes
-#include "INetProtocol.hh"
-#include "RawINetProtocol.hh"
-#include "MulticastProtocol.hh"
+#include "INetSocketProtocol.hh"
+#include "RawINetSocketProtocol.hh"
+#include "MulticastSocketProtocol.hh"
 #include "../../../Socket/Protocols/BSDSocketProtocol.hh"
+#include "../../../Socket/Protocols/DatagramSocketProtocol.hh"
 #include "../../../Socket/FramingPolicy.hh"
 #include "../../../Socket/CommunicationPolicy.hh"
 #include "../../../Socket/ReadWritePolicy.hh"
@@ -74,14 +75,13 @@ namespace senf {
         \see RawV6SocketProtocol
      */
     class RawV4SocketProtocol
-        : public ConcreteSocketProtocol<RawV4Socket_Policy>,
-          public IPv4Protocol,
-          public RawINetProtocol,
+        : public ConcreteSocketProtocol<RawV4Socket_Policy, RawV4SocketProtocol>,
+          public RawINetSocketProtocol,
           public BSDSocketProtocol,
           public AddressableBSDSocketProtocol,
-         public MulticastProtocol,
-         public INet4MulticastProtocol,
-         public senf::pool_alloc_mixin<RawV4SocketProtocol>
+         public DatagramSocketProtocol,
+          public MulticastSocketProtocol,
+          public INet4MulticastSocketProtocol
     {
     public:
         ///////////////////////////////////////////////////////////////////////////
@@ -104,11 +104,6 @@ namespace senf {
                                              \param[in] address local address to bind to */
 
         ///@}
-        ///\name Abstract Interface Implementation
-
-        std::auto_ptr<SocketProtocol> clone() const;
-
-        ///@}
     };
 
     typedef ProtocolClientSocketHandle<RawV4SocketProtocol> RawV4ClientSocketHandle;
@@ -149,14 +144,13 @@ namespace senf {
         \see RawV4SocketProtocol
      */
     class RawV6SocketProtocol
-        : public ConcreteSocketProtocol<RawV6Socket_Policy>,
-          public IPv6Protocol,
-          public RawINetProtocol,
+        : public ConcreteSocketProtocol<RawV6Socket_Policy,RawV6SocketProtocol>,
+          public RawINetSocketProtocol,
           public BSDSocketProtocol,
           public AddressableBSDSocketProtocol,
-         public MulticastProtocol,
-         public INet4MulticastProtocol,
-         public senf::pool_alloc_mixin<RawV6SocketProtocol>
+         public DatagramSocketProtocol,
+          public MulticastSocketProtocol,
+          public INet6MulticastSocketProtocol
     {
     public:
         ///////////////////////////////////////////////////////////////////////////
@@ -183,11 +177,6 @@ namespace senf {
                                              constructor */
 
         ///@}
-        ///\name Abstract Interface Implementation
-
-        std::auto_ptr<SocketProtocol> clone() const;
-
-        ///@}
     };
 
     typedef ProtocolClientSocketHandle<RawV6SocketProtocol> RawV6ClientSocketHandle;