Public Types | Public Member Functions | List of all members
gpp_plugin::PluginManager< _Plugin > Struct Template Reference

Base class for loading a plugin with a valid PluginDefinition. More...

#include <gpp_plugin.hpp>

Inheritance diagram for gpp_plugin::PluginManager< _Plugin >:
Inheritance graph
[legend]

Public Types

using Base = pluginlib::ClassLoader< _Plugin >
 
using Definition = PluginDefinition< _Plugin >
 
- Public Types inherited from pluginlib::ClassLoader< _Plugin >
typedef std::map< std::string, ClassDesc >::iterator ClassMapIterator
 

Public Member Functions

virtual pluginlib::UniquePtr< _Plugin > createCustomInstance (const std::string &_type)
 
 PluginManager ()
 
- Public Member Functions inherited from pluginlib::ClassLoader< _Plugin >
 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 ()
 
- Public Member Functions inherited from pluginlib::ClassLoaderBase
virtual std::string getBaseClassType () const=0
 
virtual ~ClassLoaderBase ()
 

Detailed Description

template<typename _Plugin>
struct gpp_plugin::PluginManager< _Plugin >

Base class for loading a plugin with a valid PluginDefinition.

Template Parameters
_PluginPlugin-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.

Member Typedef Documentation

◆ Base

template<typename _Plugin >
using gpp_plugin::PluginManager< _Plugin >::Base = pluginlib::ClassLoader<_Plugin>

Definition at line 115 of file gpp_plugin.hpp.

◆ Definition

template<typename _Plugin >
using gpp_plugin::PluginManager< _Plugin >::Definition = PluginDefinition<_Plugin>

Definition at line 114 of file gpp_plugin.hpp.

Constructor & Destructor Documentation

◆ PluginManager()

template<typename _Plugin >
gpp_plugin::PluginManager< _Plugin >::PluginManager ( )
inline

Definition at line 118 of file gpp_plugin.hpp.

Member Function Documentation

◆ createCustomInstance()

template<typename _Plugin >
virtual pluginlib::UniquePtr<_Plugin> gpp_plugin::PluginManager< _Plugin >::createCustomInstance ( const std::string &  _type)
inlinevirtual

Reimplemented in gpp_plugin::CostmapPlannerManager.

Definition at line 121 of file gpp_plugin.hpp.


The documentation for this struct was generated from the following file:


gpp_plugin
Author(s):
autogenerated on Wed Mar 2 2022 00:21:23