QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
qgsgeonodeconnection.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgsgeonodeconnection.cpp
3  ---------------------
4  begin : Feb 2017
5  copyright : (C) 2017 by Muhammad Yarjuna Rohmat, Ismail Sunni
6  email : rohmat at kartoza dot com, ismail at kartoza 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 #include "qgssettings.h"
17 #include "qgsgeonodeconnection.h"
18 #include "qgslogger.h"
19 #include "qgsdatasourceuri.h"
20 #include "qgsowsconnection.h"
21 
22 const QString QgsGeoNodeConnectionUtils::sGeoNodeConnection = QStringLiteral( "GEONODE" );
23 
25  : mConnName( name )
26 {
27  mUri.setParam( QStringLiteral( "url" ), QgsOwsConnection::settingsConnectionUrl.value( {QgsGeoNodeConnectionUtils::sGeoNodeConnection.toLower(), mConnName} ) );
28 
29  // Check for credentials and prepend to the connection info
32  if ( !username.isEmpty() )
33  {
34  mUri.setUsername( username );
35  mUri.setPassword( password );
36  }
37 
39  if ( !authcfg.isEmpty() )
40  {
41  mUri.setAuthConfigId( authcfg );
42  }
43 
44  QgsDebugMsgLevel( QStringLiteral( "encodedUri: '%1'." ).arg( QString( mUri.encodedUri() ) ), 4 );
45 }
46 
48 {
49  return mUri;
50 }
51 
53 {
54  return mConnName;
55 }
56 
57 void QgsGeoNodeConnection::setConnectionName( const QString &connName )
58 {
59  mConnName = connName;
60 }
61 
63 {
64  mUri = uri;
65 }
66 
68 {
69  QString detailedConnectionName = QStringLiteral( "%1/wms" ).arg( mConnName );
71 }
72 
74 {
75  QString detailedConnectionName = QStringLiteral( "%1/wfs" ).arg( mConnName );
77 }
78 
80 {
81  QString detailedConnectionName = QStringLiteral( "%1/wcs" ).arg( mConnName );
83 }
84 
85 //
86 // QgsGeoNodeConnectionUtils
87 //
88 
89 
91 {
92  QgsSettings settings;
93  // Add Section manually
94  settings.beginGroup( QStringLiteral( "qgis/connections-geonode" ) );
95  return settings.childGroups();
96 }
97 
99 {
101 }
102 
104 {
105  return QStringLiteral( "qgis/connections-%1" ).arg( sGeoNodeConnection.toLower() );
106 }
107 
109 {
110  return QStringLiteral( "qgis/%1" ).arg( sGeoNodeConnection );
111 }
QgsDataSourceUri
Class for storing the component parts of a RDBMS data source URI (e.g. a Postgres data source).
Definition: qgsdatasourceuri.h:37
QgsGeoNodeConnectionUtils::deleteConnection
static void deleteConnection(const QString &name)
Deletes the GeoNode connection with matching name.
Definition: qgsgeonodeconnection.cpp:98
QgsOwsConnection::settingsConnectionUsername
static const QgsSettingsEntryString settingsConnectionUsername
Definition: qgsowsconnection.h:77
QgsDebugMsgLevel
#define QgsDebugMsgLevel(str, level)
Definition: qgslogger.h:39
QgsGeoNodeConnection::setConnectionName
void setConnectionName(const QString &connectionName)
Sets the name of the connection.
Definition: qgsgeonodeconnection.cpp:57
QgsOwsConnection::settingsConnectionAuthCfg
static const QgsSettingsEntryString settingsConnectionAuthCfg
Definition: qgsowsconnection.h:79
QgsOwsConnection::settingsConnectionUrl
static const QgsSettingsEntryString settingsConnectionUrl
Definition: qgsowsconnection.h:62
qgsowsconnection.h
QgsGeoNodeConnectionUtils::pathGeoNodeConnection
static QString pathGeoNodeConnection()
Returns the base path for settings related to GeoNode connections.
Definition: qgsgeonodeconnection.cpp:103
QgsSettings
This class is a composition of two QSettings instances:
Definition: qgssettings.h:61
QgsGeoNodeConnection::addWfsConnectionSettings
QgsDataSourceUri & addWfsConnectionSettings(QgsDataSourceUri &uri) const
Adds uri parameters relating to the settings for a WFS layer on the connection to a QgsDataSourceUri ...
Definition: qgsgeonodeconnection.cpp:73
QgsOwsConnection::addWfsConnectionSettings
static Q_DECL_DEPRECATED QgsDataSourceUri & addWfsConnectionSettings(QgsDataSourceUri &uri, const QString &settingsKey)
Adds uri parameters relating to the settings for a WFS connection to a QgsDataSourceUri uri.
Definition: qgsowsconnection.cpp:171
QgsGeoNodeConnection::addWcsConnectionSettings
QgsDataSourceUri & addWcsConnectionSettings(QgsDataSourceUri &uri) const
Adds uri parameters relating to the settings for a WCS layer on the connection to a QgsDataSourceUri ...
Definition: qgsgeonodeconnection.cpp:79
QgsGeoNodeConnectionUtils::connectionList
static QStringList connectionList()
Returns a list of all known GeoNode connection names.
Definition: qgsgeonodeconnection.cpp:90
QgsGeoNodeConnection::setUri
void setUri(const QgsDataSourceUri &uri)
Sets the uri for the GeoNode connection.
Definition: qgsgeonodeconnection.cpp:62
QgsDataSourceUri::setUsername
void setUsername(const QString &username)
Sets the username for the URI.
Definition: qgsdatasourceuri.cpp:265
qgsdatasourceuri.h
QgsOwsConnection::deleteConnection
static void deleteConnection(const QString &service, const QString &name)
Deletes the connection for the specified service with the specified name.
Definition: qgsowsconnection.cpp:258
QgsDataSourceUri::setAuthConfigId
void setAuthConfigId(const QString &authcfg)
Sets the authentication configuration ID for the URI.
Definition: qgsdatasourceuri.cpp:727
QgsGeoNodeConnectionUtils::pathGeoNodeConnectionDetails
static Q_DECL_DEPRECATED QString pathGeoNodeConnectionDetails()
Returns the base path for settings related to GeoNode connection details.
Definition: qgsgeonodeconnection.cpp:108
QgsOwsConnection::addWmsWcsConnectionSettings
static Q_DECL_DEPRECATED QgsDataSourceUri & addWmsWcsConnectionSettings(QgsDataSourceUri &uri, const QString &settingsKey)
Adds uri parameters relating to the settings for a WMS or WCS connection to a QgsDataSourceUri uri.
Definition: qgsowsconnection.cpp:105
QgsDataSourceUri::setParam
void setParam(const QString &key, const QString &value)
Sets a generic parameter value on the URI.
Definition: qgsdatasourceuri.cpp:789
qgsgeonodeconnection.h
QgsOwsConnection::settingsConnectionPassword
static const QgsSettingsEntryString settingsConnectionPassword
Definition: qgsowsconnection.h:78
QgsGeoNodeConnection::uri
QgsDataSourceUri uri() const
Returns the URI for the GeoNode connection.
Definition: qgsgeonodeconnection.cpp:47
QgsDataSourceUri::encodedUri
QByteArray encodedUri() const
Returns the complete encoded URI as a byte array.
Definition: qgsdatasourceuri.cpp:614
QgsSettings::beginGroup
void beginGroup(const QString &prefix, QgsSettings::Section section=QgsSettings::NoSection)
Appends prefix to the current group.
Definition: qgssettings.cpp:89
QgsSettingsEntryByReference::value
T value(const QString &dynamicKeyPart=QString()) const
Returns settings value.
Definition: qgssettingsentry.h:379
qgssettings.h
QgsGeoNodeConnection::connectionName
QString connectionName() const
Returns the name of the connection.
Definition: qgsgeonodeconnection.cpp:52
qgslogger.h
QgsGeoNodeConnection::QgsGeoNodeConnection
QgsGeoNodeConnection(const QString &name)
Constructor for a QgsGeoNodeConnection with the specified name.
Definition: qgsgeonodeconnection.cpp:24
QgsGeoNodeConnection::addWmsConnectionSettings
QgsDataSourceUri & addWmsConnectionSettings(QgsDataSourceUri &uri) const
Adds uri parameters relating to the settings for a WMS layer on the connection to a QgsDataSourceUri ...
Definition: qgsgeonodeconnection.cpp:67
QgsDataSourceUri::setPassword
void setPassword(const QString &password)
Sets the password for the URI.
Definition: qgsdatasourceuri.cpp:290
QgsGeoNodeConnectionUtils::sGeoNodeConnection
static const QString sGeoNodeConnection
Definition: qgsgeonodeconnection.h:55
QgsSettings::childGroups
QStringList childGroups() const
Returns a list of all key top-level groups that contain keys that can be read using the QSettings obj...
Definition: qgssettings.cpp:136