QGIS API Documentation  3.8.0-Zanzibar (11aff65)
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 
28 namespace 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 
97  QgsRectangle toRectangle() const;
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 
126  {
127  Q_GADGET
128 
129  public:
130 
132  enum Format
133  {
138  XSD
139  };
140 
143  {
145  HITS
146  };
147 
152  QgsWfsParameters( const QgsServerParameters &parameters );
153 
158 
162  virtual ~QgsWfsParameters() = default;
163 
167  void dump() const;
168 
173  QgsProjectVersion versionAsNumber() const;
174 
179  QString outputFormatAsString() const;
180 
186  Format outputFormat() const;
187 
192  QString resultTypeAsString() const;
193 
199  ResultType resultType() const;
200 
205  QStringList propertyNames() const;
206 
211  QString maxFeatures() const;
212 
220  int maxFeaturesAsInt() const;
221 
226  QString startIndex() const;
227 
235  int startIndexAsInt() const;
236 
241  QString srsName() const;
242 
247  QStringList typeNames() const;
248 
253  QStringList featureIds() const;
254 
259  QStringList filters() const;
260 
265  QString bbox() const;
266 
273  QgsRectangle bboxAsRectangle() const;
274 
279  QStringList sortBy() const;
280 
285  QStringList expFilters() const;
286 
291  QString geometryNameAsString() const;
292 
293  private:
294  bool loadParameter( const QString &name, const QString &key ) override;
295  void save( const QgsWfsParameter &parameter );
296 
297  void log( const QString &msg ) const;
298 
299  QList<QgsProjectVersion> mVersions;
300  QMap<QgsWfsParameter::Name, QgsWfsParameter> mWfsParameters;
301  };
302 }
303 
304 #endif
A rectangle specified with double values.
Definition: qgsrectangle.h:41
int toInt() const
Converts the parameter into an integer.
WFS parameter received from the client.
QgsWfsParameter(const QgsWfsParameter::Name name=QgsWfsParameter::UNKNOWN, const QVariant::Type type=QVariant::String, const QVariant defaultValue=QVariant(""))
Constructor for QgsWfsParameter.
WMS implementation.
Definition: qgswfs.cpp:35
A class to describe the version of a project.
void raiseError() const
Raises an error in case of an invalid conversion.
Format
Output format for the response.
QgsWfsParameter::Name mName
QgsRectangle toRectangle() const
Converts the parameter into a rectangle.
QgsServerParameters provides an interface to retrieve and manipulate global parameters received from ...
ResultType
Type of results.
Name
Available parameters for WFS requests.
QStringList toStringListWithExp(const QString &exp="\([^()]+)\") const
Converts the parameter into a list of string.
Provides an interface to retrieve and manipulate WFS parameters received from the client...
virtual ~QgsWfsParameter()=default
Default destructor for QgsWfsParameter.
static QString name(const QgsWfsParameter::Name)
Converts a parameter&#39;s name into its string representation.
Definition of a parameter with basic conversion methods.