QGIS API Documentation 3.41.0-Master (af5edcb665c)
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:
42
45 {
46 restoreLayerFilters( mOriginalLayerFilters );
47 }
48
51
52 void restoreLayerFilters( const QHash<QgsMapLayer *, QString> &filterMap );
53
58 QHash<QgsMapLayer *, QString> &originalFilters() { return mOriginalLayerFilters; }
59
61 //XXX May be this method should be owned QgsAccessControl
62 static void applyAccessControlLayerFilters( const QgsAccessControl *accessControl, QgsMapLayer *mapLayer, QHash<QgsMapLayer *, QString> &originalLayerFilters );
63
69 static void applyAccessControlLayerFilters( const QgsAccessControl *accessControl, QgsMapLayer *mapLayer );
70
71 private:
72 QHash<QgsMapLayer *, QString> mOriginalLayerFilters;
73};
74
75#endif // QGSFILTERRESTORER_H
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.