38 #ifndef Foundation_SharedLibrary_INCLUDED 39 #define Foundation_SharedLibrary_INCLUDED 89 void load(
const std::string&
path,
int flags = 0);
106 void*
getSymbol(
const std::string& name);
111 const std::string&
getPath()
const;
117 static std::string
prefix();
123 static std::string
suffix();
128 static std::string
getOSName(
const std::string& name);
143 #endif // Foundation_SharedLibrary_INCLUDED virtual ~SharedLibrary()=default
const std::string & getPath() const
static pthread_mutex_t mutex
static std::string prefix()
SharedLibrary & operator=(const SharedLibrary &)
bool hasSymbol(const std::string &name)
static std::string getOSName(const std::string &name)
static std::string suffix()
void * getSymbol(const std::string &name)
Simple class for manipulating paths on Linux/Windows/Mac OS.
void load(const std::string &path, int flags=0)
void unload()
Unloads a shared library.
SharedLibrary()
Creates a SharedLibrary object.
bool isLoaded() const
Returns true iff a library has been loaded.
void * findSymbol(const std::string &name)