X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FClientSocketHandle.hh;h=92635f956927c221c820ce60de7bc32402d7d64d;hb=532240d72e09e19e57fac9bb55c2560b9c9e5b97;hp=6150e28ffc6f520b93e991945978a1665261f70a;hpb=5ed1fa1c42763aebad06c1e4ac8fc5a19e15519a;p=senf.git diff --git a/Socket/ClientSocketHandle.hh b/Socket/ClientSocketHandle.hh index 6150e28..92635f9 100644 --- a/Socket/ClientSocketHandle.hh +++ b/Socket/ClientSocketHandle.hh @@ -1,8 +1,8 @@ // $Id$ // // Copyright (C) 2006 -// Fraunhofer Institute for Open Communication Systems (FOKUS) -// Competence Center NETwork research (NET), St. Augustin, GERMANY +// 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 @@ -24,8 +24,8 @@ \brief ClientSocketHandle public header */ -#ifndef HH_ClientSocketHandle_ -#define HH_ClientSocketHandle_ 1 +#ifndef HH_SENF_Socket_ClientSocketHandle_ +#define HH_SENF_Socket_ClientSocketHandle_ 1 // Custom includes #include @@ -42,7 +42,7 @@ namespace senf { /// \addtogroup handle_group /// @{ - template class ServerSocketHandle; + template class ServerSocketHandle; /** \brief Generic SocketHandle with client interface @@ -85,16 +85,16 @@ namespace senf { \see \ref policy_group \n \ref protocol_group */ - template + template class ClientSocketHandle - : public SocketHandle + : public SocketHandle { 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 Address or Address const &. See ServerSocketHandle; + typedef ServerSocketHandle ServerHandle; /////////////////////////////////////////////////////////////////////////// ///\name Structors and default members @@ -124,18 +124,18 @@ namespace senf { # ifndef DOXYGEN template ClientSocketHandle(ClientSocketHandle other, - typename SocketHandle::template IsCompatible::type * = 0); + typename SocketHandle::template IsCompatible::type * = 0); # else ClientSocketHandle(ClientSocketHandle other); # endif # ifndef DOXYGEN template - typename SocketHandle::template IsCompatible::type const & + typename SocketHandle::template IsCompatible::type const & operator=(ClientSocketHandle other); # else template - OtherPolicy const & operator=(ClientSocketHandle other); + ClientSocketHandle const & operator=(ClientSocketHandle other); # endif ///@} @@ -374,18 +374,18 @@ namespace senf { \throws senf::SystemException */ - void connect (AddressParam addr); + void connect (AddressParam addr) const; /** \brief Set local address For addressable protocols (AddressingPolicy is not NoAddressingPolicy), bind() will set the local address of the socket. - \param[in] addr Local socket address to asign + \param[in] addr Local socket address to assign \throws senf::SystemException */ - void bind (AddressParam addr); + void bind (AddressParam addr) const; /** \brief Query remote address @@ -398,8 +398,8 @@ namespace senf { \throws senf::SystemException */ - Address peer (); - void peer (Address & addr); + Address peer () const; + void peer (Address & addr) const; ///< Query remote address /**< \see \ref peer() */ @@ -413,8 +413,8 @@ namespace senf { \throws senf::SystemException */ - Address local (); - void local (Address & addr); + Address local () const; + void local (Address & addr) const; ///< Query local address /**< \see \ref local() */ @@ -427,15 +427,14 @@ namespace senf { void state(SocketStateMap & map, unsigned lod=0); std::string dumpState(unsigned lod=0); + unsigned available(); + protected: ClientSocketHandle(FileHandle other, bool isChecked); - explicit ClientSocketHandle(std::auto_ptr protocol, - int fd = -1); + explicit ClientSocketHandle(std::auto_ptr body); private: - unsigned available(); - - friend class senf::ServerSocketHandle; + friend class senf::ServerSocketHandle; }; /// @}