QGIS API Documentation  3.6.0-Noosa (5873452)
qgsservice.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsservice.h
3 
4  Class defining the service interface for QGIS server services.
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 
20 
21 #ifndef QGSSERVICECOMPONENT_H
22 #define QGSSERVICECOMPONENT_H
23 
24 #include "qgsserverrequest.h"
25 #include "qgsserverresponse.h"
26 
27 class QgsProject;
28 
39 class SERVER_EXPORT QgsService
40 {
41 #ifdef SIP_RUN
42 #include "qgsserverrequest.h"
43 #include "qgsserverresponse.h"
44 #endif
45 
46  public:
47 
49  QgsService();
50 
52  virtual ~QgsService() = default;
53 
57  virtual QString name() const = 0;
58 
62  virtual QString version() const = 0;
63 
68  virtual bool allowMethod( QgsServerRequest::Method ) const = 0;
69 
73  virtual void executeRequest( const QgsServerRequest &request,
74  QgsServerResponse &response,
75  const QgsProject *project ) = 0;
76 };
77 
78 #endif
79 
Method
HTTP Method (or equivalent) used for the request.
Reads and writes project states.
Definition: qgsproject.h:89
QgsService Class defining interfaces for QGIS server services.
Definition: qgsservice.h:39
QgsServerRequest Class defining request interface passed to services QgsService::executeRequest() met...
QgsServerResponse Class defining response interface passed to services QgsService::executeRequest() m...