4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
6 // The contents of this file are subject to the Fraunhofer FOKUS Public License
7 // Version 1.0 (the "License"); you may not use this file except in compliance
8 // with the License. You may obtain a copy of the License at
9 // http://senf.berlios.de/license.html
11 // The Fraunhofer FOKUS Public License Version 1.0 is based on,
12 // but modifies the Mozilla Public License Version 1.1.
13 // See the full license text for the amendments.
15 // Software distributed under the License is distributed on an "AS IS" basis,
16 // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
17 // for the specific language governing rights and limitations under the License.
19 // The Original Code is Fraunhofer FOKUS code.
21 // The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V.
22 // (registered association), Hansastraße 27 c, 80686 Munich, Germany.
23 // All Rights Reserved.
26 // Stefan Bund <g0dil@berlios.de>
29 \brief SocketHandle non-inline non-template implementation
32 #include "SocketHandle.hh"
33 #include "SocketHandle.ih"
37 #include <senf/Utils/TypeInfo.hh>
39 //#include "SocketHandle.mpp"
41 //-/////////////////////////////////////////////////////////////////////////////////////////////////
43 //-/////////////////////////////////////////////////////////////////////////////////////////////////
46 prefix_ void senf::SocketBody::state(SocketStateMap & map, unsigned lod)
48 map["file.handle"] << fd();
49 map["file.refcount"] << refcount();
50 map["socket.server"] << isServer();
51 map["socket.protocol"] << v_protocolName();
52 map["socket.protocol.policy"] << prettyName(typeid(protocol().policy()));
53 protocol().state(map,lod);
56 prefix_ void senf::SocketBody::v_close()
61 prefix_ void senf::SocketBody::v_terminate()
63 protocol().terminate();
66 prefix_ bool senf::SocketBody::v_eof()
69 return protocol().eof();
72 //-/////////////////////////////////////////////////////////////////////////////////////////////////
73 // senf::detail::StateMapOrdering
75 prefix_ std::string senf::detail::dumpState(SocketStateMap const & map)
78 SocketStateMap::const_iterator i (map.begin());
79 SocketStateMap::const_iterator i_end (map.end());
80 for (; i != i_end; ++i)
81 s << i->first << ": " << i->second << "\n";
85 //-/////////////////////////////////////////////////////////////////////////////////////////////////
87 //#include "SocketHandle.mpp"
93 // c-file-style: "senf"
94 // indent-tabs-mode: nil
95 // ispell-local-dictionary: "american"
96 // compile-command: "scons -u test"