X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FUN%2FUNAddressing.hh;h=eccb8d3578d9dd71c04cd5cb60896093bee1949e;hb=3863d46dd898b7bc35ea8c6ccd8563b18762a6b6;hp=c3d56bb14b1909b2cff24dc70878a910baf08032;hpb=c7a635681a11cfa870626e3a5af8de150a6dc826;p=senf.git diff --git a/Socket/Protocols/UN/UNAddressing.hh b/Socket/Protocols/UN/UNAddressing.hh index c3d56bb..eccb8d3 100644 --- a/Socket/Protocols/UN/UNAddressing.hh +++ b/Socket/Protocols/UN/UNAddressing.hh @@ -23,16 +23,16 @@ /** \file \brief UNAddressing public header */ -#ifndef HH_UNAddressing_ -#define HH_UNAddressing_ 1 +#ifndef HH_SENF_Socket_Protocols_UN_UNAddressing_ +#define HH_SENF_Socket_Protocols_UN_UNAddressing_ 1 // Custom includes #include #include #include #include -#include "../../../Socket/Protocols/GenericAddressingPolicy.hh" -#include "../../../Utils/safe_bool.hh" +#include "../BSDAddressingPolicy.hh" +#include "../BSDSocketAddress.hh" //#include "UNAddressing.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -49,25 +49,24 @@ namespace senf { \ingroup addr_group */ class UNSocketAddress - : public comparable_safe_bool + : public BSDSocketAddress { public: + static short const addressFamily = AF_UNIX; + UNSocketAddress(); + explicit UNSocketAddress(std::string const & path); ///< Construct an address constant from given path - bool operator==(UNSocketAddress const & other) const; - ///< Compare UNSocketAddress for equality + UNSocketAddress(const UNSocketAddress& other); + UNSocketAddress& operator=(const UNSocketAddress& other); std::string path() const ; ///< Return path as string + void path(std::string const & path); - bool boolean_test() const; ///< \c true, if address is not empty - - void clear(); ///< Clear address - - struct sockaddr * sockaddr_p() ; - struct sockaddr const * sockaddr_p() const; - unsigned sockaddr_len() const; + using BSDSocketAddress::sockaddr_p; + using BSDSocketAddress::socklen_p; private: struct sockaddr_un addr_; @@ -91,26 +90,26 @@ namespace senf { addresses. The various members are directly imported from - GenericAddressingPolicy which see for a detailed + BSDAddressingPolicyMixin which see for a detailed documentation. */ struct UNAddressingPolicy - : public AddressingPolicyBase, - private GenericAddressingPolicy + : public BSDAddressingPolicy, + private BSDAddressingPolicyMixin { typedef UNSocketAddress Address; - using GenericAddressingPolicy::peer; - using GenericAddressingPolicy::local; - using GenericAddressingPolicy::connect; - using GenericAddressingPolicy::bind; + using BSDAddressingPolicyMixin::peer; + using BSDAddressingPolicyMixin::local; + using BSDAddressingPolicyMixin::connect; + using BSDAddressingPolicyMixin::bind; }; ///@} } ///////////////////////////////hh.e//////////////////////////////////////// -//#include "UNAddressing.cci" +#include "UNAddressing.cci" //#include "UNAddressing.ct" //#include "UNAddressing.cti" #endif