QGIS API Documentation
4.3.0-Master (0ad0cdb9438)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
server
qgsaccesscontrolfilter.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsaccesscontrolfilter.h
3
------------------------
4
Access control interface for QGIS Server plugins
5
6
begin : 2015-05-19
7
copyright : (C) 2015 by Stéphane Brunner
8
email : stephane dot brunner at camptocamp dot org
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
#ifndef QGSACCESSCONTROLPLUGIN_H
21
#define QGSACCESSCONTROLPLUGIN_H
22
23
#include "qgis_server.h"
24
#include "
qgis_sip.h
"
25
26
#include <QMultiMap>
27
#include <QString>
28
29
SIP_IF_MODULE
( HAVE_SERVER_PYTHON_PLUGINS )
30
31
class
QgsServerInterface
;
32
class
QgsMapLayer
;
33
class
QgsVectorLayer
;
34
class
QgsFeature
;
35
36
51
class
SERVER_EXPORT
QgsAccessControlFilter
52
{
53
public
:
59
QgsAccessControlFilter
(
const
QgsServerInterface
*
serverInterface
);
60
61
virtual
~QgsAccessControlFilter
() =
default
;
62
64
struct
LayerPermissions
65
{
66
bool
canRead
;
67
bool
canUpdate
;
68
bool
canInsert
;
69
bool
canDelete
;
70
};
71
73
const
QgsServerInterface
*
serverInterface
()
const
{
return
mServerInterface; }
74
80
virtual
QString layerFilterExpression(
const
QgsVectorLayer
*layer )
const
;
81
87
virtual
QString layerFilterSubsetString(
const
QgsVectorLayer
*layer )
const
;
88
94
virtual
LayerPermissions layerPermissions(
const
QgsMapLayer
*layer )
const
;
95
102
virtual
QStringList authorizedLayerAttributes(
const
QgsVectorLayer
*layer,
const
QStringList &attributes )
const
;
103
110
virtual
bool
allowToEdit(
const
QgsVectorLayer
*layer,
const
QgsFeature
&feature )
const
;
111
116
virtual
QString
cacheKey
()
const
;
117
118
private
:
120
const
QgsServerInterface
*mServerInterface =
nullptr
;
121
};
122
124
typedef
QMultiMap<int, QgsAccessControlFilter *>
QgsAccessControlFilterMap
;
125
126
127
#endif
// QGSSERVERSECURITY_H
QgsAccessControlFilter::serverInterface
const QgsServerInterface * serverInterface() const
Returns the QgsServerInterface instance.
Definition
qgsaccesscontrolfilter.h:73
QgsAccessControlFilter::QgsAccessControlFilter
QgsAccessControlFilter(const QgsServerInterface *serverInterface)
Constructor QgsServerInterface passed to plugins constructors and must be passed to QgsAccessControlF...
Definition
qgsaccesscontrolfilter.cpp:31
QgsAccessControlFilter::~QgsAccessControlFilter
virtual ~QgsAccessControlFilter()=default
QgsFeature
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition
qgsfeature.h:60
QgsMapLayer
Base class for all map layer types.
Definition
qgsmaplayer.h:83
QgsServerInterface
Defines interfaces exposed by QGIS Server and made available to plugins.
Definition
qgsserverinterface.h:61
QgsVectorLayer
Represents a vector layer which manages a vector based dataset.
Definition
qgsvectorlayer.h:414
qgis_sip.h
SIP_IF_MODULE
#define SIP_IF_MODULE(condition)
Definition
qgis_sip.h:27
QgsAccessControlFilterMap
QMultiMap< int, QgsAccessControlFilter * > QgsAccessControlFilterMap
The registry definition.
Definition
qgsaccesscontrolfilter.h:124
cacheKey
const QString cacheKey(const QString &pathIn)
Definition
qgscapabilitiescache.cpp:37
QgsAccessControlFilter::LayerPermissions
Describe the layer permission.
Definition
qgsaccesscontrolfilter.h:65
QgsAccessControlFilter::LayerPermissions::canUpdate
bool canUpdate
Definition
qgsaccesscontrolfilter.h:67
QgsAccessControlFilter::LayerPermissions::canRead
bool canRead
Definition
qgsaccesscontrolfilter.h:66
QgsAccessControlFilter::LayerPermissions::canInsert
bool canInsert
Definition
qgsaccesscontrolfilter.h:68
QgsAccessControlFilter::LayerPermissions::canDelete
bool canDelete
Definition
qgsaccesscontrolfilter.h:69
Generated on
for QGIS API Documentation by
1.17.0