00001
00002
00003
00004
00005
00006
00007
00008 #ifndef _SK_IO_FILEDESCRIPTOR_
00009 #define _SK_IO_FILEDESCRIPTOR_
00010
00011 #include <sk/util/Object.h>
00012
00013 namespace sk {
00014 namespace io {
00015 class FileDescriptor
00016 : public virtual sk::util::Object
00017 {
00018 public:
00019 FileDescriptor(int fd);
00020 FileDescriptor(const FileDescriptor& other);
00021 virtual ~FileDescriptor();
00022
00023 int getFileNumber() const;
00024
00025 void close();
00026 int read(char* buffer, int offset, int length);
00027 int write(const char* buffer, int offset, int length);
00028
00029
00030 const sk::util::Class getClass() const;
00031
00032 private:
00033 FileDescriptor& operator = (const FileDescriptor& other);
00034
00035 int _fd;
00036 };
00037 }
00038 }
00039
00040 #endif