|
Medical Imaging Interaction Toolkit
2026.06.00
Medical Imaging Interaction Toolkit
|
The SharedLibrary class loads shared libraries at runtime. More...
#include <usSharedLibrary.h>
Public Member Functions | |
| SharedLibrary () | |
| Default constructor. More... | |
| SharedLibrary (const SharedLibrary &other) | |
| Copy constructor. More... | |
| SharedLibrary (const std::string &libPath, const std::string &name) | |
| Construct a SharedLibrary object using a library search path and a library base name. More... | |
| SharedLibrary (const std::string &absoluteFilePath) | |
| Construct a SharedLibrary object using an absolute file path to the shared library. Using this constructor effectively disables all setters except SetFilePath(). More... | |
| ~SharedLibrary () | |
| Destroys this object but does not unload the shared library. More... | |
| SharedLibrary & | operator= (const SharedLibrary &other) |
| Assignment operator. More... | |
| void | Load () |
| Loads the shared library pointed to by this SharedLibrary object. On POSIX systems dlopen() is called with the RTLD_LAZY and RTLD_LOCAL flags unless the compiler is gcc 4.4.x or older. Then the RTLD_LAZY and RTLD_GLOBAL flags are used to load the shared library to work around RTTI problems across shared library boundaries. More... | |
| void | Load (int flags) |
| Loads the shared library pointed to by this SharedLibrary object, using the specified flags on POSIX systems. More... | |
| void | Unload () |
| Un-loads the shared library pointed to by this SharedLibrary object. More... | |
| void | SetName (const std::string &name) |
| Sets the base name of the shared library. Does nothing if the shared library is already loaded or the SharedLibrary(const std::string&) constructor was used. More... | |
| std::string | GetName () const |
| Gets the base name of the shared library. More... | |
| std::string | GetFilePath (const std::string &name) const |
Gets the absolute file path for the shared library with base name name, using the search path returned by GetLibraryPath(). More... | |
| void | SetFilePath (const std::string &absoluteFilePath) |
Sets the absolute file path of this SharedLibrary object. Using this methods with a non-empty absoluteFilePath argument effectively disables all other setters. More... | |
| std::string | GetFilePath () const |
| Gets the absolute file path of this SharedLibrary object. More... | |
| void | SetLibraryPath (const std::string &path) |
| Sets a new library search path. Does nothing if the shared library is already loaded or the SharedLibrary(const std::string&) constructor was used. More... | |
| std::string | GetLibraryPath () const |
| Gets the library search path of this SharedLibrary object. More... | |
| void | SetSuffix (const std::string &suffix) |
| Sets the suffix for shared library names (e.g. .dll or .so). Does nothing if the shared library is already loaded or the SharedLibrary(const std::string&) constructor was used. More... | |
| std::string | GetSuffix () const |
| Gets the file name suffix of this SharedLibrary object. More... | |
| void | SetPrefix (const std::string &prefix) |
| Sets the file name prefix for shared library names (e.g. lib). Does nothing if the shared library is already loaded or the SharedLibrary(const std::string&) constructor was used. More... | |
| std::string | GetPrefix () const |
| Gets the file name prefix of this SharedLibrary object. More... | |
| void * | GetHandle () const |
| Gets the internal handle of this SharedLibrary object. More... | |
| bool | IsLoaded () const |
| Gets the loaded/unloaded stated of this SharedLibrary object. More... | |
The SharedLibrary class loads shared libraries at runtime.
Definition at line 31 of file usSharedLibrary.h.
| us::SharedLibrary::SharedLibrary | ( | ) |
Default constructor.
| us::SharedLibrary::SharedLibrary | ( | const SharedLibrary & | other | ) |
Copy constructor.
| [in] | other | The SharedLibrary to copy. |
| us::SharedLibrary::SharedLibrary | ( | const std::string & | libPath, |
| const std::string & | name | ||
| ) |
Construct a SharedLibrary object using a library search path and a library base name.
| [in] | libPath | An absolute path containing the shared library |
| [in] | name | The base name of the shared library, without prefix and suffix. |
| us::SharedLibrary::SharedLibrary | ( | const std::string & | absoluteFilePath | ) |
Construct a SharedLibrary object using an absolute file path to the shared library. Using this constructor effectively disables all setters except SetFilePath().
| [in] | absoluteFilePath | The absolute path to the shared library. |
| us::SharedLibrary::~SharedLibrary | ( | ) |
Destroys this object but does not unload the shared library.
| std::string us::SharedLibrary::GetFilePath | ( | ) | const |
Gets the absolute file path of this SharedLibrary object.
| std::string us::SharedLibrary::GetFilePath | ( | const std::string & | name | ) | const |
Gets the absolute file path for the shared library with base name name, using the search path returned by GetLibraryPath().
| [in] | name | The shared library base name. |
| void* us::SharedLibrary::GetHandle | ( | ) | const |
Gets the internal handle of this SharedLibrary object.
nullptr if the shared library is not loaded, the operating system specific handle otherwise. | std::string us::SharedLibrary::GetLibraryPath | ( | ) | const |
Gets the library search path of this SharedLibrary object.
| std::string us::SharedLibrary::GetName | ( | ) | const |
Gets the base name of the shared library.
| std::string us::SharedLibrary::GetPrefix | ( | ) | const |
Gets the file name prefix of this SharedLibrary object.
| std::string us::SharedLibrary::GetSuffix | ( | ) | const |
Gets the file name suffix of this SharedLibrary object.
| bool us::SharedLibrary::IsLoaded | ( | ) | const |
Gets the loaded/unloaded stated of this SharedLibrary object.
true if the shared library is loaded, false otherwise. | void us::SharedLibrary::Load | ( | ) |
Loads the shared library pointed to by this SharedLibrary object. On POSIX systems dlopen() is called with the RTLD_LAZY and RTLD_LOCAL flags unless the compiler is gcc 4.4.x or older. Then the RTLD_LAZY and RTLD_GLOBAL flags are used to load the shared library to work around RTTI problems across shared library boundaries.
| std::logic_error | If the library is already loaded. |
| std::runtime_error | If loading the library failed. |
| void us::SharedLibrary::Load | ( | int | flags | ) |
Loads the shared library pointed to by this SharedLibrary object, using the specified flags on POSIX systems.
| [in] | flags | The POSIX dlopen flags (e.g. RTLD_LAZY, RTLD_GLOBAL). |
| std::logic_error | If the library is already loaded. |
| std::runtime_error | If loading the library failed. |
| SharedLibrary& us::SharedLibrary::operator= | ( | const SharedLibrary & | other | ) |
Assignment operator.
| [in] | other | The SharedLibrary to assign from. |
| void us::SharedLibrary::SetFilePath | ( | const std::string & | absoluteFilePath | ) |
Sets the absolute file path of this SharedLibrary object. Using this methods with a non-empty absoluteFilePath argument effectively disables all other setters.
| [in] | absoluteFilePath | The new absolute file path of this SharedLibrary object. |
| void us::SharedLibrary::SetLibraryPath | ( | const std::string & | path | ) |
Sets a new library search path. Does nothing if the shared library is already loaded or the SharedLibrary(const std::string&) constructor was used.
| [in] | path | The new shared library search path. |
| void us::SharedLibrary::SetName | ( | const std::string & | name | ) |
Sets the base name of the shared library. Does nothing if the shared library is already loaded or the SharedLibrary(const std::string&) constructor was used.
| [in] | name | The base name of the shared library, without prefix and suffix. |
| void us::SharedLibrary::SetPrefix | ( | const std::string & | prefix | ) |
Sets the file name prefix for shared library names (e.g. lib). Does nothing if the shared library is already loaded or the SharedLibrary(const std::string&) constructor was used.
| [in] | prefix | The shared library name prefix. |
| void us::SharedLibrary::SetSuffix | ( | const std::string & | suffix | ) |
Sets the suffix for shared library names (e.g. .dll or .so). Does nothing if the shared library is already loaded or the SharedLibrary(const std::string&) constructor was used.
| [in] | suffix | The shared library name suffix. |
| void us::SharedLibrary::Unload | ( | ) |
Un-loads the shared library pointed to by this SharedLibrary object.
| std::runtime_error | If an error occurred while un-loading the shared library. |