QGIS API Documentation  2.3.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | List of all members
QgsAbstractCacheIndex Class Referenceabstract

Abstract base class for cache indices. More...

#include <qgscacheindex.h>

Inheritance diagram for QgsAbstractCacheIndex:
Inheritance graph
[legend]

Public Member Functions

 QgsAbstractCacheIndex ()
 
virtual ~QgsAbstractCacheIndex ()
 
virtual void flushFeature (const QgsFeatureId fid)=0
 Is called, whenever a feature is removed from the cache. More...
 
virtual void flush ()=0
 Sometimes, the whole cache changes its state and its easier to just withdraw everything. More...
 
virtual void requestCompleted (QgsFeatureRequest featureRequest, QgsFeatureIds fids)
 Implement this method to update the the indices, in case you need information contained by the request to properly index. More...
 
virtual bool getCacheIterator (QgsFeatureIterator &featureIterator, const QgsFeatureRequest &featureRequest)=0
 Is called, when a feature request is issued on a cached layer. More...
 

Detailed Description

Abstract base class for cache indices.

Definition at line 29 of file qgscacheindex.h.

Constructor & Destructor Documentation

QgsAbstractCacheIndex::QgsAbstractCacheIndex ( )

Definition at line 19 of file qgscacheindex.cpp.

QgsAbstractCacheIndex::~QgsAbstractCacheIndex ( )
virtual

Definition at line 23 of file qgscacheindex.cpp.

Member Function Documentation

virtual void QgsAbstractCacheIndex::flush ( )
pure virtual

Sometimes, the whole cache changes its state and its easier to just withdraw everything.

In this case, this method is issued. Be sure to clear all cache information in here.

Implemented in QgsCacheIndexFeatureId.

virtual void QgsAbstractCacheIndex::flushFeature ( const QgsFeatureId  fid)
pure virtual

Is called, whenever a feature is removed from the cache.

You should update your indexes, so they become invalid in case this feature was required to successfuly answer a request.

Implemented in QgsCacheIndexFeatureId.

Referenced by QgsVectorLayerCache::featureRemoved().

virtual bool QgsAbstractCacheIndex::getCacheIterator ( QgsFeatureIterator featureIterator,
const QgsFeatureRequest featureRequest 
)
pure virtual

Is called, when a feature request is issued on a cached layer.

If this cache index is able to completely answer the feature request, it will return true and write the list of feature ids of cached features to cachedFeatures. If it is not able it will return false and the cachedFeatures state is undefined.

Parameters
featureIteratorA reference to a QgsFeatureIterator. A valid featureIterator will be assigned in case this index is able to answer the request and the return value is true.
featureRequestThe feature request, for which this index is queried.
Returns
True, if this index holds the information to answer the request.

Implemented in QgsCacheIndexFeatureId.

Referenced by QgsVectorLayerCache::getFeatures().

void QgsAbstractCacheIndex::requestCompleted ( QgsFeatureRequest  featureRequest,
QgsFeatureIds  fids 
)
virtual

Implement this method to update the the indices, in case you need information contained by the request to properly index.

(E.g. spatial index) Does nothing by default

Parameters
featureRequestThe feature request that was answered
fidsThe feature ids that have been returned

Reimplemented in QgsCacheIndexFeatureId.

Definition at line 27 of file qgscacheindex.cpp.

Referenced by QgsVectorLayerCache::requestCompleted().


The documentation for this class was generated from the following files: