- static bool Register(ExtensionItem* item);
- static std::vector<ExtensionItem*> BeginUnregister(Module* module);
- void doUnhookExtensions(const std::vector<ExtensionItem*>& toRemove);
-
- // Friend access for the protected getter/setter
- friend class ExtensionItem;
+class CoreExport ExtensionManager
+{
+ std::map<std::string, reference<ExtensionItem> > types;
+ public:
+ void Register(ExtensionItem* item);
+ void BeginUnregister(Module* module, std::vector<reference<ExtensionItem> >& list);
+ ExtensionItem* GetItem(const std::string& name);