QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
qgsserver.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsserver.h
3 QGIS Server main class.
4 -------------------
5 begin : June 05, 2015
6 copyright : (C) 2015 by Alessandro Pasotti
7 email : a dot pasotti at itopen dot it
8
9 Based on previous work from:
10
11 begin : July 04, 2006
12 copyright : (C) 2006 by Marco Hugentobler & Ionut Iosifescu Enescu
13 email : marco dot hugentobler at karto dot baug dot ethz dot ch
14
15 ***************************************************************************/
16
17/***************************************************************************
18 * *
19 * This program is free software; you can redistribute it and/or modify *
20 * it under the terms of the GNU General Public License as published by *
21 * the Free Software Foundation; either version 2 of the License, or *
22 * (at your option) any later version. *
23 * *
24 ***************************************************************************/
25
26
27#ifndef QGSSERVER_H
28#define QGSSERVER_H
29
30#include "qgis_server.h"
32#include "qgsconfigcache.h"
33#include "qgsrequesthandler.h"
35#include "qgsserverplugins.h"
36#include "qgsserverrequest.h"
37#include "qgsserversettings.h"
38#include "qgsserviceregistry.h"
39
40#include <QFileInfo>
41
43class QgsProject;
44
49class SERVER_EXPORT QgsServer
50{
51 public:
55 QgsServer();
56
62 void putenv( const QString &var, const QString &val );
63
76 void handleRequest( QgsServerRequest &request, QgsServerResponse &response, const QgsProject *project = nullptr );
77
78
81
82#ifdef HAVE_SERVER_PYTHON_PLUGINS
83
88 void initPython();
89#endif
90
91 private:
92#ifdef SIP_RUN
93 QgsServer( const QgsServer & );
94 QgsServer &operator=( const QgsServer & );
95#endif
96
98 static bool init();
99
103 static QString configPath( const QString &defaultConfigPath, const QString &configPath );
104
110 static void printRequestParameters(
111 const QMap<QString, QString> &parameterMap,
112 Qgis::MessageLevel logLevel
113 );
114
118 static QFileInfo defaultProjectFile();
119 static QFileInfo defaultAdminSLD();
120
124 static void setupNetworkAccessManager();
125
126 // Status
127 static QString *sConfigFilePath;
128 static QgsCapabilitiesCache *sCapabilitiesCache;
129 static QgsServerInterfaceImpl *sServerInterface;
131 static bool sInitialized;
132
134 static QgsServiceRegistry *sServiceRegistry;
135
137 QgsConfigCache *mConfigCache = nullptr;
138
140 static void initLocale();
141};
142#endif // QGSSERVER_H
MessageLevel
Level for messages This will be used both for message log and message bar in application.
Definition qgis.h:156
A cache for capabilities xml documents (by configuration file path).
Cache for server configuration.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:109
Interfaces exposed by QGIS Server and made available to plugins.
Defines interfaces exposed by QGIS Server and made available to plugins.
Defines requests passed to QgsService classes.
Defines the response interface passed to QgsService.
A server which provides OGC web services.
Definition qgsserver.h:50
QgsServer()
Creates the server instance.
Definition qgsserver.cpp:71
QgsServerInterfaceImpl * serverInterface()
Returns a pointer to the server interface.
Definition qgsserver.h:80
void handleRequest(QgsServerRequest &request, QgsServerResponse &response, const QgsProject *project=nullptr)
Handles the request.
void putenv(const QString &var, const QString &val)
Set environment variable.
A registry manager for QGIS server services.
#define SIP_PYALTERNATIVETYPE(type)
Definition qgis_sip.h:149