QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
qgsfeaturesink.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsfeaturesink.h
3 ----------------
4 begin : April 2017
5 copyright : (C) 2017 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSFEATURESINK_H
19#define QGSFEATURESINK_H
20
21#include "qgis_core.h"
22#include "qgis_sip.h"
23#include "qgsfeature.h"
24#include "qgsfeatureiterator.h"
25
33class CORE_EXPORT QgsFeatureSink
34{
35 public:
36
43 {
44
55 RegeneratePrimaryKey = 1 << 1,
56 };
57 Q_DECLARE_FLAGS( SinkFlags, SinkFlag )
58
59
60 enum Flag
61 {
62
70 FastInsert = 1 << 1,
71
78 RollBackOnErrors = 1 << 2,
79 };
80 Q_DECLARE_FLAGS( Flags, Flag )
81
82 virtual ~QgsFeatureSink() = default;
83
89 virtual bool addFeature( QgsFeature &feature, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() );
90
96 virtual bool addFeatures( QgsFeatureList &features, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() ) = 0;
97
102 virtual bool addFeatures( QgsFeatureIterator &iterator, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() );
103
108 virtual bool flushBuffer() { return true; }
109
115 virtual QString lastError() const { return QString(); }
116};
117
118Q_DECLARE_OPERATORS_FOR_FLAGS( QgsFeatureSink::Flags )
119
121
122#endif // QGSFEATURESINK_H
Wrapper for iterator of features from vector data provider or vector layer.
An interface for objects which accept features via addFeature(s) methods.
Flag
Flags controlling how features are added to a sink.
SinkFlag
Flags that can be set on a QgsFeatureSink.
virtual QString lastError() const
Returns the most recent error encountered by the sink, e.g.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition: qgsfeature.h:56
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
QList< QgsFeature > QgsFeatureList
Definition: qgsfeature.h:922
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsField::ConfigurationFlags) CORE_EXPORT QDataStream &operator<<(QDataStream &out
Writes the field to stream out. QGIS version compatibility is not guaranteed.