104 DynLib (
const std::string& library,
105 const std::string& prefix=std::string(),
106 const std::string& funcName=std::string(),
107 bool closeOnDestruction=
True);
111 DynLib (
const std::string& library,
112 const std::string& prefix,
113 const std::string& version,
114 const std::string& funcName,
115 bool closeOnDestruction=
True);
121 DynLib (
const std::string& library,
122 Bool closeOnDestruction,
123 const std::string& prefix=
"lib",
125 const std::string& suffix=
".dylib");
127 const std::string& suffix=
".so");
150 void*
getFunc (
const std::string& funcName);
164 void attach (
const std::string& name,
165 const std::string& prefix,
166 const std::string& version,
167 const std::string& funcName);
172 std::string
tryOpen (
const std::string& name,
173 const std::string& libdir,
174 const std::string& prefix,
175 const std::string& version);
178 void open (
const std::string& name);
185 const std::string& prefix,
186 const std::string& version);
void open(const std::string &name)
Open (load) the dynamic library.
std::string tryOpen(const std::string &name, const std::string &libdir, const std::string &prefix, const std::string &version)
Try to open the library with some prefixes, suffixes and versions If successful, itsHandle is filled ...
DynLib(const std::string &library, const std::string &prefix=std::string(), const std::string &funcName=std::string(), bool closeOnDestruction=True)
Load the dynamic library.
void attach(const std::string &name, const std::string &prefix, const std::string &version, const std::string &funcName)
Try to open the library with some prefixes, suffixes and versions and to execute the initialization f...
const std::string & getError() const
Get the possible error.
Class to handle loading of dynamic libraries.
void * getFunc(const std::string &funcName)
Get a pointer to a function in the dynamic library.
bool Bool
Define the standard types used by Casacore.
void close()
Close (unload) the dynamic library (if opened).
void * getHandle() const
Get the dynamic library handle.
std::string tryCasacorePath(const std::string &library, const std::string &prefix, const std::string &version)
Try if the library can be opened using CASACORE_LDPATH.
~DynLib()
Close the dynamic library if told so in the constructor.