#pragma once

#include "Mix/Tool/Win32/Core/Object.h"

namespace Mix{ namespace Tool{ namespace Win32{ namespace File{

	class InputStream : public Mix::Tool::Win32::Object
	{
	private:
		HANDLE m_hFile;
		unsigned int m_Pos;
		unsigned int m_Size;

	public:
		InputStream( void );
		~InputStream( void );

		bool Open( const wchar_t* pFileName );
		void Close( void );

		bool Read( void* pData, unsigned int dataSize );
		void Skip( unsigned int size );

		unsigned int GetPosition( void ) const;
		unsigned int GetSize( void ) const;

	public:
		virtual Mix::Tool::Win32::Object::TYPE GetType( void ) const;
	};

}}}}
