QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
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 "qgis_server.h"
31
32#include <QHash>
33#include <memory>
34
43class SERVER_EXPORT QgsServiceNativeLoader
44{
45 public:
46
49
56 void loadModules( const QString &modulePath, QgsServiceRegistry &registrar,
57 QgsServerInterface *serverIface = nullptr );
58
62 void unloadModules();
63
70 QgsServiceModule *loadNativeModule( const QString &location );
71
72
73 private:
74 typedef QHash<QString, std::shared_ptr<QgsServiceNativeModuleEntry> > ModuleTable;
75
81 QgsServiceNativeModuleEntry *findModuleEntry( const QString &path );
82
86 void unloadModuleEntry( QgsServiceNativeModuleEntry *entry );
87
89 ModuleTable mModules;
90};
91
92#endif
93
QgsServerInterface Class defining interfaces exposed by QGIS Server and made available to plugins.
Class defining the service module interface for QGIS server services.
Class defining the native service module loader for QGIS server services.
QgsServiceNativeLoader()=default
Constructor.
Native module (location, the module itself and the unload function).
QgsServiceRegistry Class defining the registry manager for QGIS server services.