This pluginlib classloader alternative can load compiled-in classes and provide them as if they were loaded via the standard pluginlib search mechanism - without even triggering the search. More...
#include <preloading_class_loader.hpp>
Public Member Functions | |
~PreloadingClassLoader () override | |
Public Member Functions inherited from class_loader::ClassLoader | |
CLASS_LOADER_PUBLIC | ClassLoader (const std::string &library_path, bool ondemand_load_unload=false) |
boost::shared_ptr< Base > | createInstance (const std::string &derived_class_name) |
std::shared_ptr< Base > | createSharedInstance (const std::string &derived_class_name) |
UniquePtr< Base > | createUniqueInstance (const std::string &derived_class_name) |
Base * | createUnmanagedInstance (const std::string &derived_class_name) |
std::vector< std::string > | getAvailableClasses () |
CLASS_LOADER_PUBLIC std::string | getLibraryPath () |
bool | isClassAvailable (const std::string &class_name) |
CLASS_LOADER_PUBLIC bool | isLibraryLoaded () |
CLASS_LOADER_PUBLIC bool | isLibraryLoadedByAnyClassloader () |
CLASS_LOADER_PUBLIC bool | isOnDemandLoadUnloadEnabled () |
CLASS_LOADER_PUBLIC void | loadLibrary () |
CLASS_LOADER_PUBLIC int | unloadLibrary () |
virtual CLASS_LOADER_PUBLIC | ~ClassLoader () |
Static Public Member Functions | |
static void | preload (const std::string &pluginlibType, pluginlib::ClassLoader< Base > &loader) |
"Install" the preloading classloader into the given classloader. More... | |
static void | unPreload (const std::string &pluginlibType, pluginlib::ClassLoader< Base > &loader) |
Revert the effect of preload() . More... | |
Protected Member Functions | |
PreloadingClassLoader () | |
Construct the class loader. More... | |
Additional Inherited Members | |
Public Types inherited from class_loader::ClassLoader | |
typedef std::function< void(Base *)> | DeleterType |
typedef std::unique_ptr< Base, DeleterType< Base > > | UniquePtr |
This pluginlib classloader alternative can load compiled-in classes and provide them as if they were loaded via the standard pluginlib search mechanism - without even triggering the search.
Impl | The class to be preloaded. |
Base | The base class for which pluginlib is looking. |
Definition at line 37 of file preloading_class_loader.hpp.
|
inlineprotected |
Construct the class loader.
preload()
method construct it. Definition at line 44 of file preloading_class_loader.hpp.
|
inlineoverride |
Definition at line 54 of file preloading_class_loader.hpp.
|
inlinestatic |
"Install" the preloading classloader into the given classloader.
[in] | pluginlibType | Name of the type that would be search for by pluginlib. |
[in] | loader | The pluginlib loader into which the class should be injected. |
Definition at line 68 of file preloading_class_loader.hpp.
|
inlinestatic |
Revert the effect of preload()
.
[in] | pluginlibType | |
[in] | loader | The pluginlib classloader from which the class should be "un-injected". |
Definition at line 84 of file preloading_class_loader.hpp.