/*!
 	@file
 	@brief	通常のファイル読み込みクラス
\n			ライブラリはＣランタイムを使っています。
\n			このクラスを使うよりも CFileRead を使ったほうが便利です
 *
 */

#ifndef CNormalFileRead_h
#define CNormalFileRead_h



#include"../../Setup/CompileMode.h"
#include"../mstring.h"
#include"CFileReadInterface.h"
#include<stdio.h>
#include<string>

namespace Maid
{
	class CFileReadNormal : public IFileRead
	{
	public:
		CFileReadNormal();
		virtual ~CFileReadNormal();

				void	Open( const mstring& FileName );
		virtual int		Read ( void* pData, int Size );
		virtual int		GetSize()    const;
		virtual int		GetPosition()const;

		virtual void	Seek( int Size, IFileRead::POSITION ePos );

		virtual void Close();

	private:
		FILE*	m_Handle;	//!<	ファイルハンドル
		int		m_Size;		//!<	オープンしたファイルのファイルサイズ（バイト単位）
		int		m_Position;	//!<	現在のファイルポジション
	};

}

#endif
