Class ClassLoaderBase
Defined in File class_loader_base.hpp
Inheritance Relationships
Derived Type
public pluginlib::ClassLoader< T >
(Template Class ClassLoader)
Class Documentation
-
class ClassLoaderBase
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 createInstance() and createUnmanagedInstance().
Subclassed by pluginlib::ClassLoader< T >
Public Functions
-
inline virtual ~ClassLoaderBase()
Empty virtual destructor.
-
virtual std::vector<std::string> getPluginXmlPaths() = 0
Return a list of all available plugin manifest paths.
- Returns:
A vector of strings corresponding to the paths of all available plugin manifests
-
virtual std::vector<std::string> getDeclaredClasses() = 0
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
-
virtual void refreshDeclaredClasses() = 0
Refresh the list of all available classes for this ClassLoader’s base class type.
- Throws:
pluginlib::LibraryLoadException – if package manifest cannot be found
-
virtual std::string getName(const std::string &lookup_name) = 0
Strip the package name off of a lookup name.
- Parameters:
lookup_name – The name of the plugin
- Returns:
The name of the plugin stripped of the package name
-
virtual bool isClassAvailable(const std::string &lookup_name) = 0
Check if the class associated with a plugin name is available to be loaded.
- Parameters:
lookup_name – The name of the plugin
- Returns:
True if the plugin is available, false otherwise
-
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.
- Parameters:
lookup_name – The name of the class
- Returns:
The name of the associated derived class
-
virtual std::string getClassDescription(const std::string &lookup_name) = 0
Given the lookup name of a class, return its description.
- Parameters:
lookup_name – The lookup name of the class
- Returns:
The description of the class
-
virtual std::string getBaseClassType() const = 0
Given the lookup name of a class, return the type of the associated base class.
- Returns:
The type of the associated base class
-
virtual std::string getClassPackage(const std::string &lookup_name) = 0
Given the name of a class, return name of the containing package.
- Parameters:
lookup_name – The name of the class
- Returns:
The name of the containing package
-
virtual std::string getPluginManifestPath(const std::string &lookup_name) = 0
Given the name of a class, return the path of the associated plugin manifest.
- Parameters:
lookup_name – The name of the class
- Returns:
The path of the associated plugin manifest
-
virtual bool isClassLoaded(const std::string &lookup_name) = 0
Check if a given class is currently loaded.
- Parameters:
lookup_name – The lookup name of the class to query
- Returns:
True if the class is loaded, false otherwise
-
virtual void loadLibraryForClass(const std::string &lookup_name) = 0
Attempt to load a class with a given name.
- Parameters:
lookup_name – The lookup name of the class to load
- Throws:
pluginlib::LibraryLoadException – if the library for the class cannot be loaded
-
virtual int unloadLibraryForClass(const std::string &lookup_name) = 0
Attempt to unload a class with a given name.
- Parameters:
lookup_name – The lookup name of the class to unload
- Throws:
pluginlib::LibraryUnloadException – if the library for the class cannot be unloaded
- Returns:
The number of pending unloads until the library is removed from memory
-
virtual std::vector<std::string> getRegisteredLibraries() = 0
Return the libraries that are registered and can be loaded.
- Returns:
A vector of strings corresponding to the names of registered libraries
-
virtual std::string getClassLibraryPath(const std::string &lookup_name) = 0
Given the name of a class, return the path to its associated library.
- Parameters:
lookup_name – The name of the class
- Returns:
The path to the associated library
-
inline virtual ~ClassLoaderBase()