#include <usSharedLibrary.h>
The SharedLibrary class loads shared libraries at runtime.
Definition at line 39 of file usSharedLibrary.h.
◆ SharedLibrary() [1/4]
us::SharedLibrary::SharedLibrary |
( |
| ) |
|
◆ SharedLibrary() [2/4]
◆ SharedLibrary() [3/4]
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.
- Parameters
-
libPath | An absolute path containing the shared library |
name | The base name of the shared library, without prefix and suffix. |
◆ SharedLibrary() [4/4]
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().
- Parameters
-
absoluteFilePath | The absolute path to the shared library. |
◆ ~SharedLibrary()
us::SharedLibrary::~SharedLibrary |
( |
| ) |
|
Destroys this object but does not unload the shared library.
◆ GetFilePath() [1/2]
std::string us::SharedLibrary::GetFilePath |
( |
| ) |
const |
Gets the absolute file path of this SharedLibrary object.
- Returns
- The absolute file path of the shared library.
◆ GetFilePath() [2/2]
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().
- Parameters
-
name | The shared library base name. |
- Returns
- The absolute file path of the shared library.
◆ GetHandle()
void* us::SharedLibrary::GetHandle |
( |
| ) |
const |
Gets the internal handle of this SharedLibrary object.
- Returns
nullptr
if the shared library is not loaded, the operating system specific handle otherwise.
◆ GetLibraryPath()
std::string us::SharedLibrary::GetLibraryPath |
( |
| ) |
const |
Gets the library search path of this SharedLibrary object.
- Returns
- The library search path.
◆ GetName()
std::string us::SharedLibrary::GetName |
( |
| ) |
const |
Gets the base name of the shared library.
- Returns
- The shared libraries base name.
◆ GetPrefix()
std::string us::SharedLibrary::GetPrefix |
( |
| ) |
const |
Gets the file name prefix of this SharedLibrary object.
- Returns
- The file name prefix of the shared library.
◆ GetSuffix()
std::string us::SharedLibrary::GetSuffix |
( |
| ) |
const |
Gets the file name suffix of this SharedLibrary object.
- Returns
- The file name suffix of the shared library.
◆ IsLoaded()
bool us::SharedLibrary::IsLoaded |
( |
| ) |
const |
Gets the loaded/unloaded stated of this SharedLibrary object.
- Returns
true
if the shared library is loaded, false
otherwise.
◆ Load() [1/2]
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.
- Exceptions
-
std::logic_error | If the library is already loaded. |
std::runtime_error | If loading the library failed. |
◆ Load() [2/2]
void us::SharedLibrary::Load |
( |
int |
flags | ) |
|
Loads the shared library pointed to by this SharedLibrary object, using the specified flags on POSIX systems.
- Exceptions
-
std::logic_error | If the library is already loaded. |
std::runtime_error | If loading the library failed. |
◆ operator=()
◆ SetFilePath()
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.
- Parameters
-
absoluteFilePath | The new absolute file path of this SharedLibrary object. |
◆ SetLibraryPath()
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.
- Parameters
-
path | The new shared library search path. |
◆ SetName()
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.
- Parameters
-
name | The base name of the shared library, without prefix and suffix. |
◆ SetPrefix()
void us::SharedLibrary::SetPrefix |
( |
const std::string & |
prefix | ) |
|
Sets the file name prefix 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.
- Parameters
-
prefix | The shared library name prefix. |
◆ SetSuffix()
void us::SharedLibrary::SetSuffix |
( |
const std::string & |
suffix | ) |
|
Sets the suffix 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.
- Parameters
-
suffix | The shared library name suffix. |
◆ Unload()
void us::SharedLibrary::Unload |
( |
| ) |
|
Un-loads the shared library pointed to by this SharedLibrary object.
- Exceptions
-
std::runtime_error | If an error occurred while un-loading the shared library. |
The documentation for this class was generated from the following file: