QGIS API Documentation 3.29.0-Master (006c3c0232)
qgswfstransaction.h
Go to the documentation of this file.
1/***************************************************************************
2 qgswfstransaction.h
3 -------------------------
4 begin : December 20 , 2016
5 copyright : (C) 2007 by Marco Hugentobler (original code)
6 (C) 2012 by René-Luc D'Hont (original code)
7 (C) 2014 by Alessandro Pasotti (original code)
8 (C) 2017 by David Marteau
9 email : marco dot hugentobler at karto dot baug dot ethz dot ch
10 a dot pasotti at itopen dot it
11 david dot marteau at 3liz dot com
12 ***************************************************************************/
13
14/***************************************************************************
15 * *
16 * This program is free software; you can redistribute it and/or modify *
17 * it under the terms of the GNU General Public License as published by *
18 * the Free Software Foundation; either version 2 of the License, or *
19 * (at your option) any later version. *
20 * *
21 ***************************************************************************/
22#ifndef QGSWFSTRANSACTION_H
23#define QGSWFSTRANSACTION_H
24
25
26namespace QgsWfs
27{
29 {
30 QString typeName;
31
32 QString handle;
33
34 QDomNodeList featureNodeList;
35
36 QStringList insertFeatureIds;
37
38 bool error = false;
39
40 QString errorMsg;
41 };
42
44 {
45 QString typeName;
46
47 QString handle;
48
49 QMap<QString, QString> propertyMap;
50
51 QDomElement geometryElement;
52
54
55 QStringList serverFids;
56
57 int totalUpdated = 0;
58
59 bool error = false;
60
61 QString errorMsg;
62 };
63
65 {
66 QString typeName;
67
68 QString handle;
69
71
72 QStringList serverFids;
73
74 int totalDeleted = 0;
75
76 bool error = false;
77
78 QString errorMsg;
79 };
80
82 {
83 QList< transactionInsert > inserts;
84
85 QList< transactionUpdate > updates;
86
87 QList< transactionDelete > deletes;
88 };
89
93 transactionInsert parseInsertActionElement( QDomElement &actionElem );
94
98 transactionUpdate parseUpdateActionElement( QDomElement &actionElem, const QgsProject *project );
99
103 transactionDelete parseDeleteActionElement( QDomElement &actionElem, const QgsProject *project );
104
108 transactionRequest parseTransactionRequestBody( QDomElement &docElem, const QgsProject *project );
109
111
115 QgsFeatureList featuresFromGML( QDomNodeList featureNodeList, QgsVectorLayer *layer );
116
120 void performTransaction( transactionRequest &aRequest, QgsServerInterface *serverIface, const QgsProject *project );
121
125 void writeTransaction( QgsServerInterface *serverIface, const QgsProject *project,
126 const QString &version, const QgsServerRequest &request,
127 QgsServerResponse &response );
128
129
133 QDomDocument createTransactionDocument( QgsServerInterface *serverIface, const QgsProject *project,
134 const QString &version, const QgsServerRequest &request );
135
136} // namespace QgsWfs
137
138#endif
139
This class wraps a request for features to a vector layer (or directly its vector data provider).
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition: qgsproject.h:105
QgsServerInterface Class defining interfaces exposed by QGIS Server and made available to plugins.
QgsServerRequest Class defining request interface passed to services QgsService::executeRequest() met...
QMap< QString, QString > Parameters
QgsServerResponse Class defining response interface passed to services QgsService::executeRequest() m...
Represents a vector layer which manages a vector based data sets.
WMS implementation.
Definition: qgswfs.cpp:36
transactionRequest parseTransactionRequestBody(QDomElement &docElem, const QgsProject *project)
Transform RequestBody root element to getFeatureRequest.
transactionRequest parseTransactionParameters(QgsServerRequest::Parameters parameters, const QgsProject *project)
void performTransaction(transactionRequest &aRequest, QgsServerInterface *serverIface, const QgsProject *project)
Perform the transaction.
QgsFeatureList featuresFromGML(QDomNodeList featureNodeList, QgsVectorLayer *layer)
Transform GML feature nodes to features.
void writeTransaction(QgsServerInterface *serverIface, const QgsProject *project, const QString &version, const QgsServerRequest &request, QgsServerResponse &response)
Output WFS transaction response.
QDomDocument createTransactionDocument(QgsServerInterface *serverIface, const QgsProject *project, const QString &version, const QgsServerRequest &request)
Create a wfs transaction document.
transactionInsert parseInsertActionElement(QDomElement &actionElem)
Transform Insert element to transactionInsert.
transactionDelete parseDeleteActionElement(QDomElement &actionElem, const QgsProject *project)
Transform Delete element to transactionDelete.
transactionUpdate parseUpdateActionElement(QDomElement &actionElem, const QgsProject *project)
Transform Update element to transactionUpdate.
QList< QgsFeature > QgsFeatureList
Definition: qgsfeature.h:922
QgsFeatureRequest featureRequest
QList< transactionInsert > inserts
QList< transactionDelete > deletes
QList< transactionUpdate > updates
QgsFeatureRequest featureRequest
QMap< QString, QString > propertyMap