X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocolServerSocketHandle.hh;h=57d980e05657bda136366db87e1a551443a8801a;hb=fd3a0e8ac95d1158e9ea661ddf9187b67c70169f;hp=a60c6c12aa787f375e0e87531392752664904640;hpb=aec1302f91b51edb58f8a97985ab2e0aa9c8db66;p=senf.git diff --git a/Socket/ProtocolServerSocketHandle.hh b/Socket/ProtocolServerSocketHandle.hh index a60c6c1..57d980e 100644 --- a/Socket/ProtocolServerSocketHandle.hh +++ b/Socket/ProtocolServerSocketHandle.hh @@ -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 @@ -21,44 +21,46 @@ // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** \file - \brief senf::ProtocolServerSocketHandle public header + \brief ProtocolServerSocketHandle public header */ -#ifndef HH_ProtocolServerSocketHandle_ -#define HH_ProtocolServerSocketHandle_ 1 +#ifndef HH_SENF_Socket_ProtocolServerSocketHandle_ +#define HH_SENF_Socket_ProtocolServerSocketHandle_ 1 // Custom includes #include "ServerSocketHandle.hh" +#include "../config.hh" +#include "../Utils/Tags.hh" #include "ProtocolServerSocketHandle.mpp" ///////////////////////////////hh.p//////////////////////////////////////// namespace senf { - + /// \addtogroup handle_group /// @{ - + template class ProtocolClientSocketHandle; /** \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 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 \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. + 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). + A ProtocolServerSocketHandle is only meaningful for connection oriented addressable + protocols (CommunicationPolicy is ConnectedCommunicationPolicy and AddressingPolicy is not + NoAddressingPolicy). - \see \ref protocol_group + \see \ref protocol_group */ template class ProtocolServerSocketHandle @@ -74,29 +76,39 @@ namespace senf { ///\name Structors and default members ///@{ - /** \brief Create new server socket + /** \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. + */ - 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)) +# define BOOST_PP_ITERATION_PARAMS_1 (4, (1, 9, SENF_ABSOLUTE_INCLUDE_PATH(Socket/ProtocolServerSocketHandle.mpp), 1)) # include BOOST_PP_ITERATE() + /** \brief Create uninitialized socket variable + + This special constructor is called when passing + ProtocolServerSocketHandle::Uninitialized as only argument to the constructor. This will + create an in-\ref valid() socket handle which can however be assigned later with another + socket instance. + + \implementation The socket handle will have no \c body allocated. + */ + ProtocolServerSocketHandle(senf::NoInit_t); ///@} /////////////////////////////////////////////////////////////////////////// - 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 */ + Protocol & 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(); @@ -125,6 +137,10 @@ namespace senf { // Local Variables: // mode: c++ -// c-file-style: "senf" // fill-column: 100 +// c-file-style: "senf" +// indent-tabs-mode: nil +// ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: