
///////////////////////////////////////////////////////////////////////////////
//
// File   : Asura_PSP_SCEUtility_SaveListHandler.h
// Author : Andy Tate
// Date   : 5-Oct-2005
//
// Copyright (C) 2005 Rebellion, All Rights Reserved.
//
///////////////////////////////////////////////////////////////////////////////

#ifdef ASURA_USE_PRAGMA_ONCE
	#pragma once
#endif   // ifdef ASURA_USE_PRAGMA_ONCE

#ifndef __ASURA_PSP_SCEUTILITY_SAVELISTHANDLER_H__
#define __ASURA_PSP_SCEUTILITY_SAVELISTHANDLER_H__

////////////////////////////////////////////////////////////////////////////////
// Include files...
////////////////////////////////////////////////////////////////////////////////

#include "PSPEmul/SCEUtility/Asura_PSP_SCEUtility_FileListHandler.h"


////////////////////////////////////////////////////////////////////////////////
// Forward class declarations...
////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////
// Class declaration...
////////////////////////////////////////////////////////////////////////////////

class Asura_PSP_SCEUtility_SaveListHandler : public Asura_PSP_SCEUtility_FileListHandler
{
public:
	// Public functions...
	Asura_PSP_SCEUtility_SaveListHandler          (const int iMaxSaveSlots, const Asura_UnicodeChar* wszSaveTitle, const Asura_UnicodeChar* wszSaveDescription, const Asura_UnicodeChar* wszNewData, const void* pvData, const u_int uDataSize, const u_int uBufferSize);
	virtual ~Asura_PSP_SCEUtility_SaveListHandler ();

	// Virtual functions...
//	virtual	bool									Update					(bool& bCancelled);
//	virtual	void									Render					(void);


protected:
	// Protected variables...

	// Title and description of the save to perform...
	Asura_UnicodeChar*	m_wszSaveTitle;
	Asura_UnicodeChar*	m_wszSaveDescription;

	// Text for being displayed with new data...
	Asura_UnicodeChar*	m_wszNewData;

	// Variables relating to the data to be saved...
	const void*			m_pvData;
	u_int				m_uDataSize;
	u_int				m_uBufferSize;


	// Protected functions...

	// Virtual functions...
			bool									OnSelect				(Asura_PSP_SCEUtility_FileData& xFileData);

//	virtual void									RenderTitle				(const float fScreenScale) const;
//	virtual void									RenderNoSlotsMessage	(const float fScreenScale) const;
//	virtual	void									RenderSlot				(const float fScreenScale, const Asura_PSP_SCEUtility_FileData& xFileData) const;
	virtual	void									RenderEmptySlot			(const float fScreenScale, const Asura_PSP_SCEUtility_FileData& xFileData) const;


private:
	// Private variables...


	// Private functions...

	Asura_PSP_SCEUtility_SaveListHandler  (void);
	Asura_PSP_SCEUtility_SaveListHandler  (const Asura_PSP_SCEUtility_SaveListHandler& xOther);

			Asura_PSP_SCEUtility_SaveListHandler&	operator=		(const Asura_PSP_SCEUtility_SaveListHandler& xOther);

};   // End of class 'Asura_PSP_SCEUtility_SaveListHandler'.


#endif   // ifndef __ASURA_PSP_SCEUTILITY_SAVELISTHANDLER_H__


/// End of file. ///
