39 #ifndef MBF_ABSTRACT_NAV__ABSTRACT_PLUGIN_MANAGER_H_    40 #define MBF_ABSTRACT_NAV__ABSTRACT_PLUGIN_MANAGER_H_    42 #include <boost/function.hpp>    46 template <
typename PluginType>
    52   typedef boost::function<bool (const std::string& name, const typename PluginType::Ptr& plugin_ptr)> 
initPluginFunction;
    55       const std::string param_name,
    56       const loadPluginFunction& loadPlugin,
    57       const initPluginFunction& initPlugin
    64   std::string 
getType(
const std::string& name);
    68   typename PluginType::Ptr 
getPlugin(
const std::string& name);
    71   std::map<std::string, typename PluginType::Ptr> 
plugins_;
    80 #include "impl/abstract_plugin_manager.tcc"    81 #endif //MBF_ABSTRACT_NAV__ABSTRACT_PLUGIN_MANAGER_H_ PluginType::Ptr getPlugin(const std::string &name)
const std::string param_name_
const initPluginFunction initPlugin_
std::map< std::string, typename PluginType::Ptr > plugins_
std::map< std::string, std::string > plugins_type_
const std::vector< std::string > & getLoadedNames()
boost::function< bool(const std::string &name, const typename PluginType::Ptr &plugin_ptr)> initPluginFunction
bool hasPlugin(const std::string &name)
const loadPluginFunction loadPlugin_
boost::function< typename PluginType::Ptr(const std::string &plugin)> loadPluginFunction
std::vector< std::string > names_
AbstractPluginManager(const std::string param_name, const loadPluginFunction &loadPlugin, const initPluginFunction &initPlugin)
std::string getType(const std::string &name)