QGIS API Documentation 3.99.0-Master (21b3aa880ba)
Loading...
Searching...
No Matches
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#include "qgsfeaturerequest.h"
26#include "qgsserverrequest.h"
27
28#include <QDomNodeList>
29#include <QString>
30#include <QStringList>
31
34
35namespace QgsWfs
36{
38 {
39 QString typeName;
40
41 QString handle;
42
43 QDomNodeList featureNodeList;
44
45 QStringList insertFeatureIds;
46
47 bool error = false;
48
49 QString errorMsg;
50 };
51
53 {
54 QString typeName;
55
56 QString handle;
57
58 QMap<QString, QString> propertyMap;
59
60 QDomElement geometryElement;
61
63
64 QStringList serverFids;
65
66 int totalUpdated = 0;
67
68 bool error = false;
69
70 QString errorMsg;
71 };
72
74 {
75 QString typeName;
76
77 QString handle;
78
80
81 QStringList serverFids;
82
83 int totalDeleted = 0;
84
85 bool error = false;
86
87 QString errorMsg;
88 };
89
91 {
92 QList<transactionInsert> inserts;
93
94 QList<transactionUpdate> updates;
95
96 QList<transactionDelete> deletes;
97 };
98
102 transactionInsert parseInsertActionElement( QDomElement &actionElem );
103
107 transactionUpdate parseUpdateActionElement( QDomElement &actionElem, const QgsProject *project );
108
112 transactionDelete parseDeleteActionElement( QDomElement &actionElem, const QgsProject *project );
113
117 transactionRequest parseTransactionRequestBody( QDomElement &docElem, const QgsProject *project );
118
120
124 QgsFeatureList featuresFromGML( QDomNodeList featureNodeList, QgsVectorLayer *layer );
125
129 void performTransaction( transactionRequest &aRequest, QgsServerInterface *serverIface, const QgsProject *project );
130
134 void writeTransaction( QgsServerInterface *serverIface, const QgsProject *project, const QString &version, const QgsServerRequest &request, QgsServerResponse &response );
135
136
140 QDomDocument createTransactionDocument( QgsServerInterface *serverIface, const QgsProject *project, const QString &version, const QgsServerRequest &request );
141
142} // namespace QgsWfs
143
144#endif
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:109
Defines interfaces exposed by QGIS Server and made available to plugins.
Defines requests passed to QgsService classes.
QMap< QString, QString > Parameters
Defines the response interface passed to QgsService.
Represents a vector layer which manages a vector based dataset.
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
QgsFeatureRequest featureRequest
QList< transactionDelete > deletes
QList< transactionInsert > inserts
QList< transactionUpdate > updates
QgsFeatureRequest featureRequest
QMap< QString, QString > propertyMap