mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			163 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/server/qgsaccesscontrol.h                                        *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class QgsAccessControl : QgsFeatureFilterProvider
 | 
						|
{
 | 
						|
%Docstring(signature="appended")
 | 
						|
A helper class that centralizes restrictions given by all the access control filter plugins.
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgsaccesscontrol.h"
 | 
						|
#include "qgsaccesscontrolfilter.h"
 | 
						|
%End
 | 
						|
  public:
 | 
						|
    QgsAccessControl();
 | 
						|
%Docstring
 | 
						|
Constructor
 | 
						|
%End
 | 
						|
 | 
						|
    QgsAccessControl( const QgsAccessControl © );
 | 
						|
%Docstring
 | 
						|
Constructor
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
    ~QgsAccessControl();
 | 
						|
 | 
						|
 | 
						|
    void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
 | 
						|
%Docstring
 | 
						|
Resolve features' filter of layers
 | 
						|
The method fetch filter's expressions returned from access control plugins and
 | 
						|
and combine them to a unique expression for each layer.
 | 
						|
The resulted expressions are stored in cache for efficiency; between each requests, the cache
 | 
						|
must be cleared using ':py:func:`~QgsAccessControl.unresolveFilterFeatures`'.
 | 
						|
 | 
						|
:param layers: to filter
 | 
						|
%End
 | 
						|
 | 
						|
    void unresolveFilterFeatures();
 | 
						|
%Docstring
 | 
						|
Clear expression's cache computed from `resolveFilterFeatures`
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
 | 
						|
 | 
						|
%Docstring
 | 
						|
Filter the features of the layer
 | 
						|
 | 
						|
:param layer: the layer to control
 | 
						|
:param filterFeatures: the request to fill
 | 
						|
%End
 | 
						|
 | 
						|
    virtual QgsFeatureFilterProvider *clone() const /Factory/;
 | 
						|
 | 
						|
%Docstring
 | 
						|
Returns a clone of the object
 | 
						|
 | 
						|
:return: A clone
 | 
						|
%End
 | 
						|
 | 
						|
    QString extraSubsetString( const QgsVectorLayer *layer ) const;
 | 
						|
%Docstring
 | 
						|
Returns an additional subset string (typically SQL) filter
 | 
						|
 | 
						|
:param layer: the layer to control
 | 
						|
 | 
						|
:return: the subset string to use
 | 
						|
%End
 | 
						|
 | 
						|
    bool layerReadPermission( const QgsMapLayer *layer ) const;
 | 
						|
%Docstring
 | 
						|
Returns the layer read right
 | 
						|
 | 
						|
:param layer: the layer to control
 | 
						|
 | 
						|
:return: ``True`` if it can be read
 | 
						|
%End
 | 
						|
 | 
						|
    bool layerInsertPermission( const QgsVectorLayer *layer ) const;
 | 
						|
%Docstring
 | 
						|
Returns the layer insert right
 | 
						|
 | 
						|
:param layer: the layer to control
 | 
						|
 | 
						|
:return: ``True`` if we can insert on it
 | 
						|
%End
 | 
						|
 | 
						|
    bool layerUpdatePermission( const QgsVectorLayer *layer ) const;
 | 
						|
%Docstring
 | 
						|
Returns the layer update right
 | 
						|
 | 
						|
:param layer: the layer to control
 | 
						|
 | 
						|
:return: ``True`` if we can do an update
 | 
						|
%End
 | 
						|
 | 
						|
    bool layerDeletePermission( const QgsVectorLayer *layer ) const;
 | 
						|
%Docstring
 | 
						|
Returns the layer delete right
 | 
						|
 | 
						|
:param layer: the layer to control
 | 
						|
 | 
						|
:return: ``True`` if we can do a delete
 | 
						|
%End
 | 
						|
 | 
						|
    virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
 | 
						|
 | 
						|
%Docstring
 | 
						|
Returns the authorized layer attributes
 | 
						|
 | 
						|
:param layer: the layer to control
 | 
						|
:param attributes: the list of attribute
 | 
						|
 | 
						|
:return: the list of visible attributes
 | 
						|
%End
 | 
						|
 | 
						|
    bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const;
 | 
						|
%Docstring
 | 
						|
Are we authorized to modify the following geometry
 | 
						|
 | 
						|
:param layer: the layer to control
 | 
						|
:param feature: the concerned feature
 | 
						|
 | 
						|
:return: ``True`` if we are allowed to edit the feature
 | 
						|
%End
 | 
						|
 | 
						|
    bool fillCacheKey( QStringList &cacheKey ) const;
 | 
						|
%Docstring
 | 
						|
Fill the capabilities caching key
 | 
						|
 | 
						|
:param cacheKey: the list to fill with a cache variant
 | 
						|
%End
 | 
						|
 | 
						|
    void registerAccessControl( QgsAccessControlFilter *accessControl, int priority = 0 );
 | 
						|
%Docstring
 | 
						|
Register an access control filter
 | 
						|
 | 
						|
:param accessControl: the access control to add
 | 
						|
:param priority: the priority used to define the order
 | 
						|
%End
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/server/qgsaccesscontrol.h                                        *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 |