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

resourcetype.h

Go to the documentation of this file.
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

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