OLD | NEW |
| (Empty) |
1 // Common/C_FileIO.h | |
2 | |
3 #ifndef __COMMON_C_FILEIO_H | |
4 #define __COMMON_C_FILEIO_H | |
5 | |
6 #include <stdio.h> | |
7 #include <sys/types.h> | |
8 | |
9 #include "Types.h" | |
10 #include "MyWindows.h" | |
11 | |
12 namespace NC { | |
13 namespace NFile { | |
14 namespace NIO { | |
15 | |
16 class CFileBase | |
17 { | |
18 protected: | |
19 int _handle; | |
20 bool OpenBinary(const char *name, int flags); | |
21 public: | |
22 CFileBase(): _handle(-1) {}; | |
23 ~CFileBase() { Close(); } | |
24 bool Close(); | |
25 bool GetLength(UInt64 &length) const; | |
26 off_t Seek(off_t distanceToMove, int moveMethod) const; | |
27 }; | |
28 | |
29 class CInFile: public CFileBase | |
30 { | |
31 public: | |
32 bool Open(const char *name); | |
33 bool OpenShared(const char *name, bool shareForWrite); | |
34 ssize_t Read(void *data, size_t size); | |
35 }; | |
36 | |
37 class COutFile: public CFileBase | |
38 { | |
39 public: | |
40 bool Create(const char *name, bool createAlways); | |
41 bool Open(const char *name, DWORD creationDisposition); | |
42 ssize_t Write(const void *data, size_t size); | |
43 }; | |
44 | |
45 }}} | |
46 | |
47 #endif | |
OLD | NEW |