QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgswfstransaction_1_0_0.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_1_0_0_H
23#define QGSWFSTRANSACTION_1_0_0_H
24
25
26namespace QgsWfs
27{
28 namespace v1_0_0
29 {
31 {
32 QString typeName;
33
34 QString handle;
35
36 QDomNodeList featureNodeList;
37
38 QStringList insertFeatureIds;
39
40 bool error = false;
41
42 QString errorMsg;
43 };
44
46 {
47 QString typeName;
48
49 QString handle;
50
51 QMap<QString, QString> propertyMap;
52
53 QDomElement geometryElement;
54
56
57 QStringList serverFids;
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 bool error = false;
75
76 QString errorMsg;
77 };
78
80 {
81 QList< transactionInsert > inserts;
82
83 QList< transactionUpdate > updates;
84
85 QList< transactionDelete > deletes;
86 };
87
91 transactionInsert parseInsertActionElement( QDomElement &actionElem );
92
96 transactionUpdate parseUpdateActionElement( QDomElement &actionElem, const QgsProject *project );
97
101 transactionDelete parseDeleteActionElement( QDomElement &actionElem, const QgsProject *project );
102
106 transactionRequest parseTransactionRequestBody( QDomElement &docElem, const QgsProject *project );
107
109
113 QgsFeatureList featuresFromGML( QDomNodeList featureNodeList, QgsVectorLayer *layer );
114
118 void performTransaction( transactionRequest &aRequest, QgsServerInterface *serverIface, const QgsProject *project );
119
123 void writeTransaction( QgsServerInterface *serverIface, const QgsProject *project,
124 const QString &version, const QgsServerRequest &request,
125 QgsServerResponse &response );
126
127
131 QDomDocument createTransactionDocument( QgsServerInterface *serverIface, const QgsProject *project,
132 const QString &version, const QgsServerRequest &request );
133
134 } // namespace v1_0_0
135} // namespace QgsWfs
136
137#endif
138
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:107
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.
transactionInsert parseInsertActionElement(QDomElement &actionElem)
Transform Insert element to transactionInsert.
transactionDelete parseDeleteActionElement(QDomElement &actionElem, const QgsProject *project)
Transform Delete element to transactionDelete.
void performTransaction(transactionRequest &aRequest, QgsServerInterface *serverIface, const QgsProject *project)
Perform the transaction.
QDomDocument createTransactionDocument(QgsServerInterface *serverIface, const QgsProject *project, const QString &version, const QgsServerRequest &request)
Create a wfs transaction document.
transactionRequest parseTransactionRequestBody(QDomElement &docElem, const QgsProject *project)
Transform RequestBody root element to getFeatureRequest.
transactionRequest parseTransactionParameters(QgsServerRequest::Parameters parameters, const QgsProject *project)
void writeTransaction(QgsServerInterface *serverIface, const QgsProject *project, const QString &version, const QgsServerRequest &request, QgsServerResponse &response)
Output WFS transaction response.
QgsFeatureList featuresFromGML(QDomNodeList featureNodeList, QgsVectorLayer *layer)
Transform GML feature nodes to features.
transactionUpdate parseUpdateActionElement(QDomElement &actionElem, const QgsProject *project)
Transform Update element to transactionUpdate.
WMS implementation.
Definition: qgswfs.cpp:36
QList< QgsFeature > QgsFeatureList
Definition: qgsfeature.h:917