Socket: Move protocol into the socket body (as private base class) and allow non...
[senf.git] / Socket / SocketHandle.ct
index 6b66701..98ce100 100644 (file)
@@ -28,6 +28,7 @@
 
 // Custom includes
 #include <boost/lexical_cast.hpp>
+#include "../Utils/TypeInfo.hh"
 
 #define prefix_
 ///////////////////////////////ct.p////////////////////////////////////////
@@ -45,6 +46,23 @@ senf::detail::StreamableString::operator<<(T const & other)
     return *this;
 }
 
+///////////////////////////////////////////////////////////////////////////
+// senf::ProtocolSocketBody<SProtocol>
+
+template <class SProtocol>
+prefix_ senf::SocketProtocol const & senf::ProtocolSocketBody<SProtocol>::v_protocol()
+    const
+{
+    return *this;
+}
+
+template <class SProtocol>
+prefix_ std::string senf::ProtocolSocketBody<SProtocol>::v_protocolName()
+    const
+{
+    return senf::prettyName(typeid(SProtocol));
+}
+
 ///////////////////////////////ct.e////////////////////////////////////////
 #undef prefix_