/* -----------------------------------------------------------------------------
	GSFramework
	Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */


#ifndef	__NCACHEDAUDIORESOURCEFACTORY__
#define	__NCACHEDAUDIORESOURCEFACTORY__


		#include "core/mixer_resource_factory.h"
		#include "core/sound.h"
		#include "container/nlist.h"


namespace GS {
	namespace Audio {

/*
	@short	Cached audio resource factory.
	@author	Emmanuel Julien (ejulien@gsworks.fr)
*/
struct	CachedResourceFactory : public ResourceFactory
{
		SharedList <Sound *> sounds;

virtual	Sound			*LoadSound(const char *);

		CachedResourceFactory(IMixer &m) : ResourceFactory(m) {}
};

	} // Audio
} // GS


#endif	// __NCACHEDAUDIORESOURCEFACTORY__
