| 
    PLCnext API Documentation 25.6.0.37
    
   | 
 
High level API to enable work with dynamically loadable shared libraries. More...
#include <SharedLibrary.hpp>
Public Types | |
| using | SymbolNames = std::vector< String > | 
Public Member Functions | |
| SharedLibrary (void) | |
| Constructs an SharedLibrary instance. | |
| SharedLibrary (const SharedLibrary &arg)=delete | |
| Copy contructor. | |
| SharedLibrary & | operator= (const SharedLibrary &arg)=delete | 
| Assignment operator. | |
| ~SharedLibrary (void) | |
| Destructs this instance and frees all resouces. | |
| SymbolNames | GetExportedFunctionNames (const String &path) const | 
| Loads the specified shared library. More... | |
| void | Load (const String &path, SharedLibraryMemoryLockOption sharedLibraryMemoryLockOption=SharedLibraryMemoryLockOption::Nothing) | 
| Loads the specified shared library. More... | |
| bool | TryLoad (const String &path, SharedLibraryMemoryLockOption sharedLibraryMemoryLockOption=SharedLibraryMemoryLockOption::Nothing) | 
| Loads the specified shared library. More... | |
| void | Unload (void) | 
| Unloads the shared library. More... | |
| void * | GetFunctionAddress (const String &symbolName) | 
| Returns the address where specified symbol is located in the memory. More... | |
Static Public Member Functions | |
| static String | GetArpLibrariesDirectory (void) | 
| static String | GetFormattedPath (const String &path) | 
| Formats the path depending on OS. More... | |
| static bool | ProbeLibrary (const String &path, String &probedPath) | 
| Probes the library More... | |
High level API to enable work with dynamically loadable shared libraries.
| SharedLibrary::SymbolNames Arp::System::Commons::Runtime::SharedLibrary::GetExportedFunctionNames | ( | const String & | path | ) | const | 
Loads the specified shared library.
Symbols exposed by the shared library are globally available after a successfull load.
| path | The complete path to the library to load. | 
| Arp::Exception | if the library could not be loaded. | 
Formats the path depending on OS.
| path | Path that shall be formatted. | 
| void * Arp::System::Commons::Runtime::SharedLibrary::GetFunctionAddress | ( | const String & | symbolName | ) | 
Returns the address where specified symbol is located in the memory.
| symbolName | Name of queried symbol. | 
| void Arp::System::Commons::Runtime::SharedLibrary::Load | ( | const String & | path, | 
| SharedLibraryMemoryLockOption | sharedLibraryMemoryLockOption = SharedLibraryMemoryLockOption::Nothing  | 
        ||
| ) | 
Loads the specified shared library.
Symbols exposed by the shared library are globally available after a successfull load.
| path | The complete path to the library to load. | 
| sharedLibraryMemoryLockOption | Optionally option to lock memory of shared library. If not set, then is set SharedLibraryMemoryLockOption::Nothing. | 
| Arp::Exception | if the library could not be loaded. | 
      
  | 
  static | 
Probes the library
| path | Path to library | 
| probedPath | Probed path to library | 
| bool Arp::System::Commons::Runtime::SharedLibrary::TryLoad | ( | const String & | path, | 
| SharedLibraryMemoryLockOption | sharedLibraryMemoryLockOption = SharedLibraryMemoryLockOption::Nothing  | 
        ||
| ) | 
Loads the specified shared library.
Symbols exposed by the shared library are globally available after a successfull load.
| path | The complete path to the library to load. | 
| sharedLibraryMemoryLockOption | Optionally option to lock memory of shared library. If not set, then is set SharedLibraryMemoryLockOption::Nothing. | 
true on success, otherwise false.| void Arp::System::Commons::Runtime::SharedLibrary::Unload | ( | void | ) | 
Unloads the shared library.
| Arp::Exception | in case the unload fails. |