Socket: Move protocol into the socket body (as private base class) and allow non...
[senf.git] / Socket / Protocols / Raw / TunTapSocketHandle.hh
index bbe263f..844ab34 100644 (file)
@@ -1,9 +1,9 @@
 // $Id:PacketSocketHandle.hh 218 2007-03-20 14:39:32Z tho $
 //
 // Copyright (C) 2006
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
-//     Stefan Bund <stefan.bund@fokus.fraunhofer.de>
+// 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
 // it under the terms of the GNU General Public License as published by
@@ -36,7 +36,6 @@
 #include "../../../Socket/FramingPolicy.hh"
 #include "../../../Socket/CommunicationPolicy.hh"
 #include "../../../Socket/ReadWritePolicy.hh"
-#include "../../../Socket/BufferingPolicy.hh"
 #include "../../../Socket/Protocols/BSDSocketProtocol.hh"
 #include "LLAddressing.hh"
 
@@ -52,10 +51,9 @@ namespace senf {
     typedef MakeSocketPolicy<
         NoAddressingPolicy,
         DatagramFramingPolicy,
-        UnconnectedCommunicationPolicy,
+        ConnectedCommunicationPolicy,
         ReadablePolicy,
-        WriteablePolicy,
-        SocketBufferingPolicy
+        WriteablePolicy
         >::policy Tap_Policy;        ///< Policy for TAP
 
     /** \brief TAP
@@ -75,9 +73,8 @@ namespace senf {
         Socket Handle typedefs above.
      */
     class TapProtocol
-        : public ConcreteSocketProtocol<Tap_Policy>,
-          public BSDSocketProtocol,
-          public senf::pool_alloc_mixin<TapProtocol>
+        : public ConcreteSocketProtocol<Tap_Policy,TapProtocol>,
+          public BSDSocketProtocol
     {
     public:
         ///\name Constructors
@@ -101,7 +98,6 @@ namespace senf {
         ///\name Abstract Interface Implementation
         ///@{
 
-        std::auto_ptr<SocketProtocol> clone() const;
         unsigned available() const;
         bool eof() const;