From 6528f07c516efe4d3b344f01740067878d5d9a43 Mon Sep 17 00:00:00 2001 From: Pixel Date: Sun, 21 Jul 2002 11:12:13 +0000 Subject: Hello Baltisot --- includes/Handle.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 includes/Handle.h (limited to 'includes/Handle.h') diff --git a/includes/Handle.h b/includes/Handle.h new file mode 100644 index 0000000..3b9c9dc --- /dev/null +++ b/includes/Handle.h @@ -0,0 +1,50 @@ +#ifndef __HANDLE_H__ +#define __HANDLE_H__ +#ifdef __cplusplus + +#include +#include +#include +#include +#include + +#include +#include + +class Handle : public Base { + public: + Handle(const Handle &); + virtual ~Handle(); + virtual ssize_t read(void *buf, size_t count) throw (GeneralException); + virtual ssize_t write(const void *buf, size_t count) throw (GeneralException); + bool IsClosed(void); + bool IsNonBlock(void); + void SetNonBlock(void); + virtual bool CanRead(); + virtual bool CanWrite(); + virtual String GetName(); + virtual ssize_t GetSize(); + virtual time_t GetModif(); + void close() throw (GeneralException); + int GetHandle(); + virtual bool CanWatch(); + virtual void Dup(const Handle &); + virtual void SetZ(int) throw (GeneralException); + protected: + Handle(int h); + private: + ssize_t uwrite(const void *, size_t) throw (GeneralException); + ssize_t uread(void *, size_t); + int h; + bool closed, nonblock; + gzFile zfile; + int z; +}; + +Handle & operator<<(Handle &, const String &); +Handle & operator>>(Handle &, String &); + +#else +#error This only works with a C++ compiler +#endif +#endif -- cgit v1.2.3