00001 00002 #ifndef __matter_creator_hpp__ 00003 #define __matter_creator_hpp__ 00004 00005 #include <vector> 00006 00007 #include <crbn/basic/basic.h> 00008 #include <crbn/basic/paramlist.hpp> 00009 00010 #include <crbn/matter/matter.hpp> 00011 00012 typedef struct _mmod_entry mmod_entry; 00013 00014 class mCreator 00015 { 00016 public: 00017 mCreator(); 00018 ~mCreator(); 00019 00020 char* last_module_called() { return _last_module_called; } 00021 00022 uint32 memory() { return _memory_used; } 00023 00024 void clear(); 00025 00026 Matter* create( char* matter_type, paramlist& pl ); 00027 Matter* create( char* matter_type, FILE* fp ); 00028 00029 private: 00030 uint32 _memory_used; 00031 char* _last_module_called; 00032 std::vector<mmod_entry*> _mod_list; 00033 }; 00034 00035 #endif // __matter_creator_hpp__