QGIS API Documentation  3.10.0-A Coruña (6c816b4204)
qgsserverinterfaceimpl.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsseerversinterface.h
3  Interface class for exposing functions in QGIS Server for use by plugins
4  -------------------
5  begin : 2014-09-10
6  copyright : (C) 2014 by Alessandro Pasotti
7  email : a dot pasotti at itopen dot it
8  ***************************************************************************/
9 
10 /***************************************************************************
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * *
17  ***************************************************************************/
18 
19 #ifndef QGSSERVERINTERFACEIMPL_H
20 #define QGSSERVERINTERFACEIMPL_H
21 
22 #define SIP_NO_FILE
23 
24 
25 #include "qgsserverinterface.h"
26 #include "qgscapabilitiescache.h"
27 #include "qgsservercachemanager.h"
28 
35 class SERVER_EXPORT QgsServerInterfaceImpl : public QgsServerInterface
36 {
37  public:
38 
40  explicit QgsServerInterfaceImpl( QgsCapabilitiesCache *capCache,
41  QgsServiceRegistry *srvRegistry,
42  QgsServerSettings *serverSettings );
43 
44 
45  ~QgsServerInterfaceImpl() override;
46 
47  void setRequestHandler( QgsRequestHandler *requestHandler ) override;
48  void clearRequestHandler() override;
49  QgsCapabilitiesCache *capabilitiesCache() override { return mCapabilitiesCache; }
51  QgsRequestHandler *requestHandler() override { return mRequestHandler; }
52  void registerFilter( QgsServerFilter *filter, int priority = 0 ) override;
53  QgsServerFiltersMap filters() override { return mFilters; }
54 
56  void registerAccessControl( QgsAccessControlFilter *accessControl, int priority = 0 ) override;
57 
62  QgsAccessControl *accessControls() const override { return mAccessControls; }
63 
64 
71  void registerServerCache( QgsServerCacheFilter *serverCache SIP_TRANSFER, int priority = 0 ) override;
72 
78  QgsServerCacheManager *cacheManager() const override;
79 
80  QString getEnv( const QString &name ) const override;
81  QString configFilePath() override { return mConfigFilePath; }
82  void setConfigFilePath( const QString &configFilePath ) override;
83  void setFilters( QgsServerFiltersMap *filters ) override;
84  void removeConfigCacheEntry( const QString &path ) override;
85 
87 
89 
90  private:
91 
92  QString mConfigFilePath;
93  QgsServerFiltersMap mFilters;
94  QgsAccessControl *mAccessControls = nullptr;
95  QgsServerCacheManager *mCacheManager = nullptr;
96  QgsCapabilitiesCache *mCapabilitiesCache = nullptr;
97  QgsRequestHandler *mRequestHandler = nullptr;
98  QgsServiceRegistry *mServiceRegistry = nullptr;
99  QgsServerSettings *mServerSettings = nullptr;
100 };
101 
102 #endif // QGSSERVERINTERFACEIMPL_H
virtual QString getEnv(const QString &name) const =0
Returns an enrironment variable, used to pass environment variables to Python.
virtual void setRequestHandler(QgsRequestHandler *requestHandler)=0
Set the request handler.
virtual QgsServerSettings * serverSettings()=0
Returns the server settings.
QString configFilePath() override
Returns the configuration file path.
QgsCapabilitiesCache * capabilitiesCache() override
Gets pointer to the capabiblities cache.
virtual void registerFilter(QgsServerFilter *filter, int priority=0)=0
Register a QgsServerFilter.
virtual void clearRequestHandler()=0
Clear the request handler.
virtual void registerServerCache(QgsServerCacheFilter *serverCache, int priority=0)=0
Register a server cache filter.
Provides a way to retrieve settings by prioritizing according to environment variables, ini file and default values.
Class defining I/O filters for QGIS Server and implemented in plugins.
Class defining access control interface for QGIS Server plugins.
Interfaces exposed by QGIS Server and made available to plugins.
QMultiMap< int, QgsServerFilter * > QgsServerFiltersMap
virtual QgsServiceRegistry * serviceRegistry()=0
Returns the service registry.
virtual void setFilters(QgsServerFiltersMap *filters)=0
Set the filters map.
#define SIP_TRANSFER
Definition: qgis_sip.h:36
A helper class that centralizes caches accesses given by all the server cache filter plugins...
QgsServerFiltersMap filters() override
Returns the list of current QgsServerFilter.
This class is an interface hiding the details of reading input and writing output from/to a wms reque...
Class defining cache interface for QGIS Server plugins.
virtual void removeConfigCacheEntry(const QString &path)=0
Remove entry from config cache.
A cache for capabilities xml documents (by configuration file path)
QgsServerInterface Class defining interfaces exposed by QGIS Server and made available to plugins...
QgsServiceRegistry Class defining the registry manager for QGIS server services.
QgsAccessControl * accessControls() const override
Gets the helper over all the registered access control filters.
virtual void setConfigFilePath(const QString &configFilePath)=0
Set the configuration file path.
virtual QgsServerCacheManager * cacheManager() const =0
Gets the registered server cache filters.
A helper class that centralizes restrictions given by all the access control filter plugins...
virtual void registerAccessControl(QgsAccessControlFilter *accessControl, int priority=0)=0
Register an access control filter.
QgsRequestHandler * requestHandler() override
Returns the QgsRequestHandler, to be used only in server plugins.