58 QDir moduleDir( modulePath );
59 moduleDir.setSorting( QDir::Name | QDir::IgnoreCase );
60 moduleDir.setFilter( QDir::Files );
62 #if defined(Q_OS_WIN) || defined(__CYGWIN__)
63 moduleDir.setNameFilters( QStringList(
"*.dll" ) );
65 moduleDir.setNameFilters( QStringList(
"*.so" ) );
70 const auto constFiList( moduleDir.entryInfoList() );
71 for (
const QFileInfo &fi : constFiList )
93 QLibrary lib( location );
95 qDebug() << QString(
"Loading native module %1" ).arg( location );
105 if ( entryPointFunc )
115 mModules.insert( location, ModuleTable::mapped_type( entry ) );
135 ModuleTable::iterator it = mModules.begin();
136 const ModuleTable::iterator end = mModules.end();
140 unloadModuleEntry( it->get() );
150 const ModuleTable::iterator item = mModules.find( location );
151 if ( item != mModules.end() )
static void logMessage(const QString &message, const QString &tag=QString(), Qgis::MessageLevel level=Qgis::MessageLevel::Warning, bool notifyUser=true)
Adds a message to the log instance (and creates it if necessary).
QgsServerInterface Class defining interfaces exposed by QGIS Server and made available to plugins.
Class defining the service module interface for QGIS server services.
virtual void registerSelf(QgsServiceRegistry ®istry, QgsServerInterface *serverIface=nullptr)=0
Asks the module to register all provided services.
QgsServiceModule * loadNativeModule(const QString &location)
Load the native module from path.
void unloadModules()
Unload all modules.
void loadModules(const QString &modulePath, QgsServiceRegistry ®istrar, QgsServerInterface *serverIface=nullptr)
Load all modules from path.
Native module (location, the module itself and the unload function).
unloadHook_t * mUnloadHook
QgsServiceNativeModuleEntry(const QString &location)
Constructor for QgsServiceNativeModuleEntry.
QgsServiceModule * mModule
QgsServiceRegistry Class defining the registry manager for QGIS server services.
QgsServiceModule * serviceEntryPoint_t()
void unloadHook_t(QgsServiceModule *)