/*!
 	@file 
 	@brief	ファイルの特定区間を１ファイルとして扱うクラス
 */

#ifndef CFileReadFileRange_h
#define CFileReadFileRange_h



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

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

				void Open( const mstring& FileName, int BeginPosition, int Size );
		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:
		CFileReadNormal m_hFile;
		int		m_BeginPosition;
		int		m_Size;

		int		m_Position;
	};

}


#endif
