Socket/Protocols/INet: Extend INet6SocketAddress syntax to support more flexible...
[senf.git] / Socket / SocketHandle.hh
index d1b4250..867d0aa 100644 (file)
@@ -127,7 +127,7 @@ namespace senf {
 
                                              \param map string to string mapping to be filled with
                                                  state information
-                                             \param lod level of detail requested. The
+                                             \param lod level of %detail requested. The
                                                  interpretation of this value is protocol specific
 
                                              \implementation This member will be re-implemented in
@@ -140,13 +140,23 @@ namespace senf {
                                         /**< Formats the complete state map value and returns it as
                                              a single multi-line string.
 
-                                             \param lod level of detail requested. The
+                                             \param lod level of %detail requested. The
                                                 interpretation of this value is protocol specific
                                              
                                              \implementation This member will be re-implemented in
                                                  every derived class. See the state()
                                                  documentation. */
 
+        template <class Facet>
+        Facet const & facet();          ///< Access a protocol facet
+                                        /**< This member will try to access the given protocol facet
+                                             of the socket. If \a Facet is a valid facet of the
+                                             protocol, it is returned, otherwise \c std::bad_cast
+                                             will be thrown.
+                                             \throws std::bad_cast if \a Facet is not a protocol
+                                                 facet of this socket
+                                             \returns the \a Facet protocol facet of this socket */
+
     protected:
         explicit SocketHandle(std::auto_ptr<SocketBody> body);
                                         ///< Initialize SocketHandle providing the protocol