*/\r
\r
/**\r
- * @file PluginManager.h\r
+ * @file xmltooling/PluginManager.h\r
* \r
* Plugin management template\r
*/\r
~PluginManager() {}\r
\r
/** Factory function for plugin. */\r
- typedef T* Factory(typename const Params&);\r
+ typedef T* Factory(const Params&);\r
\r
/**\r
* Registers the factory for a given type.\r
* @param type the name of the plugin type\r
* @param factory the factory function for the plugin type\r
*/\r
- void registerFactory(const char* type, typename Factory* factory) {\r
+ void registerFactory(const char* type, typename PluginManager::Factory* factory) {\r
if (type && factory)\r
m_map[type]=factory;\r
}\r
* @param p parameters to configure plugin\r
* @return the constructed plugin \r
*/\r
- T* newPlugin(const char* type, typename const Params& p) {\r
- std::map<std::string, typename Factory*>::const_iterator i=m_map.find(type);\r
+ T* newPlugin(const char* type, const Params& p) {\r
+ typename std::map<std::string, typename PluginManager::Factory*>::const_iterator i=m_map.find(type);\r
if (i==m_map.end())\r
throw UnknownExtensionException("Unable to build plugin of type '$1'",params(1,type));\r
return i->second(p);\r
}\r
\r
private:\r
- std::map<std::string, typename Factory*> m_map;\r
+ std::map<std::string, typename PluginManager::Factory*> m_map;\r
};\r
\r
};\r