QGIS API Documentation  3.17.0-Master (a035f434f4)
qgsserverapicontext.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsserverapicontext.h - QgsServerApiContext
3 
4  ---------------------
5  begin : 13.5.2019
6  copyright : (C) 2019 by Alessandro Pasotti
7  email : elpaso at itopen dot it
8  ***************************************************************************
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  ***************************************************************************/
16 #ifndef QGSSERVERAPICONTEXT_H
17 #define QGSSERVERAPICONTEXT_H
18 
19 #include "qgis_server.h"
20 #include <QString>
21 
22 class QgsServerResponse;
23 class QgsServerRequest;
24 class QgsServerInterface;
25 class QgsProject;
26 
38 class SERVER_EXPORT QgsServerApiContext
39 {
40  public:
41 
52  QgsServerApiContext( const QString &apiRootPath, const QgsServerRequest *request, QgsServerResponse *response,
53  const QgsProject *project, QgsServerInterface *serverInterface );
54 
58  const QgsServerRequest *request() const;
59 
63  QgsServerResponse *response() const;
64 
69  const QgsProject *project() const;
70 
75  void setProject( const QgsProject *project );
76 
80  QgsServerInterface *serverInterface() const;
81 
92  const QString matchedPath( ) const;
93 
97  QString apiRootPath() const;
98 
102  void setRequest( const QgsServerRequest *request );
103 
104  private:
105 
106  QString mApiRootPath;
107  const QgsServerRequest *mRequest = nullptr;
108  QgsServerResponse *mResponse = nullptr;
109  const QgsProject *mProject = nullptr;
110  QgsServerInterface *mServerInterface = nullptr;
111 };
112 
113 #endif // QGSSERVERAPICONTEXT_H
Encapsulates a QGIS project, including sets of map layers and their styles, layouts, annotations, canvases, etc.
Definition: qgsproject.h:94
The QgsServerApiContext class encapsulates the resources for a particular client request: the request...
QgsServerRequest Class defining request interface passed to services QgsService::executeRequest() met...
QgsServerInterface Class defining interfaces exposed by QGIS Server and made available to plugins...
QgsServerResponse Class defining response interface passed to services QgsService::executeRequest() m...