Socket: Move protocol into the socket body (as private base class) and allow non...
[senf.git] / Socket / ProtocolServerSocketHandle.cti
index 054ae50..e27a8e5 100644 (file)
@@ -29,6 +29,7 @@
 //#include "ProtocolServerSocketHandle.ih"
 
 // Custom includes
+#include "../Utils/senfassert.hh"
 #include "ProtocolClientSocketHandle.hh"
 
 #define prefix_ inline
 
 template <class SocketProtocol>
 prefix_ senf::ProtocolServerSocketHandle<SocketProtocol>::
-ProtocolServerSocketHandle(UninitializedType)
+ProtocolServerSocketHandle(senf::NoInit_t)
 {}
 
 template <class SocketProtocol>
 prefix_ senf::ProtocolServerSocketHandle<SocketProtocol>::ProtocolServerSocketHandle()
     : ServerSocketHandle<typename SocketProtocol::Policy>(
-        std::auto_ptr<senf::SocketProtocol>(new SocketProtocol()))
+        std::auto_ptr<senf::SocketBody>(new ProtocolSocketBody<SocketProtocol>(true)))
 {}
 
 #define BOOST_PP_ITERATION_PARAMS_1 (4, (1, 9, SENF_ABSOLUTE_INCLUDE_PATH(Socket/ProtocolServerSocketHandle.mpp), 2))
@@ -52,7 +53,7 @@ template <class SocketProtocol>
 prefix_ SocketProtocol const &
 senf::ProtocolServerSocketHandle<SocketProtocol>::protocol()
 {
-    BOOST_ASSERT( dynamic_cast<SocketProtocol const *>(&this->body().protocol()) );
+    SENF_ASSERT( dynamic_cast<SocketProtocol const *>(&this->body().protocol()) );
     // Need dynamic_cast here, since senf::SocketProtocol is a
     // virtual base
     return dynamic_cast<SocketProtocol const &>(this->body().protocol());