Annotation of elwix/tools/oldlzma/SRC/Common/C_FileIO.h, revision 1.1.1.1

1.1       misho       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:   ssize_t Read(void *data, size_t size);
                     34: };
                     35: 
                     36: class COutFile: public CFileBase
                     37: {
                     38: public:
                     39:   bool Create(const char *name, bool createAlways);
                     40:   ssize_t Write(const void *data, size_t size);
                     41: };
                     42: 
                     43: }}}
                     44: 
                     45: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>