QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgswfsparameters.h
Go to the documentation of this file.
1/***************************************************************************
2 qgswfsparameters.h
3 ------------------
4 begin : Sept 14, 2017
5 copyright : (C) 2017 by René-Luc Dhont
6 email : rldhont at 3liz dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSWFSPARAMETERS_H
19#define QGSWFSPARAMETERS_H
20
21#include <QMap>
22#include <QMetaEnum>
23
24#include "qgsrectangle.h"
25#include "qgsprojectversion.h"
26#include "qgsserverparameters.h"
27
28namespace QgsWfs
29{
30
38 {
39 Q_GADGET
40
41 public:
43 enum Name
44 {
59 };
60 Q_ENUM( Name )
61
62
69 const QVariant::Type type = QVariant::String,
70 const QVariant defaultValue = QVariant( "" ) );
71
75 virtual ~QgsWfsParameter() = default;
76
82 int toInt() const;
83
90 QStringList toStringListWithExp( const QString &exp = "\\(([^()]+)\\)" ) const;
91
98
103 void raiseError() const;
104
108 static QString name( const QgsWfsParameter::Name );
109
114 static QgsWfsParameter::Name name( const QString &name );
115
117 };
118
125 {
126 Q_GADGET
127
128 public:
129
132 {
136 GeoJSON
137 };
138
141 {
143 HITS
144 };
145
150 QgsWfsParameters( const QgsServerParameters &parameters );
151
156
160 virtual ~QgsWfsParameters() = default;
161
165 void dump() const;
166
172
177 QString outputFormatAsString() const;
178
184 Format outputFormat() const;
185
190 QString resultTypeAsString() const;
191
197 ResultType resultType() const;
198
203 QStringList propertyNames() const;
204
209 QString maxFeatures() const;
210
218 int maxFeaturesAsInt() const;
219
224 QString startIndex() const;
225
233 int startIndexAsInt() const;
234
239 QString srsName() const;
240
245 QStringList typeNames() const;
246
251 QStringList featureIds() const;
252
257 QStringList filters() const;
258
263 QString bbox() const;
264
272
277 QStringList sortBy() const;
278
283 QStringList expFilters() const;
284
289 QString geometryNameAsString() const;
290
291 private:
292 bool loadParameter( const QString &key, const QString &value ) override;
293 void save( const QgsWfsParameter &parameter );
294
295 void log( const QString &msg ) const;
296
297 QList<QgsProjectVersion> mVersions;
298 QMap<QgsWfsParameter::Name, QgsWfsParameter> mWfsParameters;
299 };
300}
301
302#endif
A class to describe the version of a project.
A rectangle specified with double values.
Definition: qgsrectangle.h:42
Definition of a parameter with basic conversion methods.
QgsServerParameters provides an interface to retrieve and manipulate global parameters received from ...
QString value(const QString &key) const
Returns the value of a parameter.
WFS parameter received from the client.
virtual ~QgsWfsParameter()=default
Default destructor for QgsWfsParameter.
QgsWfsParameter::Name mName
Name
Available parameters for WFS requests.
QgsWfsParameter(const QgsWfsParameter::Name name=QgsWfsParameter::UNKNOWN, const QVariant::Type type=QVariant::String, const QVariant defaultValue=QVariant(""))
Constructor for QgsWfsParameter.
int toInt() const
Converts the parameter into an integer.
QStringList toStringListWithExp(const QString &exp="\\‍(([^()]+)\\‍)") const
Converts the parameter into a list of string.
void raiseError() const
Raises an error in case of an invalid conversion.
QgsRectangle toRectangle() const
Converts the parameter into a rectangle.
static QString name(const QgsWfsParameter::Name)
Converts a parameter's name into its string representation.
Provides an interface to retrieve and manipulate WFS parameters received from the client.
QgsWfsParameters()
Constructor for WFS parameters with default values only.
int startIndexAsInt() const
Returns STARTINDEX parameter as an int or its default value if not defined.
QString geometryNameAsString() const
Returns GEOMETRYNAME parameter as a string.
QStringList sortBy() const
Returns SORTBY parameter as list.
QStringList typeNames() const
Returns TYPENAME parameter as list.
QStringList expFilters() const
Returns EXP_FILTER parameter as list.
QString maxFeatures() const
Returns MAXFEATURES parameter as a string.
QStringList filters() const
Returns FILTER parameter as list.
QString srsName() const
Returns SRSNAME parameter as a string.
QString resultTypeAsString() const
Returns RESULTTYPE parameter as a string.
int maxFeaturesAsInt() const
Returns MAXFEATURES parameter as an int or its default value if not defined.
QString bbox() const
Returns BBOX if defined or an empty string.
void dump() const
Dumps parameters.
virtual ~QgsWfsParameters()=default
Default destructor for QgsWfsParameters.
QString outputFormatAsString() const
Returns OUTPUTFORMAT parameter as a string.
ResultType resultType() const
Returns resultType.
QgsProjectVersion versionAsNumber() const
Returns VERSION parameter if defined or its default value.
QStringList featureIds() const
Returns FEATUREID parameter as list.
QString startIndex() const
Returns STARTINDEX parameter as a string.
Format
Output format for the response.
QgsRectangle bboxAsRectangle() const
Returns BBOX as a rectangle if defined and valid.
QStringList propertyNames() const
Returns PROPERTYNAME parameter as list.
Format outputFormat() const
Returns format.
WMS implementation.
Definition: qgswfs.cpp:36