QGIS API Documentation 3.99.0-Master (26c88405ac0)
Loading...
Searching...
No Matches
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#include "qgsfeaturerequest.h"
26#include "qgsserverrequest.h"
27
28#include <QDomNodeList>
29#include <QString>
30#include <QStringList>
31
34
35namespace QgsWfs
36{
37 namespace v1_0_0
38 {
40 {
41 QString typeName;
42
43 QString handle;
44
45 QDomNodeList featureNodeList;
46
47 QStringList insertFeatureIds;
48
49 bool error = false;
50
51 QString errorMsg;
52 };
53
55 {
56 QString typeName;
57
58 QString handle;
59
60 QMap<QString, QString> propertyMap;
61
62 QDomElement geometryElement;
63
65
66 QStringList serverFids;
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 bool error = false;
84
85 QString errorMsg;
86 };
87
89 {
90 QList<transactionInsert> inserts;
91
92 QList<transactionUpdate> updates;
93
94 QList<transactionDelete> deletes;
95 };
96
100 transactionInsert parseInsertActionElement( QDomElement &actionElem );
101
105 transactionUpdate parseUpdateActionElement( QDomElement &actionElem, const QgsProject *project );
106
110 transactionDelete parseDeleteActionElement( QDomElement &actionElem, const QgsProject *project );
111
115 transactionRequest parseTransactionRequestBody( QDomElement &docElem, const QgsProject *project );
116
118
122 QgsFeatureList featuresFromGML( QDomNodeList featureNodeList, QgsVectorLayer *layer );
123
127 void performTransaction( transactionRequest &aRequest, QgsServerInterface *serverIface, const QgsProject *project );
128
132 void writeTransaction( QgsServerInterface *serverIface, const QgsProject *project, const QString &version, const QgsServerRequest &request, QgsServerResponse &response );
133
134
138 QDomDocument createTransactionDocument( QgsServerInterface *serverIface, const QgsProject *project, const QString &version, const QgsServerRequest &request );
139
140 } // namespace v1_0_0
141} // namespace QgsWfs
142
143#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.
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