X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocolServerSocketHandle.hh;h=c4bc01ace05e8a49cc8c65a22e2e2b1f377dd8fc;hb=9a988902090d28007578e93bffd809f6bd913155;hp=002e2097006d64e524ad3f6146d01f3a5a23a9a2;hpb=494e197e719a49fba726d90f668c2d96c02c744b;p=senf.git diff --git a/Socket/ProtocolServerSocketHandle.hh b/Socket/ProtocolServerSocketHandle.hh index 002e209..c4bc01a 100644 --- a/Socket/ProtocolServerSocketHandle.hh +++ b/Socket/ProtocolServerSocketHandle.hh @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2006 +// Copyright (C) 2006 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) // Kompetenzzentrum fuer Satelitenkommunikation (SatCom) // Stefan Bund @@ -20,6 +20,10 @@ // Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +/** \file + \brief ProtocolServerSocketHandle public header + */ + #ifndef HH_ProtocolServerSocketHandle_ #define HH_ProtocolServerSocketHandle_ 1 @@ -30,13 +34,31 @@ ///////////////////////////////hh.p//////////////////////////////////////// namespace senf { - + /// \addtogroup handle_group /// @{ - + template class ProtocolClientSocketHandle; - /** \brief + /** \brief Protocol specific socket handle (server interface) + + The ProtocolServerSocketHandle is the server interface leaf class of the handle + hierarchy. This is the class to instantiate to open a new socket. This is also the \e only + class, which can be used to open a server socket. + + The \a Protocol template argument defines the protocol of the socket. This protocol provides + the protocol interface of the socket as well as the complete socket policy of this protocol. + + The ProtocolServerSocketHandle adds the protocol interface as an additional interface to the + socket handle. This interface is only accessible via the protocol class. All socket + functionality not available through the policy interface (see ServerSocketHandle) is + accessible via the protocol() member. + + A ProtocolServerSocketHandle is only meaningful for connection oriented addressable + protocols (CommunicationPolicy is ConnectedCommunicationPolicy and AddressingPolicy is not + NoAddressingPolicy). + + \see \ref protocol_group */ template class ProtocolServerSocketHandle @@ -46,12 +68,22 @@ namespace senf { /////////////////////////////////////////////////////////////////////////// // Types - typedef SocketProtocol Protocol; + typedef SocketProtocol Protocol; ///< The socket protocol /////////////////////////////////////////////////////////////////////////// ///\name Structors and default members ///@{ + /** \brief Create new server socket + + This constructor is one of the possible constructors. The exact Signature of the + constructor (or constructors) is defined by the \c init_server() member (or members) of + the \a Protocol class. ProtocolClientSocketHandle defines a number of constructors + taking up to 9 arguments which just forward to a corresponding \a Protocol\c + ::init_server() member. See the documentation of the respective Protocol class for a + detailed documentation of that protocols constructors. + */ + ProtocolServerSocketHandle(); # define BOOST_PP_ITERATION_PARAMS_1 (4, (1, 9, "Socket/ProtocolServerSocketHandle.mpp", 1)) @@ -60,7 +92,11 @@ namespace senf { ///@} /////////////////////////////////////////////////////////////////////////// - Protocol const & protocol(); + Protocol const & protocol(); ///< Access the protocol interface + /**< The returned protocol class reference gives access to + the complete protocol interface as defined by that + class. See the respective protocol class documentation. + \returns \a Protocol class reference */ ProtocolClientSocketHandle accept(); @@ -89,5 +125,8 @@ namespace senf { // Local Variables: // mode: c++ +// fill-column: 100 // c-file-style: "senf" +// indent-tabs-mode: nil +// ispell-local-dictionary: "american" // End: