Annotation of elwix/tools/oldlzma/SRC/Common/C_FileIO.h, revision 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>