#include <plugin_loader_base.h>
Public Member Functions | |
virtual Plugin::Ptr | createPluginInstance (const std::string &lookup_name)=0 |
Creates an instance of a plugin which is derived from vigir_pluginlib::Plugin base class (which implicitly calls loadLibraryForClass() to increment the library counter). Deleting the instance and calling unloadLibraryForClass() is automatically handled by the shared pointer. | |
std::string | getBaseClassPackage () const |
PluginLoaderBase (std::string package, std::string base_class, std::string attrib_name=std::string("plugin"), std::vector< std::string > plugin_xml_paths=std::vector< std::string >()) | |
Constructor for a ClassLoader. | |
Protected Attributes | |
std::string | base_class_package_ |
Definition at line 43 of file plugin_loader_base.h.
vigir_pluginlib::PluginLoaderBase::PluginLoaderBase | ( | std::string | package, |
std::string | base_class, | ||
std::string | attrib_name = std::string("plugin") , |
||
std::vector< std::string > | plugin_xml_paths = std::vector<std::string>() |
||
) |
Constructor for a ClassLoader.
package | The package containing the base class |
base_class | The type of the base class for classes to be loaded |
attrib_name | The attribute to search for in manifext.xml files, defaults to "plugin" |
plugin_xml_paths | The list of paths of plugin.xml files, defaults to be crawled via ros::package::getPlugins() |
pluginlib::LibraryLoadException | Thrown if package manifest cannot be found |
Definition at line 7 of file plugin_loader_base.cpp.
virtual Plugin::Ptr vigir_pluginlib::PluginLoaderBase::createPluginInstance | ( | const std::string & | lookup_name | ) | [pure virtual] |
Creates an instance of a plugin which is derived from vigir_pluginlib::Plugin base class (which implicitly calls loadLibraryForClass() to increment the library counter). Deleting the instance and calling unloadLibraryForClass() is automatically handled by the shared pointer.
lookup_name | The name of the class to load |
pluginlib::LibraryLoadException | Thrown when the library associated with the class cannot be loaded |
pluginlib::CreateClassException | Thrown when the class cannot be instantiated |
Implemented in vigir_pluginlib::PluginLoader< T >.
std::string vigir_pluginlib::PluginLoaderBase::getBaseClassPackage | ( | ) | const |
Definition at line 12 of file plugin_loader_base.cpp.
std::string vigir_pluginlib::PluginLoaderBase::base_class_package_ [protected] |
Definition at line 69 of file plugin_loader_base.h.