X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FFileHandle.hh;h=8afbd486fb1af09a0b2ded49a62998cc75b3caf8;hb=1ad3873b372da6187b1fbc645bf276287d2efb54;hp=bc15651712ebff43363567865dcb2cca145036b4;hpb=31d85cd6b8e03c5ecc924ca8892906be1bab702f;p=senf.git diff --git a/Socket/FileHandle.hh b/Socket/FileHandle.hh index bc15651..8afbd48 100644 --- a/Socket/FileHandle.hh +++ b/Socket/FileHandle.hh @@ -26,7 +26,19 @@ /** \defgroup handle_group The Handle Hierarchy - \image html FhHierarchy.png + \htmlonly + + FileHandle + SocketHandle + ClientSocketHandle + ServerSocketHandle + ProtocolServerSocketHandle + ProtocolClientSocketHandle + +
+ FhHierarchy +
+ \endhtmlonly The senf::FileHandle class is the base of a hierarchy of socket handle classes (realized as templates). These classes provide an interface to the complete socket API. While going down the @@ -59,7 +71,7 @@ // Custom includes #include // std::auto_ptr -#include "Utils/SafeBool.hh" +#include "../Utils/safe_bool.hh" //#include "FileHandle.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -100,7 +112,7 @@ namespace senf { senf::FileBody. */ class FileHandle - : public SafeBool + : public safe_bool { public: /////////////////////////////////////////////////////////////////////////// @@ -170,6 +182,8 @@ namespace senf { \c new. To configure the FileHandle behavior, A derived class may provide any class derived from FileBody here. */ + explicit FileHandle(FileBody::ptr body); + FileBody & body(); ///< Access body FileBody const & body() const; ///< Access body in const context static FileBody & body(FileHandle & handle); ///< Access body of another FileHandle instance @@ -180,6 +194,8 @@ namespace senf { private: FileBody::ptr body_; + + friend class FileBody; }; /** \brief Adapt FileHandle to senf::Scheduler @@ -210,4 +226,5 @@ namespace senf { // indent-tabs-mode: nil // ispell-local-dictionary: "american" // compile-command: "scons -u test" +// comment-column: 40 // End: