add optional 'limit' argument to read
[senf.git] / Socket / FileHandle.hh
index 1f29b89..febfa01 100644 (file)
 // Free Software Foundation, Inc.,
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
+/** \mainpage The SENF Socket Library
+
+\section arch Overall Architecture
+
+\image html "../../SocketLibrary-classes.png" Class Diagram
+
+ */
+
 #ifndef HH_FileHandle_
 #define HH_FileHandle_ 1
 
 // Custom includes
 #include <memory> // std::auto_ptr
+#include "Utils/SafeBool.hh"
 
 //#include "FileHandle.mpp"
 ///////////////////////////////hh.p////////////////////////////////////////
@@ -36,6 +45,7 @@ namespace lib {
     /** \brief
      */
     class FileHandle
+       : public SafeBool<FileHandle>
     {
     public:
         ///////////////////////////////////////////////////////////////////////////
@@ -69,8 +79,7 @@ namespace lib {
         bool eof() const;
         bool valid() const;
 
-        operator bool () const;
-        bool operator!() const;
+       bool boolean_test() const;
 
         int fd() const;
 
@@ -91,6 +100,8 @@ namespace lib {
         FileBody::ptr body_;
     };
 
+    int retrieve_filehandle(FileHandle handle);
+
 }}
 
 ///////////////////////////////hh.e////////////////////////////////////////