Fixed whitespace in all files (no tabs)
[senf.git] / Socket / FileHandle.hh
index a0b2de5..2f6b09f 100644 (file)
@@ -1,6 +1,6 @@
 // $Id$
 //
-// Copyright (C) 2006 
+// Copyright (C) 2006
 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
 // Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
 //     Stefan Bund <stefan.bund@fokus.fraunhofer.de>
@@ -20,7 +20,7 @@
 // Free Software Foundation, Inc.,
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
-/** \file 
+/** \file
     \brief FileHandle public header
  */
 
@@ -42,7 +42,7 @@
     only classes, which may be created by the library user. You will
     normally use these classes by naming a specific socket typedef
     (e.g. senf::TCPv4ClientSocketHandle).
-    
+
     However, to aid writing flexible and generic code, the socket
     library provides the senf::ClientSocketHandle and
     senf::ServerSocketHandle class templates. These templates
 #include "FileHandle.ih"
 
 namespace senf {
-    
+
     /// \addtogroup handle_group
     /// @{
-    
+
     /** \brief Basic file handle wrapper
 
-       senf::FileHandle provides a simple wrapper for arbitrary file handles. It exposes only a
-       minimal interface which does \e not include reading or writing (since some filehandles are
-       not readable or writable or only using special function calls like sendto).
-       
-       The FileHandle class provides handle/body handling and uses automatic reference
-       counting. The senf::FileHandle istance is very lightweight and should be used like a
-       built-in type.
-
-       \attention You should mostly pass around senf::FileHandle objects by \e value und not by
-       reference.
-
-       The FileHandle abstraction is only applicable to real filehandles. It is \e not possible to
-       wrap any provider or consumer into a filehandle like interface using this wrapper. The
-       wrapper will forward some calls directly to the underlying API without relying on virtual
-       methods. This allows important members to be inlined.
-
-       It is not possible to use the senf::FileHandle class directly since it does not have any
-       public constructor. The FileHandle class is however the baseclass of all handle classes of
-       the socket library.
-
-       \section filehandle_new Writing senf::FileHandle derived classes
-
-       To build a new FileHandle type you need to derive from senf::FileHandle. The derived class
-       will have to call the protocted FileHandle constructor passing a new senf::FileBody
-       instance. This instance may either be a simple senf::FileBody or a class derived from
-       senf::FileBody.
-       
-       \todo Add public default constructor to allow declaration of (empty) senf::FileHandle
-       variables.
+        senf::FileHandle provides a simple wrapper for arbitrary file handles. It exposes only a
+        minimal interface which does \e not include reading or writing (since some filehandles are
+        not readable or writable or only using special function calls like sendto).
+
+        The FileHandle class provides handle/body handling and uses automatic reference
+        counting. The senf::FileHandle istance is very lightweight and should be used like a
+        built-in type.
+
+        \attention You should mostly pass around senf::FileHandle objects by \e value und not by
+        reference.
+
+        The FileHandle abstraction is only applicable to real filehandles. It is \e not possible to
+        wrap any provider or consumer into a filehandle like interface using this wrapper. The
+        wrapper will forward some calls directly to the underlying API without relying on virtual
+        methods. This allows important members to be inlined.
+
+        It is not possible to use the senf::FileHandle class directly since it does not have any
+        public constructor. The FileHandle class is however the baseclass of all handle classes of
+        the socket library.
+
+        \section filehandle_new Writing senf::FileHandle derived classes
+
+        To build a new FileHandle type you need to derive from senf::FileHandle. The derived class
+        will have to call the protocted FileHandle constructor passing a new senf::FileBody
+        instance. This instance may either be a simple senf::FileBody or a class derived from
+        senf::FileBody.
+
+        \todo Add public default constructor to allow declaration of (empty) senf::FileHandle
+        variables.
      */
     class FileHandle
-       : public SafeBool<FileHandle>
+        : public SafeBool<FileHandle>
     {
     public:
         ///////////////////////////////////////////////////////////////////////////
@@ -134,39 +134,39 @@ namespace senf {
         ///////////////////////////////////////////////////////////////////////////
 
         void close();                ///< Close filehandle
-                                    /**< \throws senf::SystemException */
+                                     /**< \throws senf::SystemException */
         void terminate();            ///< Close filehandle ignoring error conditions
 
         bool readable() const;       ///< Check, wether a read on the handle would not block
-                                    ///< (ignoring blocking state)
+                                     ///< (ignoring blocking state)
         void waitReadable() const;   ///< Wait, until read on the handle would not block (ignoring
-                                    ///< blocking state)
+                                     ///< blocking state)
         bool writeable() const;      ///< Check, wether a write on the handle would not block
-                                    ///< (ignoring blocking state)
+                                     ///< (ignoring blocking state)
         void waitWriteable() const;  ///< Wait, until a write on the handle would not block
-                                    ///< (ignoring blocking state)
+                                     ///< (ignoring blocking state)
 
         bool blocking() const;       ///< Return current blocking state
         void blocking(bool status);  ///< Set blocking state
 
         bool eof() const;            ///< Check EOF condition
-                                    /**< Depending on the socket type, this might never return \p
-                                       true.
-                                       
-                                       This member is somewhat problematic performance wise if
-                                       called frequently since it relies on virtual
-                                       functions. However, since the eof() handling is extremely
-                                       protocol dependent, a policy based implementation does not
-                                       seam feasible. */
+                                     /**< Depending on the socket type, this might never return \p
+                                        true.
+
+                                        This member is somewhat problematic performance wise if
+                                        called frequently since it relies on virtual
+                                        functions. However, since the eof() handling is extremely
+                                        protocol dependent, a policy based implementation does not
+                                        seam feasible. */
         bool valid() const;          ///< Check filehandle validity
-                                    /**< Any operation besides valid() will fail on an invalid
-                                       FileHandle */
+                                     /**< Any operation besides valid() will fail on an invalid
+                                        FileHandle */
 
-       bool boolean_test() const;  ///< Short for valid() && ! eof()
-                                   /**< This is called when using a FileHandle instance in a boolen
-                                      context 
+        bool boolean_test() const;  ///< Short for valid() && ! eof()
+                                    /**< This is called when using a FileHandle instance in a boolen
+                                       context
 
-                                      See the performance comments for the eof() member */
+                                       See the performance comments for the eof() member */
 
         int fd() const;             ///< Return the raw FileHandle
 
@@ -175,31 +175,31 @@ namespace senf {
 
     protected:
         explicit FileHandle(std::auto_ptr<FileBody> body);
-                                   ///< create new FileHandle instance
-                                   /**< The FileHandle instance will take over ownership over the
-                                      given FileBody instance which must have been allocated using
-                                      \c new. To configure the FileHandle behavior, A derived class
-                                      may provide any class derived from FileBody here. */
+                                    ///< create new FileHandle instance
+                                    /**< The FileHandle instance will take over ownership over the
+                                       given FileBody instance which must have been allocated using
+                                       \c new. To configure the FileHandle behavior, A derived class
+                                       may provide any class derived from FileBody here. */
 
         FileBody & body();          ///< Access body
         FileBody const & body() const; ///< Access body in const context
         static FileBody & body(FileHandle & handle); ///< Access body of another FileHandle instance
         static FileBody const & body(FileHandle const & handle); ///< Access body of another
-                                   ///< FileHandle instance in const context  
+                                    ///< FileHandle instance in const context
 
-        void fd(int fd);           ///< Set raw filehandle
+        void fd(int fd);            ///< Set raw filehandle
 
     private:
         FileBody::ptr body_;
     };
 
     /** \brief Adapt FileHandle to senf::Scheduler
-       \related senf::FileHandle
+        \related senf::FileHandle
 
-       \internal
+        \internal
 
-       This function will be called by the Scheduler to retrieve the file descriptor of the
-       FileHandle.
+        This function will be called by the Scheduler to retrieve the file descriptor of the
+        FileHandle.
      */
     int retrieve_filehandle(FileHandle handle);
 
@@ -216,6 +216,8 @@ namespace senf {
 \f
 // Local Variables:
 // mode: c++
-// c-file-style: "senf"
 // fill-column: 100
+// c-file-style: "senf"
+// indent-tabs-mode: nil
+// ispell-local-dictionary: "american"
 // End: