00001 00002 #ifndef __matter_cache_hpp__ 00003 #define __matter_cache_hpp__ 00004 00005 #include <vector> 00006 00007 #include <crbn/basic/basic.h> 00008 00009 #include <crbn/matter/matter.hpp> 00010 00011 typedef struct _mc_entry mc_entry; 00012 00013 class mCache 00014 { 00015 public: 00016 mCache(); 00017 ~mCache(); 00018 00019 uint32 memory() { return _memory_used; } 00020 void clear(); 00021 00022 int32 add( Matter* matter, char* module_name ); 00023 Matter* get( int32 index ); 00024 void release( int32 index ); 00025 private: 00026 uint32 _memory_used; 00027 std::vector<mc_entry> _list; 00028 }; 00029 00030 #endif // __matter_cache_hpp__