X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FFileHandle.hh;h=8afbd486fb1af09a0b2ded49a62998cc75b3caf8;hb=1ad3873b372da6187b1fbc645bf276287d2efb54;hp=86cb10f65e460782678fd2e3d19693e3ac17a4e9;hpb=8421c3a8da7485cb8781045494ecaab3ed84f403;p=senf.git diff --git a/Socket/FileHandle.hh b/Socket/FileHandle.hh index 86cb10f..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 @@ -209,4 +225,6 @@ namespace senf { // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: