// $Id:ServerSocketHandle.hh 218 2007-03-20 14:39:32Z tho $
//
// Copyright (C) 2006
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
-// Stefan Bund <stefan.bund@fokus.fraunhofer.de>
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
+// Stefan Bund <g0dil@berlios.de>
//
// 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
/// \addtogroup handle_group
/// @{
- template <class Policy> class ClientSocketHandle;
+ template <class SPolicy> class ClientSocketHandle;
/** \brief Generic SocketHandle with server interface
classes. You can also find a summary of all members available in the leaf protocol class
documentation.
*/
- template <class Policy>
+ template <class SPolicy>
class ServerSocketHandle
- : public SocketHandle<Policy>
+ : public SocketHandle<SPolicy>
{
public:
///////////////////////////////////////////////////////////////////////////
// Types
/// Address type from the addressing policy
- typedef typename Policy::AddressingPolicy::Address Address;
+ typedef typename SPolicy::AddressingPolicy::Address Address;
/// 'Best' type for passing address as parameter
/** Depending on the type of \c Address, this will be either <tt>Address</tt> or <tt>Address
const &</tt>. See <a
*/
typedef typename boost::call_traits<Address>::param_type AddressParam;
/// Corresponding client socket handle with the same policy
- typedef ClientSocketHandle<Policy> ClientSocketHandle;
+ typedef ClientSocketHandle<SPolicy> ClientSocketHandle;
///////////////////////////////////////////////////////////////////////////
///\name Structors and default members
// conversion constructors
template <class OtherPolicy>
ServerSocketHandle(ServerSocketHandle<OtherPolicy> other,
- typename SocketHandle<Policy>::template IsCompatible<OtherPolicy>::type * = 0);
+ typename SocketHandle<SPolicy>::template IsCompatible<OtherPolicy>::type * = 0);
template <class OtherPolicy>
- typename SocketHandle<Policy>::template IsCompatible<OtherPolicy>::type const &
+ typename SocketHandle<SPolicy>::template IsCompatible<OtherPolicy>::type const &
operator=(ServerSocketHandle<OtherPolicy> other);
///@}
This variant ...
\returns handle of new client connection
-
- \fixme Make this accept()-variant work with unspecified addressing policy
*/
ClientSocketHandle
accept ();
protected:
ServerSocketHandle(FileHandle other, bool isChecked);
- explicit ServerSocketHandle(std::auto_ptr<SocketProtocol> protocol);
+ explicit ServerSocketHandle(std::auto_ptr<SocketBody> body);
private: