X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FUN%2FUNAddressing.hh;h=22e16712022e5b0e59c7ebc10a47a2e46531cf11;hb=1ad3873b372da6187b1fbc645bf276287d2efb54;hp=837adb79a5fd8c3b8090d481e09c9803cb3cd5c4;hpb=84ae60e20582a1c0b02f6d7475f46fa226c1239b;p=senf.git diff --git a/Socket/Protocols/UN/UNAddressing.hh b/Socket/Protocols/UN/UNAddressing.hh index 837adb7..22e1671 100644 --- a/Socket/Protocols/UN/UNAddressing.hh +++ b/Socket/Protocols/UN/UNAddressing.hh @@ -36,11 +36,12 @@ #include "../../../Socket/CommunicationPolicy.hh" #include "../../../Socket/Protocols/GenericAddressingPolicy.hh" #include "../../../Utils/safe_bool.hh" -#include "UNAddress.hh" //#include "UNAddressing.mpp" ///////////////////////////////hh.p//////////////////////////////////////// + namespace senf { + /** \brief Unix domain socket address UNSocketAddress wraps the standard sockaddr_un datatype. It provides simple accessor methods @@ -49,26 +50,37 @@ namespace senf { \implementation This implementation is based on sockaddr_un. \ingroup addr_group + + \fixme Why both std::string constructor and from_string member ? */ class UNSocketAddress : public comparable_safe_bool { public: - - //UNSocketAddress(); + UNSocketAddress(); explicit UNSocketAddress(std::string p); ///< Construct an address constant from given path - static UNSocketAddress from_string(std::string const s); ///< Create UNSocketAddress from string - std::string path() const ; ///< Return path as string - struct sockaddr_un sockaddr(); + static UNSocketAddress from_string(std::string const s); + ///< Create UNSocketAddress from string + + bool operator==(UNSocketAddress const & other) const; + ///< Compare UNSocketAddress for equality + + std::string path() const ; ///< Return path as string + + 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; + private: - struct sockaddr_un sockAddr; + struct sockaddr_un addr_; }; - /** \brief Write path os + /** \brief Write path to os \related UNSocketAddress */ @@ -100,7 +112,10 @@ namespace senf { using GenericAddressingPolicy::connect; using GenericAddressingPolicy::bind; }; + + ///@} } + ///////////////////////////////hh.e//////////////////////////////////////// //#include "UNAddressing.cci" //#include "UNAddressing.ct"