Address review

This commit is contained in:
Mathieu Pellerin 2025-06-27 14:02:05 +07:00 committed by Nyall Dawson
parent 231929e6e3
commit d31b74c0ae
29 changed files with 83 additions and 347 deletions

View File

@ -29,50 +29,14 @@ per-layer basis.
Constructor
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Filter the features of the layer
:param layer: the layer to control
:param filterFeatures: the request to fill
.. deprecated:: 4.0
Use the layer ID variant.
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer
:param layerId: the layer ID to control
:param filterFeatures: the request to fill
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureExpressionFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression ) /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Set a filter for the given layer.
:param layer: the layer to filter
:param expression: the filter expression
.. deprecated:: 4.0
Use the layer ID variant.
%End
void setFilter( const QString &layerId, const QgsExpression &expression );
%Docstring

View File

@ -30,12 +30,14 @@ also available.
public:
virtual bool isFilterThreadSafe() const;
virtual bool isFilterThreadSafe() const /Deprecated="Since 4.0. "/;
%Docstring
Returns ``True`` if the filterFeature function is thread safe, which
will lead to reliance on layer ID instead of the raw layer pointer.
.. versionadded:: 4.0
.. deprecated:: 4.0
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
@ -60,6 +62,8 @@ method.
:param layerId: the layer ID to filter
:param featureRequest: the feature request to update
.. versionadded:: 4.0
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0;

View File

@ -27,41 +27,17 @@ A filter filter provider grouping several filter providers.
Constructor
%End
virtual bool isFilterThreadSafe() const;
virtual bool isFilterThreadSafe() const /Deprecated/;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Filter the features of the layer.
:param layer: the layer to control
:param filterFeatures: the request to fill
.. deprecated:: 4.0
Use the layer ID variant.
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer.
:param layerId: the layer ID to control
:param filterFeatures: the request to fill
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsGroupedFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
QgsGroupedFeatureFilterProvider &addProvider( const QgsFeatureFilterProvider *provider );
%Docstring

View File

@ -1,5 +1,5 @@
# The following has been generated automatically from src/server/qgsaccesscontrol.h
try:
QgsAccessControl.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'clone', 'layerAttributes']
QgsAccessControl.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -37,6 +37,13 @@ Constructor
virtual bool isFilterThreadSafe() const;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsAccessControl *clone() const /Factory/;
void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
%Docstring
Resolve features' filter of layers The method fetch filter's expressions
@ -51,23 +58,6 @@ for efficiency; between each requests, the cache must be cleared using
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;
@ -113,17 +103,6 @@ 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;

View File

@ -16,6 +16,10 @@ class QgsFeatureFilter : QgsFeatureFilterProvider
%Docstring(signature="appended")
A feature filter provider allowing to set filter expressions on a
per-layer basis.
.. deprecated:: 3.4
Use :py:class:`QgsFeatureExpressionFilterProvider`
%End
%TypeHeaderCode
@ -31,23 +35,10 @@ Constructor
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 QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression );
%Docstring

View File

@ -14,6 +14,10 @@ class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
{
%Docstring(signature="appended")
A filter filter provider grouping several filter providers.
.. deprecated:: 3.4
Use :py:class:`QgsGroupedFeatureFilterProvider`
%End
%TypeHeaderCode
@ -29,23 +33,10 @@ Constructor
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 QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureFilterProviderGroup *clone() const /Factory/;
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
%Docstring

View File

@ -29,50 +29,14 @@ per-layer basis.
Constructor
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Filter the features of the layer
:param layer: the layer to control
:param filterFeatures: the request to fill
.. deprecated:: 4.0
Use the layer ID variant.
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer
:param layerId: the layer ID to control
:param filterFeatures: the request to fill
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureExpressionFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression ) /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Set a filter for the given layer.
:param layer: the layer to filter
:param expression: the filter expression
.. deprecated:: 4.0
Use the layer ID variant.
%End
void setFilter( const QString &layerId, const QgsExpression &expression );
%Docstring

View File

@ -30,12 +30,14 @@ also available.
public:
virtual bool isFilterThreadSafe() const;
virtual bool isFilterThreadSafe() const /Deprecated="Since 4.0. "/;
%Docstring
Returns ``True`` if the filterFeature function is thread safe, which
will lead to reliance on layer ID instead of the raw layer pointer.
.. versionadded:: 4.0
.. deprecated:: 4.0
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
@ -60,6 +62,8 @@ method.
:param layerId: the layer ID to filter
:param featureRequest: the feature request to update
.. versionadded:: 4.0
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0;

View File

@ -27,41 +27,17 @@ A filter filter provider grouping several filter providers.
Constructor
%End
virtual bool isFilterThreadSafe() const;
virtual bool isFilterThreadSafe() const /Deprecated/;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Filter the features of the layer.
:param layer: the layer to control
:param filterFeatures: the request to fill
.. deprecated:: 4.0
Use the layer ID variant.
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer.
:param layerId: the layer ID to control
:param filterFeatures: the request to fill
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsGroupedFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
QgsGroupedFeatureFilterProvider &addProvider( const QgsFeatureFilterProvider *provider );
%Docstring

View File

@ -1,5 +1,5 @@
# The following has been generated automatically from src/server/qgsaccesscontrol.h
try:
QgsAccessControl.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'clone', 'layerAttributes']
QgsAccessControl.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -37,6 +37,13 @@ Constructor
virtual bool isFilterThreadSafe() const;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsAccessControl *clone() const /Factory/;
void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
%Docstring
Resolve features' filter of layers The method fetch filter's expressions
@ -51,23 +58,6 @@ for efficiency; between each requests, the cache must be cleared using
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;
@ -113,17 +103,6 @@ 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;

View File

@ -16,6 +16,10 @@ class QgsFeatureFilter : QgsFeatureFilterProvider
%Docstring(signature="appended")
A feature filter provider allowing to set filter expressions on a
per-layer basis.
.. deprecated:: 3.4
Use :py:class:`QgsFeatureExpressionFilterProvider`
%End
%TypeHeaderCode
@ -31,23 +35,10 @@ Constructor
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 QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression );
%Docstring

View File

@ -14,6 +14,10 @@ class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
{
%Docstring(signature="appended")
A filter filter provider grouping several filter providers.
.. deprecated:: 3.4
Use :py:class:`QgsGroupedFeatureFilterProvider`
%End
%TypeHeaderCode
@ -29,23 +33,10 @@ Constructor
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 QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureFilterProviderGroup *clone() const /Factory/;
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
%Docstring

View File

@ -302,7 +302,16 @@ int QgsLayoutAtlas::updateFeatures()
#ifdef HAVE_SERVER_PYTHON_PLUGINS
if ( mLayout->renderContext().featureFilterProvider() )
{
mLayout->renderContext().featureFilterProvider()->filterFeatures( mCoverageLayer.get()->id(), req );
Q_NOWARN_DEPRECATED_PUSH
if ( mLayout->renderContext().featureFilterProvider()->isFilterThreadSafe() )
{
mLayout->renderContext().featureFilterProvider()->filterFeatures( mCoverageLayer.get()->id(), req );
}
else
{
mLayout->renderContext().featureFilterProvider()->filterFeatures( mCoverageLayer.get(), req );
}
Q_NOWARN_DEPRECATED_POP
}
#endif

View File

@ -425,16 +425,16 @@ bool QgsLayoutItemAttributeTable::getTableContents( QgsLayoutTableContents &cont
#ifdef HAVE_SERVER_PYTHON_PLUGINS
if ( mLayout->renderContext().featureFilterProvider() )
{
Q_NOWARN_DEPRECATED_PUSH
if ( mLayout->renderContext().featureFilterProvider()->isFilterThreadSafe() )
{
mLayout->renderContext().featureFilterProvider()->filterFeatures( layer->id(), req );
}
else
{
Q_NOWARN_DEPRECATED_PUSH
mLayout->renderContext().featureFilterProvider()->filterFeatures( layer, req );
Q_NOWARN_DEPRECATED_POP
}
Q_NOWARN_DEPRECATED_POP
}
#endif

View File

@ -47,11 +47,6 @@ QgsFeatureExpressionFilterProvider *QgsFeatureExpressionFilterProvider::clone()
return filter;
}
void QgsFeatureExpressionFilterProvider::setFilter( const QgsVectorLayer *layer, const QgsExpression &filter )
{
setFilter( layer->id(), filter );
}
void QgsFeatureExpressionFilterProvider::setFilter( const QString &layerId, const QgsExpression &filter )
{
mFilters[layerId] = filter.dump();

View File

@ -37,37 +37,11 @@ class CORE_EXPORT QgsFeatureExpressionFilterProvider : public QgsFeatureFilterPr
//! Constructor
QgsFeatureExpressionFilterProvider() = default;
/**
* Filter the features of the layer
* \param layer the layer to control
* \param filterFeatures the request to fill
* \deprecated QGIS 4.0. Use the layer ID variant.
*/
Q_DECL_DEPRECATED void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const override SIP_DEPRECATED;
/**
* Filter the features of the layer
* \param layerId the layer ID to control
* \param filterFeatures the request to fill
*/
void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const override;
QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const override;
/**
* Returns a clone of the object
* \returns A clone
*/
QgsFeatureExpressionFilterProvider *clone() const override SIP_FACTORY;
/**
* Set a filter for the given layer.
* \param layer the layer to filter
* \param expression the filter expression
* \deprecated QGIS 4.0. Use the layer ID variant.
*/
Q_DECL_DEPRECATED void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression ) SIP_DEPRECATED;
/**
* Set a filter for the given layer.
* \param layerId the layer to filter

View File

@ -54,8 +54,9 @@ class CORE_EXPORT QgsFeatureFilterProvider
* Returns TRUE if the filterFeature function is thread safe, which will lead to reliance on layer ID instead
* of the raw layer pointer.
* \since QGIS 4.0
* \deprecated QGIS 4.0
*/
virtual bool isFilterThreadSafe() const { return true; }
Q_DECL_DEPRECATED virtual bool isFilterThreadSafe() const SIP_DEPRECATED { return true; }
/**
* Add additional filters to the feature request to further restrict the features returned by the request.
@ -75,6 +76,7 @@ class CORE_EXPORT QgsFeatureFilterProvider
* Derived classes must implement this method.
* \param layerId the layer ID to filter
* \param featureRequest the feature request to update
* \since QGIS 4.0
*/
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &featureRequest ) const
{

View File

@ -23,10 +23,12 @@ bool QgsGroupedFeatureFilterProvider::isFilterThreadSafe() const
{
for ( const QgsFeatureFilterProvider *provider : mProviders )
{
Q_NOWARN_DEPRECATED_PUSH
if ( !provider->isFilterThreadSafe() )
{
return false;
}
Q_NOWARN_DEPRECATED_POP
}
return true;
}
@ -36,16 +38,16 @@ void QgsGroupedFeatureFilterProvider::filterFeatures( const QgsVectorLayer *laye
for ( const QgsFeatureFilterProvider *provider : mProviders )
{
QgsFeatureRequest temp;
Q_NOWARN_DEPRECATED_PUSH
if ( provider->isFilterThreadSafe() )
{
provider->filterFeatures( layer->id(), temp );
}
else
{
Q_NOWARN_DEPRECATED_PUSH
provider->filterFeatures( layer, temp );
Q_NOWARN_DEPRECATED_POP
}
Q_NOWARN_DEPRECATED_POP
if ( auto *lFilterExpression = temp.filterExpression() )
{
filterFeatures.combineFilterExpression( lFilterExpression->dump() );

View File

@ -35,29 +35,11 @@ class CORE_EXPORT QgsGroupedFeatureFilterProvider : public QgsFeatureFilterProvi
//! Constructor
QgsGroupedFeatureFilterProvider() = default;
bool isFilterThreadSafe() const override;
Q_DECL_DEPRECATED bool isFilterThreadSafe() const override SIP_DEPRECATED;
/**
* Filter the features of the layer.
* \param layer the layer to control
* \param filterFeatures the request to fill
* \deprecated QGIS 4.0. Use the layer ID variant.
*/
Q_DECL_DEPRECATED void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const override SIP_DEPRECATED;
/**
* Filter the features of the layer.
* \param layerId the layer ID to control
* \param filterFeatures the request to fill
*/
void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const override;
QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const override;
/**
* Returns a clone of the object
* \returns A clone
*/
QgsGroupedFeatureFilterProvider *clone() const override SIP_FACTORY;
/**

View File

@ -91,16 +91,16 @@ QList<QgsLabelFeature *> QgsVectorLayerDiagramProvider::labelFeatures( QgsRender
const QgsFeatureFilterProvider *featureFilterProvider = context.featureFilterProvider();
if ( featureFilterProvider )
{
Q_NOWARN_DEPRECATED_PUSH
if ( featureFilterProvider->isFilterThreadSafe() )
{
featureFilterProvider->filterFeatures( layerId(), request );
}
else
{
Q_NOWARN_DEPRECATED_PUSH
featureFilterProvider->filterFeatures( qobject_cast<QgsVectorLayer *>( mLayer ), request );
Q_NOWARN_DEPRECATED_POP
}
Q_NOWARN_DEPRECATED_POP
}
QgsFeatureIterator fit = mSource->getFeatures( request );

View File

@ -369,16 +369,16 @@ bool QgsVectorLayerRenderer::renderInternal( QgsFeatureRenderer *renderer, int r
const QgsFeatureFilterProvider *featureFilterProvider = context.featureFilterProvider();
if ( featureFilterProvider )
{
Q_NOWARN_DEPRECATED_PUSH
if ( featureFilterProvider->isFilterThreadSafe() )
{
featureFilterProvider->filterFeatures( layerId(), featureRequest );
}
else
{
Q_NOWARN_DEPRECATED_PUSH
featureFilterProvider->filterFeatures( mLayer, featureRequest );
Q_NOWARN_DEPRECATED_POP
}
Q_NOWARN_DEPRECATED_POP
}
if ( !rendererFilter.isEmpty() && rendererFilter != QLatin1String( "TRUE" ) )
{

View File

@ -86,7 +86,7 @@ void QgsAccessControl::filterFeatures( const QgsVectorLayer *layer, QgsFeatureRe
}
//! Clone the object
QgsFeatureFilterProvider *QgsAccessControl::clone() const
QgsAccessControl *QgsAccessControl::clone() const
{
return new QgsAccessControl( *this );
}

View File

@ -73,6 +73,10 @@ class SERVER_EXPORT QgsAccessControl : public QgsFeatureFilterProvider
bool isFilterThreadSafe() const override { return false; }
void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const override;
QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const override;
QgsAccessControl *clone() const override SIP_FACTORY;
/**
* Resolve features' filter of layers
* The method fetch filter's expressions returned from access control plugins and
@ -89,19 +93,6 @@ class SERVER_EXPORT QgsAccessControl : public QgsFeatureFilterProvider
*/
void unresolveFilterFeatures();
/**
* Filter the features of the layer
* \param layer the layer to control
* \param filterFeatures the request to fill
*/
void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const override;
/**
* Returns a clone of the object
* \returns A clone
*/
QgsFeatureFilterProvider *clone() const override SIP_FACTORY;
/**
* Returns an additional subset string (typically SQL) filter
* \param layer the layer to control
@ -137,14 +128,6 @@ class SERVER_EXPORT QgsAccessControl : public QgsFeatureFilterProvider
*/
bool layerDeletePermission( const QgsVectorLayer *layer ) const;
/**
* Returns the authorized layer attributes
* \param layer the layer to control
* \param attributes the list of attribute
* \returns the list of visible attributes
*/
QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const override;
/**
* Are we authorized to modify the following geometry
* \param layer the layer to control

View File

@ -17,7 +17,6 @@
#include "qgsdimensionfilter.h"
#include "qgsfeaturerequest.h"
#include "qgsvectorlayer.h"
QgsDimensionFilter::QgsDimensionFilter( const QHash<const QgsVectorLayer *, QStringList> dimensionFilter )
: mDimensionFilter( dimensionFilter )

View File

@ -29,6 +29,7 @@ class QgsExpression;
* \ingroup server
* \class QgsFeatureFilter
* \brief A feature filter provider allowing to set filter expressions on a per-layer basis.
* \deprecated QGIS 3.4. Use QgsFeatureExpressionFilterProvider
*/
class SERVER_EXPORT QgsFeatureFilter : public QgsFeatureFilterProvider
{
@ -38,19 +39,8 @@ class SERVER_EXPORT QgsFeatureFilter : public QgsFeatureFilterProvider
bool isFilterThreadSafe() const override { return false; }
/**
* Filter the features of the layer
* \param layer the layer to control
* \param filterFeatures the request to fill
*/
void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const override;
QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const override;
/**
* Returns a clone of the object
* \returns A clone
*/
QgsFeatureFilterProvider *clone() const override SIP_FACTORY;
/**

View File

@ -44,7 +44,7 @@ QStringList QgsFeatureFilterProviderGroup::layerAttributes( const QgsVectorLayer
return allowedAttributes;
}
QgsFeatureFilterProvider *QgsFeatureFilterProviderGroup::clone() const
QgsFeatureFilterProviderGroup *QgsFeatureFilterProviderGroup::clone() const
{
auto result = new QgsFeatureFilterProviderGroup();
result->mProviders = mProviders;

View File

@ -27,6 +27,7 @@
* \ingroup server
* \class QgsFeatureFilterProviderGroup
* \brief A filter filter provider grouping several filter providers.
* \deprecated QGIS 3.4. Use QgsGroupedFeatureFilterProvider
*/
class SERVER_EXPORT QgsFeatureFilterProviderGroup : public QgsFeatureFilterProvider
{
@ -36,20 +37,9 @@ class SERVER_EXPORT QgsFeatureFilterProviderGroup : public QgsFeatureFilterProvi
bool isFilterThreadSafe() const override { return false; }
/**
* Filter the features of the layer.
* \param layer the layer to control
* \param filterFeatures the request to fill
*/
void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const override;
QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const override;
/**
* Returns a clone of the object
* \returns A clone
*/
QgsFeatureFilterProvider *clone() const override SIP_FACTORY;
QgsFeatureFilterProviderGroup *clone() const override SIP_FACTORY;
/**
* Add another filter provider to the group