DragonNest/Common/EtFileSystem/EtFileIO.h
Cussrro 47f7895977 Revert "修复编码问题"
This reverts commit 9e69c01767.
2024-12-21 10:04:04 +08:00

50 lines
918 B
C++

#pragma once
class CEtPackingFile;
class CEtFileIO
{
public:
enum FileIOType
{
// 일반 파일 입출력
ET_STD_FILE = 0,
ET_PACK_FILE = 1
};
enum AccessType
{
ET_READ = 0,
ET_WRITE,
ET_ALL
};
enum SeekType
{
// winbase.h 에 FILE_BEGIN = 0 이거랑 같은 값인데 이름만 다르다, 숫자 바꾸면 안됨!
ET_SEEK_BEGIN = 0, // 파일 처음 기준
ET_SEEK_CURRENT = 1, // 파일 현재 기준
ET_SEEK_END = 2 // 파일 끝 기준
};
public:
CEtFileIO() { }
virtual ~CEtFileIO() { }
virtual bool Open(const TCHAR* szFileName, AccessType nAccessMode) = 0;
virtual bool Close() = 0;
virtual int Read(void* pBuffer, int nLen) = 0;
virtual int Write(const void* pBuffer, int nLen ) = 0;
virtual int Seek(int nOffset, SeekType nPosition) = 0;
virtual int Tell() = 0;
public:
// 타입에 맞는 파일입출력 객체를 생성해서 돌려준다 ( 해제는 알아서.. )
static CEtFileIO* CreateFileIO(FileIOType opt);
};