// $Id$
//
-// Copyright (C) 2006
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
-// Stefan Bund <stefan.bund@fokus.fraunhofer.de>
+// Copyright (C) 2006
+// 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
// Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-// Definition of inline non-template functions
+/** \file
+ \brief SocketHandle inline non-template implementation
+ */
#include "SocketHandle.ih"
// Custom includes
-#include "Utils/Exception.hh"
+#include "../Utils/senfassert.hh"
+#include "../Utils/Exception.hh"
#include "SocketProtocol.hh"
#define prefix_ inline
///////////////////////////////cci.p///////////////////////////////////////
-prefix_ satcom::lib::SocketBody::SocketBody(std::auto_ptr<SocketProtocol> protocol,
- bool isServer)
- : protocol_(protocol), isServer_(isServer)
+prefix_ senf::SocketBody::SocketBody(bool isServer)
+ : isServer_(isServer)
+{}
+
+prefix_ senf::SocketBody::SocketBody(bool isServer, int fd)
+ : FileBody(fd), isServer_(isServer)
+{}
+
+prefix_ senf::SocketProtocol & senf::SocketBody::protocol()
+{
+ return const_cast<SocketProtocol &>(v_protocol());
+}
+
+prefix_ senf::SocketProtocol const & senf::SocketBody::protocol()
+ const
{
- BOOST_ASSERT( ! protocol_->body_ );
- protocol_->body_ = this;
+ return v_protocol();
}
-prefix_ satcom::lib::SocketBody::SocketBody(std::auto_ptr<SocketProtocol> protocol,
- bool isServer, int fd)
- : FileBody(fd), protocol_(protocol), isServer_(isServer)
+prefix_ bool senf::SocketBody::isServer()
{
- BOOST_ASSERT( ! protocol_->body_ );
- protocol_->body_ = this;
+ return isServer_;
}
-prefix_ satcom::lib::SocketProtocol const & satcom::lib::SocketBody::protocol()
+prefix_ std::auto_ptr<senf::SocketBody> senf::SocketBody::clone(bool isServer)
const
{
- return *protocol_;
+ return protocol().clone(isServer);
}
-prefix_ bool satcom::lib::SocketBody::isServer()
+prefix_ std::auto_ptr<senf::SocketBody> senf::SocketBody::clone(int fd, bool isServer)
+ const
{
- return isServer_;
+ return protocol().clone(fd, isServer);
}
///////////////////////////////////////////////////////////////////////////
-// satcom::lib::detail::ConvertibleString
-
-prefix_ satcom::lib::detail::ConvertibleString::ConvertibleString()
-{}
+// senf::detail::StreamableString
-prefix_ satcom::lib::detail::ConvertibleString::ConvertibleString(bool v)
- : std::string(v ? "true" : "false")
-{}
+prefix_ senf::detail::StreamableString & senf::detail::StreamableString::operator<<(bool v)
+{
+ return (*this) << std::string(v ? "true" : "false");
+}
///////////////////////////////cci.e///////////////////////////////////////
#undef prefix_
\f
// Local Variables:
// mode: c++
-// c-file-style: "satcom"
+// fill-column: 100
+// c-file-style: "senf"
+// indent-tabs-mode: nil
+// ispell-local-dictionary: "american"
+// compile-command: "scons -u test"
+// comment-column: 40
// End: