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


#ifndef	__ISTREAMFACTORY__
#define	__ISTREAMFACTORY__


namespace GS {
	struct IAudioStream;

/*
	@short	Stream factory interface.
	@author Emmanuel Julien (ejulien@owloh.com)
*/
struct	IAudioStreamFactory
{
		/// Get factory name.
virtual	const char		*GetName() = 0;
		/// Open a stream.
virtual	IAudioStream	*Open(const char *path) = 0;

virtual	~IAudioStreamFactory() {}
};

} // GS


#endif	// __ISTREAMFACTORY__
