Add documentation on private data member naming convention
[senf.git] / Socket / Protocols / UN / UNAddress.hh
index 36d4ffc..1dfdeea 100644 (file)
@@ -1,6 +1,7 @@
-// $Id$
-//
 // Copyright (C) 2007 
+// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
+// Kompetenzzentrum NETwork research (NET)
+//     David Wagner <david.wagner@fokus.fraunhofer.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
 // Custom includes
 #include <string>
 #include <boost/operators.hpp>
-#include <boost/filesystem/path.hpp>
-#include "../../../Utils/SafeBool.hh"
+#include "../../../Utils/safe_bool.hh"
 
 //#include "UNAddress.mpp"
 ///////////////////////////////hh.p////////////////////////////////////////
 namespace senf {
+    /** \brief Unix domain address
+        
+        UNAddress represents a simple unix domain address which is given by a path to a socket. 
+        It is modelled as a boost::filesystem::path.
+
+        \ingroup addr_group
+      */
     class UNAddress 
-        : public boost::filesystem::path,
-          public ComparableSafeBool<UNAddress>
+        : public comparable_safe_bool<UNAddress>
     {   
     public: 
-        UNAddress(); 
-        explicit UNAddress(boost::filesystem::path);
-        static UNAddress fromString(std::string & s);
-        static UNAddress fromPath(boost::filesystem::path & p);
-        static std::string pathString();
-        struct AddressException : public std::exception {};
+        UNAddress(); ///< Construct an empty address
+        explicit UNAddress(std::string);///< Construct an address constant from given path
+        static UNAddress fromString(std::string & s); ///< Convert string to address by interpreting the string as path
+        UNAddress clone(); ///< Clone object 
+        std::string pathString() const; ///< Return the path of the address as string
+
+        /** \brief Base-class for UNAddress exceptions */
+        struct AddressException : public std::exception {}; 
+
     private:
-        static boost::filesystem::path path;
+        std::string path;
     };
-const std::ostream & operator<<(std::ostream & os, UNAddress const & addr);
 
+std::ostream & operator<<(std::ostream & os, UNAddress const & addr);
 }
 
 ///////////////////////////////hh.e////////////////////////////////////////