40 : enable_ondemand_loadunload_(enable_ondemand_loadunload)
51 std::vector<std::string> libraries;
53 if (it.second !=
nullptr) {
54 libraries.push_back(it.first);
65 }
else {
return nullptr;}
72 loaders.push_back(it.second);
101 int remaining_unloads = 0;
110 return remaining_unloads;
bool isLibraryAvailable(const std::string &library_path)
Indicates if a library has been loaded into memory.
int unloadLibrary(const std::string &library_path)
Unloads a library for this class loader.
This class allows loading and unloading of dynamically linked libraries which contain class definitio...
std::vector< ClassLoader * > ClassLoaderVector
LibraryToClassLoaderMap active_class_loaders_
void loadLibrary(const std::string &library_path)
Loads a library into memory for this class loader.
void shutdownAllClassLoaders()
Destroys all ClassLoaders.
virtual ~MultiLibraryClassLoader()
Virtual destructor for class.
CLASS_LOADER_PUBLIC int unloadLibrary()
Attempts to unload a library loaded within scope of the ClassLoader. If the library is not opened...
std::vector< std::string > getRegisteredLibraries()
Gets a list of all libraries opened by this class loader .
MultiLibraryClassLoader(bool enable_ondemand_loadunload)
Constructor for the class.
ClassLoaderVector getAllAvailableClassLoaders()
Gets all class loaders loaded within scope.
bool isOnDemandLoadUnloadEnabled()
Indicates if on-demand (lazy) load/unload is enabled so libraries are loaded/unloaded automatically a...
ClassLoader * getClassLoaderForLibrary(const std::string &library_path)
Gets a handle to the class loader corresponding to a specific runtime library.