c62ccb4af6bb090e3f654c0137efc43a4025cf74
[senf.git] / Socket / SocketHandle.cci
1 // $Id$
2 //
3 // Copyright (C) 2006 
4 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
5 // Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
6 //     Stefan Bund <stefan.bund@fokus.fraunhofer.de>
7 //
8 // This program is free software; you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 2 of the License, or
11 // (at your option) any later version.
12 //
13 // This program is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the
20 // Free Software Foundation, Inc.,
21 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22
23 /** \file
24     \brief SocketHandle inline non-template implementation
25  */
26
27 #include "SocketHandle.ih"
28
29 // Custom includes
30 #include "Utils/Exception.hh"
31 #include "SocketProtocol.hh"
32
33 #define prefix_ inline
34 ///////////////////////////////cci.p///////////////////////////////////////
35
36 prefix_ senf::SocketBody::SocketBody(std::auto_ptr<SocketProtocol> protocol,
37                                             bool isServer)
38     : protocol_(protocol), isServer_(isServer)
39 {
40     BOOST_ASSERT( ! protocol_->body_ );
41     protocol_->body_ = this;
42 }
43
44 prefix_ senf::SocketBody::SocketBody(std::auto_ptr<SocketProtocol> protocol,
45                                             bool isServer, int fd)
46     : FileBody(fd), protocol_(protocol), isServer_(isServer)
47 {
48     BOOST_ASSERT( ! protocol_->body_ );
49     protocol_->body_ = this;
50 }
51
52 prefix_ senf::SocketProtocol const & senf::SocketBody::protocol()
53     const
54 {
55     return *protocol_;
56 }
57
58 prefix_ bool senf::SocketBody::isServer()
59 {
60     return isServer_;
61 }
62
63 ///////////////////////////////////////////////////////////////////////////
64 // senf::detail::ConvertibleString
65
66 prefix_ senf::detail::ConvertibleString::ConvertibleString()
67 {}
68
69 prefix_ senf::detail::ConvertibleString::ConvertibleString(bool v)
70     : std::string(v ? "true" : "false")
71 {}
72
73 ///////////////////////////////cci.e///////////////////////////////////////
74 #undef prefix_
75
76 \f
77 // Local Variables:
78 // mode: c++
79 // c-file-style: "senf"
80 // End: