QGIS API Documentation 3.99.0-Master (21b3aa880ba)
Loading...
Searching...
No Matches
qgsservicenativeloader.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsservicerenativeloader.h
3
4 Define Loader for native service modules
5 -------------------
6 begin : 2016-12-05
7 copyright : (C) 2016 by David Marteau
8 email : david dot marteau at 3liz dot com
9 ***************************************************************************/
10
11/***************************************************************************
12 * *
13 * This program is free software; you can redistribute it and/or modify *
14 * it under the terms of the GNU General Public License as published by *
15 * the Free Software Foundation; either version 2 of the License, or *
16 * (at your option) any later version. *
17 * *
18 ***************************************************************************/
19#ifndef QGSSERVICENATIVELOADER_H
20#define QGSSERVICENATIVELOADER_H
21
22#define SIP_NO_FILE
23
24
29
30#include <memory>
31
32#include "qgis_server.h"
33
34#include <QHash>
35
44class SERVER_EXPORT QgsServiceNativeLoader
45{
46 public:
49
56 void loadModules( const QString &modulePath, QgsServiceRegistry &registrar, QgsServerInterface *serverIface = nullptr );
57
61 void unloadModules();
62
69 QgsServiceModule *loadNativeModule( const QString &location );
70
71
72 private:
73 typedef QHash<QString, std::shared_ptr<QgsServiceNativeModuleEntry>> ModuleTable;
74
80 QgsServiceNativeModuleEntry *findModuleEntry( const QString &path );
81
85 void unloadModuleEntry( QgsServiceNativeModuleEntry *entry );
86
88 ModuleTable mModules;
89};
90
91#endif
Defines interfaces exposed by QGIS Server and made available to plugins.
Defines the service module interface for QGIS server services.
QgsServiceModule * loadNativeModule(const QString &location)
Load the native module from path.
void unloadModules()
Unload all modules.
QgsServiceNativeLoader()=default
Constructor.
void loadModules(const QString &modulePath, QgsServiceRegistry &registrar, QgsServerInterface *serverIface=nullptr)
Load all modules from path.
Native module (location, the module itself and the unload function).
A registry manager for QGIS server services.