X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FServerSocketHandle.cti;h=132625d789786bec3248d05e9fca5d9d5d2a2e29;hb=f2f5d59e83863f3b513950173baee1b6da2aee3c;hp=35299c65c522ced1b477354d599361d253e09292;hpb=d0006132bfcb3ab442cf66b600ed3fad36f1ac2c;p=senf.git diff --git a/Socket/ServerSocketHandle.cti b/Socket/ServerSocketHandle.cti index 35299c6..132625d 100644 --- a/Socket/ServerSocketHandle.cti +++ b/Socket/ServerSocketHandle.cti @@ -1,9 +1,9 @@ // $Id$ // -// Copyright (C) 2006 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) -// Stefan Bund +// Copyright (C) 2006 +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY +// Stefan Bund // // 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 @@ -34,24 +34,28 @@ #define prefix_ inline ///////////////////////////////cti.p/////////////////////////////////////// -template +template +prefix_ senf::ServerSocketHandle::ServerSocketHandle() +{} + +template template -prefix_ senf::ServerSocketHandle:: +prefix_ senf::ServerSocketHandle:: ServerSocketHandle(ServerSocketHandle other, - typename SocketHandle::template IsCompatible::type *) - : SocketHandle(other,true) + typename SocketHandle::template IsCompatible::type *) + : SocketHandle(other,true) {} -template -prefix_ senf::ServerSocketHandle:: -ServerSocketHandle(std::auto_ptr protocol) - : SocketHandle(protocol,true) +template +prefix_ senf::ServerSocketHandle:: +ServerSocketHandle(std::auto_ptr body) + : SocketHandle(body) {} -template +template template -prefix_ typename senf::SocketHandle::template IsCompatible::type const & -senf::ServerSocketHandle::operator=(ServerSocketHandle other) +prefix_ typename senf::SocketHandle::template IsCompatible::type const & +senf::ServerSocketHandle::operator=(ServerSocketHandle other) { assign(other); return *this; @@ -60,94 +64,94 @@ senf::ServerSocketHandle::operator=(ServerSocketHandle -prefix_ void senf::ServerSocketHandle::bind(AddressParam addr) +template +prefix_ void senf::ServerSocketHandle::bind(AddressParam addr) { - Policy::AddressingPolicy::bind(*this,addr); + SPolicy::AddressingPolicy::bind(*this,addr); } -template -prefix_ void senf::ServerSocketHandle::listen(unsigned backlog) +template +prefix_ void senf::ServerSocketHandle::listen(unsigned backlog) { - Policy::CommunicationPolicy::listen(*this,backlog); + SPolicy::CommunicationPolicy::listen(*this,backlog); } -template -prefix_ typename senf::ServerSocketHandle::Address -senf::ServerSocketHandle::local() +template +prefix_ typename senf::ServerSocketHandle::Address +senf::ServerSocketHandle::local() { - typename Policy::AddressingPolicy::Address addr; + typename SPolicy::AddressingPolicy::Address addr; this->local(addr); return addr; } -template -prefix_ void senf::ServerSocketHandle::local(Address & addr) +template +prefix_ void senf::ServerSocketHandle::local(Address & addr) { - Policy::AddressingPolicy::local(*this,addr); + SPolicy::AddressingPolicy::local(*this,addr); } -template -prefix_ typename senf::ServerSocketHandle::ClientSocketHandle -senf::ServerSocketHandle::accept() +template +prefix_ typename senf::ServerSocketHandle::ClientHandle +senf::ServerSocketHandle::accept() { - Address address; - return acceptfrom(address); + return ClientHandle(this->body().clone( + SPolicy::CommunicationPolicy::accept(*this), false)); } -template -prefix_ std::pair::ClientSocketHandle, - typename senf::ServerSocketHandle::Address> -senf::ServerSocketHandle::acceptfrom() +template +prefix_ std::pair::ClientHandle, + typename senf::ServerSocketHandle::Address> +senf::ServerSocketHandle::acceptfrom() { Address address; - ClientSocketHandle handle = accept(address); + ClientHandle handle = acceptfrom(address); return std::make_pair(handle,address); } -template -prefix_ typename senf::ServerSocketHandle::ClientSocketHandle -senf::ServerSocketHandle::acceptfrom(Address & addr) +template +prefix_ typename senf::ServerSocketHandle::ClientHandle +senf::ServerSocketHandle::acceptfrom(Address & addr) { - return ClientSocketHandle(this->protocol().clone(), - Policy::CommunicationPolicy::accept(*this,addr)); + return ClientHandle(this->body().clone( + SPolicy::CommunicationPolicy::accept(*this,addr), false)); } /////////////////////////////////////////////////////////////////////////// -template -prefix_ senf::ServerSocketHandle::ServerSocketHandle(FileHandle other, +template +prefix_ senf::ServerSocketHandle::ServerSocketHandle(FileHandle other, bool isChecked) - : SocketHandle(other, isChecked) + : SocketHandle(other, isChecked) {} -template -prefix_ senf::ServerSocketHandle -senf::ServerSocketHandle::cast_static(FileHandle handle) +template +prefix_ senf::ServerSocketHandle +senf::ServerSocketHandle::cast_static(FileHandle handle) { return ServerSocketHandle(handle,true); } -template -prefix_ senf::ServerSocketHandle -senf::ServerSocketHandle::cast_dynamic(FileHandle handle) +template +prefix_ senf::ServerSocketHandle +senf::ServerSocketHandle::cast_dynamic(FileHandle handle) { - SocketHandle h (SocketHandle::cast_dynamic(handle)); + SocketHandle h (SocketHandle::cast_dynamic(handle)); if (! static_cast(FileHandle::body(handle)).isServer()) throw std::bad_cast(); return cast_static(handle); } -template -prefix_ void senf::ServerSocketHandle::state(SocketStateMap & map, unsigned lod) +template +prefix_ void senf::ServerSocketHandle::state(SocketStateMap & map, unsigned lod) { map["handle"] = prettyName(typeid(*this)); this->body().state(map,lod); } -template -prefix_ std::string senf::ServerSocketHandle::dumpState(unsigned lod) +template +prefix_ std::string senf::ServerSocketHandle::dumpState(unsigned lod) { SocketStateMap map; state(map,lod); @@ -160,5 +164,10 @@ prefix_ std::string senf::ServerSocketHandle::dumpState(unsigned lod) // Local Variables: // mode: c++ +// fill-column: 100 // c-file-style: "senf" +// indent-tabs-mode: nil +// ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: