QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
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
54
55 void restoreLayerFilters( const QHash<QgsMapLayer *, QString> &filterMap );
56
61 QHash<QgsMapLayer *, QString> &originalFilters() { return mOriginalLayerFilters; }
62
64 //XXX May be this method should be owned QgsAccessControl
65 static void applyAccessControlLayerFilters( const QgsAccessControl *accessControl, QgsMapLayer *mapLayer,
66 QHash<QgsMapLayer *, QString> &originalLayerFilters );
67
73 static void applyAccessControlLayerFilters( const QgsAccessControl *accessControl, QgsMapLayer *mapLayer );
74
75 private:
76 QHash<QgsMapLayer *, QString> mOriginalLayerFilters;
77
78};
79
80#endif // QGSFILTERRESTORER_H
81
A helper class that centralizes restrictions given by all the access control filter plugins.
Base class for all map layer types.
Definition: qgsmaplayer.h:75
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 cannot be copied.
~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 cannot be copied.
QgsOWSServerFilterRestorer()=default
Default constructor for QgsOWSServerFilterRestorer.
static void applyAccessControlLayerFilters(const QgsAccessControl *accessControl, QgsMapLayer *mapLayer)
Applies filters from access control on layer.