00001 /* 00002 $Id: resourcetype.h,v 1.4 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_resourcetype 00018 #define header_resourcetype 00019 00020 #include <list> 00021 #include <string> 00022 class CL_ResourceManager; 00023 class CL_ResourceOptions; 00024 class CL_Resource; 00025 00026 class CL_ResourceType 00027 { 00028 public: 00029 CL_ResourceType(std::string type); 00030 virtual ~CL_ResourceType(); 00031 00032 virtual const std::string &get_type() const { return type; } 00033 00034 virtual CL_Resource *create_from_location( 00035 std::string name, 00036 std::string location, 00037 CL_ResourceOptions *options, 00038 CL_ResourceManager *parent)=0; 00039 00040 virtual CL_Resource *create_from_serialization( 00041 std::string name, 00042 CL_ResourceManager *parent)=0; 00043 00044 static std::list<CL_ResourceType*> resource_types; 00045 00046 private: 00047 std::string type; 00048 }; 00049 00050 #endif
1.2.6 written by Dimitri van Heesch,
© 1997-2001