Library: Foundation
Package: SharedLibrary
Header: Poco/SharedLibrary.h
The SharedLibrary class dynamically loads shared libraries at run-time.
Direct Base Classes: SharedLibraryImpl
All Base Classes: SharedLibraryImpl
Member Functions: getPath, getSymbol, hasSymbol, isLoaded, load, suffix, unload
Creates a SharedLibrary object.
SharedLibrary(
const std::string & path
);
Creates a SharedLibrary object and loads a library from the given path.
virtual ~SharedLibrary();
Destroys the SharedLibrary. The actual library remains loaded.
const std::string & getPath() const;
Returns the path of the library, as specified in a call to load() or the constructor.
void * getSymbol(
const std::string & name
);
Returns the address of the symbol with the given name. For functions, this is the entry point of the function. Throws a NotFoundException if the symbol does not exist.
bool hasSymbol(
const std::string & name
);
Returns true if and only if the loaded library contains a symbol with the given name.
bool isLoaded() const;
Returns true if and only if a library has been loaded.
void load(
const std::string & path
);
Loads a shared library from the given path. Throws a LibraryAlreadyLoadedException if a library has already been loaded. Throws a LibraryLoadException if the library cannot be loaded.
static std::string suffix();
Returns the platform-specific filename suffix for shared libraries (including the period). In debug mode, the suffix also includes a "d" to specify the debug version of a library.
void unload();
Unloads a shared library.