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

component_manager.h

Go to the documentation of this file.
00001 /*
00002 
00003         ClanGUI, copyrights by various people. Have a look in the CREDITS file.
00004         
00005         This sourcecode is distributed using the Library GNU Public Licence,
00006         version 2 or (at your option) any later version. Please read LICENSE
00007         for details.
00008 */
00009 
00011 
00012 #ifndef header_component_manager
00013 #define header_component_manager
00014 
00015 #include "component.h"
00016 #include "component_type.h"
00017 
00018 #include <string>
00019 #include <map>
00020 
00021 class CL_StyleManager;
00022 class CL_ResourceManager;
00023 class CL_ComponentType;
00024 
00025 class CL_ComponentManager
00026 //: Manages the components
00027 {
00028 public:
00029         static CL_ComponentManager *create(
00030                 const char *resource_id,
00031                 CL_ResourceManager *res_manager,
00032                 CL_StyleManager *style);
00033 
00034         static CL_ComponentManager *create(
00035                 const char *filename,
00036                 bool is_datafile,
00037                 CL_StyleManager *style);
00038                 
00039         virtual ~CL_ComponentManager() { return; }      
00040 
00041         virtual CL_Component *get_component(const char *component_id) = 0;
00042 
00043         static std::map<std::string, CL_ComponentType *> component_types;
00044 };
00045 
00046 #endif

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