Public Member Functions | List of all members
pluginlib::ClassLoaderBase Class Referenceabstract

Pure virtual base class of pluginlib::ClassLoader which is not templated. More...

#include <class_loader_base.hpp>

Inheritance diagram for pluginlib::ClassLoaderBase:
Inheritance graph
[legend]

Public Member Functions

virtual std::string getBaseClassType () const =0
 Given the lookup name of a class, return the type of the associated base class. More...
 
virtual std::string getClassDescription (const std::string &lookup_name)=0
 Given the lookup name of a class, return its description. More...
 
virtual std::string getClassLibraryPath (const std::string &lookup_name)=0
 Given the name of a class, return the path to its associated library. More...
 
virtual std::string getClassPackage (const std::string &lookup_name)=0
 Given the name of a class, return name of the containing package. More...
 
virtual std::string getClassType (const std::string &lookup_name)=0
 Given the lookup name of a class, return the type of the derived class associated with it. More...
 
virtual std::vector< std::string > getDeclaredClasses ()=0
 Return a list of all available classes for this ClassLoader's base class type. More...
 
virtual std::string getName (const std::string &lookup_name)=0
 Strip the package name off of a lookup name. More...
 
virtual std::string getPluginManifestPath (const std::string &lookup_name)=0
 Given the name of a class, return the path of the associated plugin manifest. More...
 
virtual std::vector< std::string > getPluginXmlPaths ()=0
 Return a list of all available plugin manifest paths. More...
 
virtual std::vector< std::string > getRegisteredLibraries ()=0
 Return the libraries that are registered and can be loaded. More...
 
virtual bool isClassAvailable (const std::string &lookup_name)=0
 Check if the class associated with a plugin name is available to be loaded. More...
 
virtual bool isClassLoaded (const std::string &lookup_name)=0
 Check if a given class is currently loaded. More...
 
virtual void loadLibraryForClass (const std::string &lookup_name)=0
 Attempt to load a class with a given name. More...
 
virtual void refreshDeclaredClasses ()=0
 Refresh the list of all available classes for this ClassLoader's base class type. More...
 
virtual int unloadLibraryForClass (const std::string &lookup_name)=0
 Attempt to unload a class with a given name. More...
 
virtual ~ClassLoaderBase ()
 Empty virtual destructor. More...
 

Detailed Description

Pure virtual base class of pluginlib::ClassLoader which is not templated.

This allows the writing of non-templated manager code which can call all the administrative functions of ClassLoaders - everything except createClassInstance(), createInstance() and createUnmanagedInstance().

Definition at line 45 of file class_loader_base.hpp.

Constructor & Destructor Documentation

◆ ~ClassLoaderBase()

virtual pluginlib::ClassLoaderBase::~ClassLoaderBase ( )
inlinevirtual

Empty virtual destructor.

Definition at line 49 of file class_loader_base.hpp.

Member Function Documentation

◆ getBaseClassType()

virtual std::string pluginlib::ClassLoaderBase::getBaseClassType ( ) const
pure virtual

Given the lookup name of a class, return the type of the associated base class.

Returns
The type of the associated base class

Implemented in pluginlib::ClassLoader< T >.

◆ getClassDescription()

virtual std::string pluginlib::ClassLoaderBase::getClassDescription ( const std::string &  lookup_name)
pure virtual

Given the lookup name of a class, return its description.

Parameters
lookup_nameThe lookup name of the class
Returns
The description of the class

Implemented in pluginlib::ClassLoader< T >.

◆ getClassLibraryPath()

virtual std::string pluginlib::ClassLoaderBase::getClassLibraryPath ( const std::string &  lookup_name)
pure virtual

Given the name of a class, return the path to its associated library.

Parameters
lookup_nameThe name of the class
Returns
The path to the associated library

Implemented in pluginlib::ClassLoader< T >.

◆ getClassPackage()

virtual std::string pluginlib::ClassLoaderBase::getClassPackage ( const std::string &  lookup_name)
pure virtual

Given the name of a class, return name of the containing package.

Parameters
lookup_nameThe name of the class
Returns
The name of the containing package

Implemented in pluginlib::ClassLoader< T >.

◆ getClassType()

virtual std::string pluginlib::ClassLoaderBase::getClassType ( const std::string &  lookup_name)
pure virtual

Given the lookup name of a class, return the type of the derived class associated with it.

Parameters
lookup_nameThe name of the class
Returns
The name of the associated derived class

Implemented in pluginlib::ClassLoader< T >.

◆ getDeclaredClasses()

virtual std::vector<std::string> pluginlib::ClassLoaderBase::getDeclaredClasses ( )
pure virtual

Return a list of all available classes for this ClassLoader's base class type.

Returns
A vector of strings corresponding to the names of all available classes

Implemented in pluginlib::ClassLoader< T >.

◆ getName()

virtual std::string pluginlib::ClassLoaderBase::getName ( const std::string &  lookup_name)
pure virtual

Strip the package name off of a lookup name.

Parameters
lookup_nameThe name of the plugin
Returns
The name of the plugin stripped of the package name

Implemented in pluginlib::ClassLoader< T >.

◆ getPluginManifestPath()

virtual std::string pluginlib::ClassLoaderBase::getPluginManifestPath ( const std::string &  lookup_name)
pure virtual

Given the name of a class, return the path of the associated plugin manifest.

Parameters
lookup_nameThe name of the class
Returns
The path of the associated plugin manifest

Implemented in pluginlib::ClassLoader< T >.

◆ getPluginXmlPaths()

virtual std::vector<std::string> pluginlib::ClassLoaderBase::getPluginXmlPaths ( )
pure virtual

Return a list of all available plugin manifest paths.

Returns
A vector of strings corresponding to the paths of all available plugin manifests

Implemented in pluginlib::ClassLoader< T >.

◆ getRegisteredLibraries()

virtual std::vector<std::string> pluginlib::ClassLoaderBase::getRegisteredLibraries ( )
pure virtual

Return the libraries that are registered and can be loaded.

Returns
A vector of strings corresponding to the names of registered libraries

Implemented in pluginlib::ClassLoader< T >.

◆ isClassAvailable()

virtual bool pluginlib::ClassLoaderBase::isClassAvailable ( const std::string &  lookup_name)
pure virtual

Check if the class associated with a plugin name is available to be loaded.

Parameters
lookup_nameThe name of the plugin
Returns
True if the plugin is available, false otherwise

Implemented in pluginlib::ClassLoader< T >.

◆ isClassLoaded()

virtual bool pluginlib::ClassLoaderBase::isClassLoaded ( const std::string &  lookup_name)
pure virtual

Check if a given class is currently loaded.

Parameters
lookup_nameThe lookup name of the class to query
Returns
True if the class is loaded, false otherwise

Implemented in pluginlib::ClassLoader< T >.

◆ loadLibraryForClass()

virtual void pluginlib::ClassLoaderBase::loadLibraryForClass ( const std::string &  lookup_name)
pure virtual

Attempt to load a class with a given name.

Parameters
lookup_nameThe lookup name of the class to load
Exceptions
pluginlib::LibraryLoadExceptionif the library for the class cannot be loaded

Implemented in pluginlib::ClassLoader< T >.

◆ refreshDeclaredClasses()

virtual void pluginlib::ClassLoaderBase::refreshDeclaredClasses ( )
pure virtual

Refresh the list of all available classes for this ClassLoader's base class type.

Exceptions
pluginlib::LibraryLoadExceptionif package manifest cannot be found

Implemented in pluginlib::ClassLoader< T >.

◆ unloadLibraryForClass()

virtual int pluginlib::ClassLoaderBase::unloadLibraryForClass ( const std::string &  lookup_name)
pure virtual

Attempt to unload a class with a given name.

Parameters
lookup_nameThe lookup name of the class to unload
Exceptions
pluginlib::LibraryUnloadExceptionif the library for the class cannot be unloaded
Returns
The number of pending unloads until the library is removed from memory

Implemented in pluginlib::ClassLoader< T >.


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


pluginlib
Author(s): Eitan Marder-Eppstein, Tully Foote, Dirk Thomas, Mirza Shah
autogenerated on Thu Jun 6 2019 22:03:47