Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

inputsource_provider.h

Go to the documentation of this file.
00001 /*
00002         $Id: inputsource_provider.h,v 1.3 2001/03/04 17:54:47 mbn Exp $
00003 
00004         ------------------------------------------------------------------------
00005         ClanLib, the platform independent game SDK.
00006 
00007         This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
00008         version 2. See COPYING for details.
00009 
00010         For a total list of contributers see CREDITS.
00011 
00012         ------------------------------------------------------------------------
00013 */
00014 
00016 
00017 #ifndef header_inputsource_provider
00018 #define header_inputsource_provider
00019 
00020 class CL_InputSource;
00021 class CL_InputSourceProvider
00022 //: Interface that provide input sources.
00023 // CL_InputSourceProvider is used to open inputsources. This can be from 
00024 // datafile where the inputsource is an index - or it a directory where the
00025 // files are the inputsources.
00026 {
00027 public:
00028         virtual ~CL_InputSourceProvider() { return; }
00029 
00030         static CL_InputSourceProvider *create_file_provider(const char *path);
00031         //: Creates a file provider. Input sources opened are considered as files.
00034 
00035         static CL_InputSourceProvider *create_datafile_provider(const char *filename);
00036         //: Creates a datafile provider. Input sources are opened as indexes in the
00037         //: specified datafile.
00040 
00041         virtual CL_InputSource *open_source(const char *handle)=0;
00042         //: Opens an inputsource using the passed handle.
00045 
00046         virtual CL_InputSourceProvider *clone()=0;
00047         //: Returns a copy of the current provider.
00049 };
00050 
00051 #endif

Generated at Wed Apr 4 19:54:01 2001 for ClanLib by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001