QGIS API Documentation 3.99.0-Master (18a1e75d814)
Loading...
Searching...
No Matches
qgsvectortileconnection.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsvectortileconnection.h
3 ---------------------
4 begin : March 2020
5 copyright : (C) 2020 by Martin Dobias
6 email : wonder dot sk at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSVECTORTILECONNECTION_H
17#define QGSVECTORTILECONNECTION_H
18
19#include "qgis_core.h"
20#include "qgssettingstree.h"
21#include "qgssettingstreenode.h"
22
23#include <QString>
24
25#define SIP_NO_FILE
26
27using namespace Qt::StringLiterals;
28
30
31#include <QStringList>
32
34#include "qgshttpheaders.h"
35
39
40class CORE_EXPORT QgsVectorTileProviderConnection : public QgsAbstractProviderConnection
41{
42
43 public:
44
45#ifndef SIP_RUN
46
47 static inline QgsSettingsTreeNamedListNode *sTreeConnectionVectorTile = QgsSettingsTree::sTreeConnections->createNamedListNode( u"vector-tile"_s, Qgis::SettingsTreeNodeOption::NamedListSelectedItemSetting );
48
49 static const QgsSettingsEntryString *settingsUrl;
50 static const QgsSettingsEntryInteger *settingsZmin;
51 static const QgsSettingsEntryInteger *settingsZmax;
52 static const QgsSettingsEntryString *settingsAuthcfg;
53 static const QgsSettingsEntryString *settingsUsername;
54 static const QgsSettingsEntryString *settingsPassword;
55 static const QgsSettingsEntryString *settingsStyleUrl;
56 static const QgsSettingsEntryString *settingsServiceType;
57 static const QgsSettingsEntryVariantMap *settingsHeaders;
58#endif
59
60 QgsVectorTileProviderConnection( const QString &name );
61 QgsVectorTileProviderConnection( const QString &uri, const QVariantMap &configuration );
62
63 void store( const QString &name ) const override;
64 void remove( const QString &name ) const override;
65
71 enum ServiceType
72 {
73 Generic,
74 ArcgisVectorTileService,
75 };
76
78 struct Data
79 {
80 QString url;
81 int zMin = -1;
82 int zMax = -1;
83
84 ServiceType serviceType = Generic;
85
87 QString authCfg;
89 QString username;
91 QString password;
93 QgsHttpHeaders httpHeaders;
94
96 QString styleUrl;
97
98 };
99
101 static QString encodedUri( const Data &conn );
103 static Data decodedUri( const QString &uri );
104
106 static QString encodedLayerUri( const Data &conn );
107
109 static QStringList connectionList();
111 static Data connection( const QString &name );
113 static void deleteConnection( const QString &name );
115 static void addConnection( const QString &name, Data conn );
117 static QString selectedConnection();
119 static void setSelectedConnection( const QString &connName );
120};
121
123
124#endif // QGSVECTORTILECONNECTION_H
@ NamedListSelectedItemSetting
Creates a setting to store which is the current item.
Definition qgis.h:688
An interface for data provider connections.
virtual void remove(const QString &name) const =0
Deletes the connection from the settings.
virtual void store(const QString &name) const =0
Stores the connection in the settings.
An integer settings entry.
A string settings entry.
A string list settings entry.
A named list tree node for the settings tree to help organizing and introspecting the tree.
static QgsSettingsTreeNode * sTreeConnections