Public Member Functions | Protected Attributes
vigir_pluginlib::PluginLoaderBase Class Reference

#include <plugin_loader_base.h>

Inheritance diagram for vigir_pluginlib::PluginLoaderBase:
Inheritance graph
[legend]

List of all members.

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_

Detailed Description

Definition at line 43 of file plugin_loader_base.h.


Constructor & Destructor Documentation

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.

Parameters:
packageThe package containing the base class
base_classThe type of the base class for classes to be loaded
attrib_nameThe attribute to search for in manifext.xml files, defaults to "plugin"
plugin_xml_pathsThe list of paths of plugin.xml files, defaults to be crawled via ros::package::getPlugins()
Exceptions:
pluginlib::LibraryLoadExceptionThrown if package manifest cannot be found

Definition at line 7 of file plugin_loader_base.cpp.


Member Function Documentation

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.

Parameters:
lookup_nameThe name of the class to load
Exceptions:
pluginlib::LibraryLoadExceptionThrown when the library associated with the class cannot be loaded
pluginlib::CreateClassExceptionThrown when the class cannot be instantiated
Returns:
An instance of the class

Implemented in vigir_pluginlib::PluginLoader< T >.

Definition at line 12 of file plugin_loader_base.cpp.


Member Data Documentation

Definition at line 69 of file plugin_loader_base.h.


The documentation for this class was generated from the following files:


vigir_pluginlib
Author(s): Alexander Stumpf
autogenerated on Tue Sep 13 2016 03:47:30