| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #ifndef _File_h_
- #define _File_h_
- #ifndef _XBOX
- #include "..\..\common_h\FileService.h"
- class FileService;
- //Файл для произвольного доступа
- class File : public IFile
- {
- public:
- File(const char * _cppFileName, long _cppFileLine);
- virtual ~File();
- //Открыть файл
- bool Open(const char * realPath, IFileService_OpenMode mode);
- //Закрыть файл сообщив об ошибке
- void ErrorRelease();
- public:
- //Закрыть файл
- virtual void Release();
- //Прочитать данные, возвращает количество прочитаных байт
- virtual dword Read(void * buffer, dword size);
- //Записать данные, возвращает количество записаных байт
- virtual dword Write(const void * buffer, dword size);
- //Установить текущую позицию, возвращает установленую относительно начала
- virtual dword SetPos(dword distanceToMove, MoveMethod moveMethod);
- //Получить текущую позицию относительно начала
- virtual dword GetPos() const;
- //Получить размер файла
- virtual dword Size() const;
- //Обрезать файл по текущей позиции
- virtual bool Truncate();
- private:
- HANDLE handle;
- #ifndef STOP_DEBUG
- const char * cppFileName;
- long cppFileLine;
- #endif
- };
- #endif
- #endif
|