19 #ifndef QGS_OFFLINE_EDITING_H
20 #define QGS_OFFLINE_EDITING_H
56 bool convertToOfflineProject(
const QString& offlineDataPath,
const QString& offlineDbFile,
const QStringList& layerIds );
59 bool isOfflineProject();
66 void progressStarted();
72 void layerProgressUpdated(
int layer,
int numLayers );
83 void progressUpdated(
int progress );
86 void progressStopped();
89 void initializeSpatialMetadata(
sqlite3 *sqlite_handle );
90 bool createSpatialiteDB(
const QString& offlineDbPath );
91 void createLoggingTables(
sqlite3* db );
103 void showWarning(
const QString& message );
106 int getOrCreateLayerId(
sqlite3* db,
const QString& qgisLayerId );
107 int getCommitNo(
sqlite3* db );
108 void increaseCommitNo(
sqlite3* db );
114 int sqlExec(
sqlite3* db,
const QString& sql );
115 int sqlQueryInt(
sqlite3* db,
const QString& sql,
int defaultValue );
116 QList<int> sqlQueryInts(
sqlite3* db,
const QString& sql );
118 QList<QgsField> sqlQueryAttributesAdded(
sqlite3* db,
const QString& sql );
121 struct AttributeValueChange
127 typedef QList<AttributeValueChange> AttributeValueChanges;
128 AttributeValueChanges sqlQueryAttributeValueChanges(
sqlite3* db,
const QString& sql );
130 struct GeometryChange
135 typedef QList<GeometryChange> GeometryChanges;
136 GeometryChanges sqlQueryGeometryChanges(
sqlite3* db,
const QString& sql );
140 void committedAttributesAdded(
const QString& qgisLayerId,
const QList<QgsField>& addedAttributes );
141 void committedFeaturesAdded(
const QString& qgisLayerId,
const QgsFeatureList& addedFeatures );
142 void committedFeaturesRemoved(
const QString& qgisLayerId,
const QgsFeatureIds& deletedFeatureIds );
143 void committedAttributeValuesChanges(
const QString& qgisLayerId,
const QgsChangedAttributesMap& changedAttrsMap );
144 void committedGeometriesChanges(
const QString& qgisLayerId,
const QgsGeometryMap& changedGeometries );
145 void startListenFeatureChanges();
146 void stopListenFeatureChanges();
149 #endif // QGS_OFFLINE_EDITING_H