48 #ifndef HH_SENF_Socket_FileHandle_ 49 #define HH_SENF_Socket_FileHandle_ 1 52 #include <senf/Utils/Cpp11Support/smart_ptr.hh> 64 class FileHandleAccess
67 static void *
extraPtr(FileHandle
const & fh);
68 static void extraPtr(FileHandle fh,
void * ptr);
104 :
public safe_bool<FileHandle>
131 bool readable()
const;
140 bool writeable()
const;
149 bool oobReadable()
const;
159 bool blocking()
const;
160 void blocking(
bool status);
175 bool boolean_test()
const;
183 int refcount()
const;
184 bool is_shared()
const;
186 static FileHandle cast_static(FileHandle handle);
187 static FileHandle cast_dynamic(FileHandle handle);
190 explicit FileHandle(std::unique_ptr<FileBody> body);
197 explicit FileHandle(FileBody::ptr body);
200 FileBody
const & body()
const;
201 static FileBody & body(FileHandle & handle);
202 static FileBody
const & body(FileHandle
const & handle);
213 friend class FileBody;
config::time_type clock_type
Basic file handle wrapper.
access FileHandle extra data information
static void * extraPtr(FileHandle const &fh)