QGIS API Documentation 3.41.0-Master (3291e9ff48b)
Loading...
Searching...
No Matches
qgsfilterrestorer.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsfilterrestorer.h
3 --------------
4 begin : March 24, 2014
5 copyright : (C) 2006 by Marco Hugentobler
6 email : marco dot hugentobler at sourcepole dot ch
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSFILTERRESTORER_H
19#define QGSFILTERRESTORER_H
20
21#define SIP_NO_FILE
22
23
24#include "qgis_server.h"
25
26#include <QHash>
27
28class QgsMapLayer;
30
35class SERVER_EXPORT QgsOWSServerFilterRestorer
36{
37 public:
38
43
46 {
47 restoreLayerFilters( mOriginalLayerFilters );
48 }
49
52
53 void restoreLayerFilters( const QHash<QgsMapLayer *, QString> &filterMap );
54
59 QHash<QgsMapLayer *, QString> &originalFilters() { return mOriginalLayerFilters; }
60
62 //XXX May be this method should be owned QgsAccessControl
63 static void applyAccessControlLayerFilters( const QgsAccessControl *accessControl, QgsMapLayer *mapLayer,
64 QHash<QgsMapLayer *, QString> &originalLayerFilters );
65
71 static void applyAccessControlLayerFilters( const QgsAccessControl *accessControl, QgsMapLayer *mapLayer );
72
73 private:
74 QHash<QgsMapLayer *, QString> mOriginalLayerFilters;
75
76};
77
78#endif // QGSFILTERRESTORER_H
79
A helper class that centralizes restrictions given by all the access control filter plugins.
Base class for all map layer types.
Definition qgsmaplayer.h:76
RAII class to restore layer filters on destruction.
QHash< QgsMapLayer *, QString > & originalFilters()
Returns a reference to the object's hash of layers to original subsetString filters.
QgsOWSServerFilterRestorer(const QgsOWSServerFilterRestorer &rh)=delete
~QgsOWSServerFilterRestorer()
Destructor. When object is destroyed all original layer filters will be restored.
static void applyAccessControlLayerFilters(const QgsAccessControl *accessControl, QgsMapLayer *mapLayer, QHash< QgsMapLayer *, QString > &originalLayerFilters)
Apply filter from AccessControl.
QgsOWSServerFilterRestorer & operator=(const QgsOWSServerFilterRestorer &rh)=delete
QgsOWSServerFilterRestorer()=default
Default constructor for QgsOWSServerFilterRestorer.
static void applyAccessControlLayerFilters(const QgsAccessControl *accessControl, QgsMapLayer *mapLayer)
Applies filters from access control on layer.