36    Q_PROPERTY( QStringList identifierFields READ identifierFields WRITE setIdentifierFields NOTIFY identifierFieldsChanged )
 
   41    Q_PROPERTY( QVariantList extraIdentifierValues READ extraIdentifierValues WRITE setExtraIdentifierValues NOTIFY extraIdentifierValuesChanged )
 
   56    Q_DECL_DEPRECATED QString identifierField() const;
 
   63    QStringList identifierFields() const;
 
   71    void setIdentifierFields( const QStringList &identifierFields );
 
   78    void setExtraIdentifierValueToNull() override;
 
   85    QVariantList extraIdentifierValues() const;
 
   92    void setExtraIdentifierValues( const QVariantList &extraIdentifierValues );
 
  101    void identifierFieldsChanged();
 
  107    void extraIdentifierValuesChanged();
 
  110    QgsFeatureExpressionValuesGatherer *createValuesGatherer( const 
QgsFeatureRequest &request ) const override;
 
  114    QSet<QString> requestedAttributes() const override;
 
  116    QVariant entryIdentifier( const QgsFeatureExpressionValuesGatherer::Entry &entry ) const override;
 
  118    QgsFeatureExpressionValuesGatherer::Entry createEntry( const QVariant &identifier ) const override;
 
  120    bool compareEntries( const QgsFeatureExpressionValuesGatherer::Entry &a, const QgsFeatureExpressionValuesGatherer::Entry &b ) const override;
 
  122    bool identifierIsNull( const QVariant &identifier ) const override;
 
  124    QVariant nullIdentifier() const override;
 
  126    QStringList mIdentifierFields;