Base class for loading a plugin with a valid PluginDefinition. More...
#include <gpp_plugin.hpp>
Public Types | |
using | Base = pluginlib::ClassLoader< _Plugin > |
using | Definition = PluginDefinition< _Plugin > |
![]() | |
typedef std::map< std::string, ClassDesc >::iterator | ClassMapIterator |
Public Member Functions | |
virtual pluginlib::UniquePtr< _Plugin > | createCustomInstance (const std::string &_type) |
PluginManager () | |
![]() | |
ClassLoader (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 >()) | |
T * | createClassInstance (const std::string &lookup_name, bool auto_load=true) |
boost::shared_ptr< T > | createInstance (const std::string &lookup_name) |
T * | createUnmanagedInstance (const std::string &lookup_name) |
virtual std::string | getBaseClassType () const |
virtual std::string | getClassDescription (const std::string &lookup_name) |
virtual std::string | getClassLibraryPath (const std::string &lookup_name) |
virtual std::string | getClassPackage (const std::string &lookup_name) |
virtual std::string | getClassType (const std::string &lookup_name) |
std::vector< std::string > | getDeclaredClasses () |
virtual std::string | getName (const std::string &lookup_name) |
virtual std::string | getPluginManifestPath (const std::string &lookup_name) |
std::vector< std::string > | getPluginXmlPaths () |
virtual std::vector< std::string > | getRegisteredLibraries () |
virtual bool | isClassAvailable (const std::string &lookup_name) |
bool | isClassLoaded (const std::string &lookup_name) |
virtual void | loadLibraryForClass (const std::string &lookup_name) |
virtual void | refreshDeclaredClasses () |
virtual int | unloadLibraryForClass (const std::string &lookup_name) |
~ClassLoader () | |
![]() | |
virtual std::string | getBaseClassType () const=0 |
virtual | ~ClassLoaderBase () |
Base class for loading a plugin with a valid PluginDefinition.
_Plugin | Plugin-type. You need to provide a specialization of the PluginDefinition for the _Plugin for this to work. |
The class firstly binds the pluginlib::ClassLoader to our PluginDefinition. Secondly it defined our way to load the plugins (namely by returning a unique ptr). This method is declared virtual, so we can load CostmapPlanner under the interface of BaseGlobalPlanners.
Definition at line 112 of file gpp_plugin.hpp.
using gpp_plugin::PluginManager< _Plugin >::Base = pluginlib::ClassLoader<_Plugin> |
Definition at line 115 of file gpp_plugin.hpp.
using gpp_plugin::PluginManager< _Plugin >::Definition = PluginDefinition<_Plugin> |
Definition at line 114 of file gpp_plugin.hpp.
|
inline |
Definition at line 118 of file gpp_plugin.hpp.
|
inlinevirtual |
Reimplemented in gpp_plugin::CostmapPlannerManager.
Definition at line 121 of file gpp_plugin.hpp.