##// END OF EJS Templates
New Plugin Manager and interface to remove all the previous crap!...
New Plugin Manager and interface to remove all the previous crap! Let's use Qt plugin API and make it much simpler.

File last commit:

r100:11a895cff789 pre-0.7
r118:de85e8465e67 tip 1.0
Show More
unixpluginloader.cpp
39 lines | 1.3 KiB | text/x-c | CppLexer
Jeandet Alexis
First init of SocExplorer Repository.
r0 #include "unixpluginloader.h"
#include <stdio.h>
#include <QDebug>
Jeandet Alexis
Some more cleaning....
r100 #include <socexplorerengine.h>
Jeandet Alexis
First init of SocExplorer Repository.
r0
unixPluginLoader::unixPluginLoader(const QString &libPath)
{
Jeandet Alexis
Some more cleaning....
r100 SocExplorerEngine::message("unixPluginLoader::unixPluginLoader","try to open "+libPath,3);
Jeandet Alexis
First init of SocExplorer Repository.
r0 dlHandle = dlopen(libPath.toStdString().c_str(),RTLD_LAZY|RTLD_GLOBAL);
if(dlHandle==NULL)
Jeandet Alexis
Some more cleaning....
r100 SocExplorerEngine::message("unixPluginLoader::unixPluginLoader",QString("Failed ") + dlerror(),3);
Jeandet Alexis
First init of SocExplorer Repository.
r0 else
Jeandet Alexis
Some more cleaning....
r100 SocExplorerEngine::message("unixPluginLoader::unixPluginLoader","Success " ,3);
Jeandet Alexis
First init of SocExplorer Repository.
r0 this->libPath = libPath;
}
void *unixPluginLoader::resolve(const QString &symbol)
{
if(dlHandle!=NULL)
{
Jeandet Alexis
Some more cleaning....
r100 SocExplorerEngine::message("unixPluginLoader::resolve","try to resolve "+symbol+" in "+libPath ,3);
Jeandet Alexis
First init of SocExplorer Repository.
r0 void* sym = dlsym (dlHandle, symbol.toStdString().c_str());
if(sym==NULL)
Jeandet Alexis
Some more cleaning....
r100 SocExplorerEngine::message("unixPluginLoader::resolve",QString("Failed")+ dlerror() ,3);
Jeandet Alexis
First init of SocExplorer Repository.
r0 else
Jeandet Alexis
Some more cleaning....
r100 SocExplorerEngine::message("unixPluginLoader::resolve","Success",3);
Jeandet Alexis
First init of SocExplorer Repository.
r0 return sym;
}
return NULL;
}
void unixPluginLoader::close()
{
if(dlHandle!=NULL)
{
dlclose(dlHandle);
Jeandet Alexis
Some more cleaning....
r100 SocExplorerEngine::message("unixPluginLoader::close",dlerror(),3);
Jeandet Alexis
First init of SocExplorer Repository.
r0 }
}