/*
	TOOL, class cMedium
	파일명을 숨기며 파일과 같이 접근 가능하다.
*/

#ifndef cMedium_H
#define cMedium_H

#include <windows.h>
#include <stdio.h>

class cMedium{
private:
protected:
	FILE *pFile;
	char FileName[_MAX_FNAME];

public:
	enum eOpenMode{ OM_READ = 1, OM_WRITE = 2, OM_CREATE = 4 };
	enum eSeekMode{ SM_BEGIN = 0, SM_CUR, SM_END };

	cMedium();
	cMedium(const char *pFileName);
	virtual ~cMedium();

	bool IsOpened(){ return pFile != NULL; }

	void SetFileName(const char *pFileName);
	char *GetFileName(){ return FileName; }

	// 매체 열고 닫기
	bool Open(DWORD Mode = OM_READ);
	void Close();

	// 데이터 검색
	bool Seek(int Offset, eSeekMode SeekMode);

	// 데이터 전송
	int Read(void *pBuff, DWORD Size, DWORD Count = 1);
	int Write(const void *pBuff, DWORD Size, DWORD Count = 1);


};

#endif
