QGIS API Documentation
3.99.0-Master (21b3aa880ba)
Loading...
Searching...
No Matches
src
server
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
25
class
QgsServiceModule
;
26
class
QgsServiceRegistry
;
27
class
QgsServiceNativeModuleEntry
;
28
class
QgsServerInterface
;
29
30
#include <memory>
31
32
#include "qgis_server.h"
33
34
#include <QHash>
35
44
class
SERVER_EXPORT
QgsServiceNativeLoader
45
{
46
public
:
48
QgsServiceNativeLoader
() =
default
;
49
56
void
loadModules
(
const
QString &modulePath,
QgsServiceRegistry
®istrar,
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
QgsServerInterface
Defines interfaces exposed by QGIS Server and made available to plugins.
Definition
qgsserverinterface.h:61
QgsServiceModule
Defines the service module interface for QGIS server services.
Definition
qgsservicemodule.h:41
QgsServiceNativeLoader::loadNativeModule
QgsServiceModule * loadNativeModule(const QString &location)
Load the native module from path.
Definition
qgsservicenativeloader.cpp:84
QgsServiceNativeLoader::unloadModules
void unloadModules()
Unload all modules.
Definition
qgsservicenativeloader.cpp:133
QgsServiceNativeLoader::QgsServiceNativeLoader
QgsServiceNativeLoader()=default
Constructor.
QgsServiceNativeLoader::loadModules
void loadModules(const QString &modulePath, QgsServiceRegistry ®istrar, QgsServerInterface *serverIface=nullptr)
Load all modules from path.
Definition
qgsservicenativeloader.cpp:55
QgsServiceNativeModuleEntry
Native module (location, the module itself and the unload function).
Definition
qgsservicenativeloader.cpp:39
QgsServiceRegistry
A registry manager for QGIS server services.
Definition
qgsserviceregistry.h:49
Generated on
for QGIS API Documentation by
1.15.0