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
1.2.6 written by Dimitri van Heesch,
© 1997-2001