39 static Plugin*
load(
const std::string& path, std::string& error);
40 virtual void*
getSymbol(
const char* name)
const = 0;
62 DLPlugin(
void* handle,
const std::string& path)
93 return ::dlsym(handle_.get(), name);
96 const std::string&
getPath()
const {
return path_; }
104 std::unique_ptr<
void,
int (*)(
void*)> handle_;
106 const std::string path_;
This class is used after a plugin library is successfully loaded.
const std::string & getPath() const
DLPlugin(void *handle, const std::string &path)
bool unload()
Unload plugin's library.
void * getSymbol(const char *name) const
Searchs for symbol in library.
This class is used to attempt loading a plugin library.
virtual JAMI_PluginInitFunc getInitFunction() const
Search loaded library for its initialization function.
static Plugin * load(const std::string &path, std::string &error)
Load plugin's library.
virtual ~Plugin()=default
virtual void * getSymbol(const char *name) const =0
#define JAMI_DYN_INIT_FUNC_NAME
JAMI_PluginExitFunc(* JAMI_PluginInitFunc)(const JAMI_PluginAPI *api)
void emitSignal(Args... args)
This structure is filled by the PluginManager.