26#include "moc_qgsowsconnection.cpp" 
   34#include <QNetworkRequest> 
   35#include <QNetworkReply> 
   83  : mConnName( connName )
 
   89  mConnectionInfo = url;
 
   95  if ( !username.isEmpty() )
 
  103  if ( !authcfg.isEmpty() )
 
  107  mConnectionInfo.append( 
",authcfg=" + authcfg );
 
  112  if ( !referer.isEmpty() )
 
  114    mConnectionInfo.append( 
",referer=" + referer );
 
  117  if ( mService.compare( QLatin1String( 
"WMS" ), Qt::CaseInsensitive ) == 0
 
  118       || mService.compare( QLatin1String( 
"WCS" ), Qt::CaseInsensitive ) == 0 )
 
  122  else if ( mService.compare( QLatin1String( 
"WFS" ), Qt::CaseInsensitive ) == 0 )
 
 
  137  return mConnectionInfo;
 
 
  153  addCommonConnectionSettings( 
uri, settingsKey );
 
  159  if ( settings.value( settingsKey + QStringLiteral( 
"/ignoreGetMapURI" ), 
false ).toBool() )
 
  161    uri.
setParam( QStringLiteral( 
"IgnoreGetMapUrl" ), QStringLiteral( 
"1" ) );
 
  163  if ( settings.value( settingsKey + QStringLiteral( 
"/ignoreGetFeatureInfoURI" ), 
false ).toBool() )
 
  165    uri.
setParam( QStringLiteral( 
"IgnoreGetFeatureInfoUrl" ), QStringLiteral( 
"1" ) );
 
  167  if ( settings.value( settingsKey + QStringLiteral( 
"/smoothPixmapTransform" ), 
false ).toBool() )
 
  169    uri.
setParam( QStringLiteral( 
"SmoothPixmapTransform" ), QStringLiteral( 
"1" ) );
 
  171  if ( settings.value( settingsKey + QStringLiteral( 
"/ignoreReportedLayerExtents" ), 
false ).toBool() )
 
  173    uri.
setParam( QStringLiteral( 
"IgnoreReportedLayerExtents" ), QStringLiteral( 
"1" ) );
 
  175  const QString dpiMode = settings.value( settingsKey + QStringLiteral( 
"/dpiMode" ), QStringLiteral( 
"all" ) ).toString();
 
  176  if ( !dpiMode.isEmpty() )
 
  178    uri.
setParam( QStringLiteral( 
"dpiMode" ), dpiMode );
 
  180  const QString tilePixelRatio = settings.value( settingsKey + QStringLiteral( 
"/tilePixelRatio" ), 
"0" ).toString();
 
  181  if ( tilePixelRatio != QLatin1String( 
"0" ) )
 
  183    uri.
setParam( QStringLiteral( 
"tilePixelRatio" ), tilePixelRatio );
 
 
  191  addCommonConnectionSettings( 
uri, 
service, connName );
 
  197    uri.
setParam( QStringLiteral( 
"IgnoreGetMapUrl" ), QStringLiteral( 
"1" ) );
 
  201    uri.
setParam( QStringLiteral( 
"IgnoreGetFeatureInfoUrl" ), QStringLiteral( 
"1" ) );
 
  205    uri.
setParam( QStringLiteral( 
"SmoothPixmapTransform" ), QStringLiteral( 
"1" ) );
 
  209    uri.
setParam( QStringLiteral( 
"IgnoreReportedLayerExtents" ), QStringLiteral( 
"1" ) );
 
 
  230  addCommonConnectionSettings( 
uri, settingsKey );
 
  234  const QString version = settings.
value( settingsKey + 
"/version" ).toString();
 
  235  if ( !version.isEmpty() )
 
  237    uri.
setParam( QStringLiteral( 
"version" ), version );
 
  240  const QString maxnumfeatures = settings.value( settingsKey + QStringLiteral( 
"/maxnumfeatures" ) ).toString();
 
  241  if ( !maxnumfeatures.isEmpty() )
 
  243    uri.
setParam( QStringLiteral( 
"maxNumFeatures" ), maxnumfeatures );
 
 
  251  addCommonConnectionSettings( 
uri, 
service, connName );
 
  254  if ( !version.isEmpty() )
 
  256    uri.
setParam( QStringLiteral( 
"version" ), version );
 
  260  if ( !maxnumFeatures.isEmpty() )
 
  262    uri.
setParam( QStringLiteral( 
"maxNumFeatures" ), maxnumFeatures );
 
  266  switch ( httpMethod )
 
  273      uri.
setParam( QStringLiteral( 
"httpMethod" ), QStringLiteral( 
"post" ) );
 
 
  301void QgsOwsConnection::addCommonConnectionSettings( 
QgsDataSourceUri &uri, 
const QString &key )
 
  305  if ( settings.
value( key + QStringLiteral( 
"/ignoreAxisOrientation" ), 
false ).toBool() )
 
  307    uri.
setParam( QStringLiteral( 
"IgnoreAxisOrientation" ), QStringLiteral( 
"1" ) );
 
  309  if ( settings.
value( key + QStringLiteral( 
"/invertAxisOrientation" ), 
false ).toBool() )
 
  311    uri.
setParam( QStringLiteral( 
"InvertAxisOrientation" ), QStringLiteral( 
"1" ) );
 
  315void QgsOwsConnection::addCommonConnectionSettings( 
QgsDataSourceUri &uri, 
const QString &service, 
const QString &connectionName )
 
  320    uri.
setParam( QStringLiteral( 
"IgnoreAxisOrientation" ), QStringLiteral( 
"1" ) );
 
  324    uri.
setParam( QStringLiteral( 
"InvertAxisOrientation" ), QStringLiteral( 
"1" ) );
 
@ SaveEnumFlagAsInt
The enum/flag will be saved as an integer value instead of text.
 
@ Undefined
Undefined (not scale)
 
HttpMethod
Different methods of HTTP requests.
 
static const QgsSettingsEntryString * settingsUsername
 
static const QgsSettingsEntryString * settingsUrl
 
static const QgsSettingsEntryString * settingsPassword
 
static const QgsSettingsEntryVariantMap * settingsHeaders
 
static const QgsSettingsEntryString * settingsContentEndpoint
 
static const QgsSettingsEntryString * settingsUrlPrefix
 
static const QgsSettingsEntryString * settingsAuthcfg
 
static const QgsSettingsEntryString * settingsCommunityEndpoint
 
Stores the component parts of a data source URI (e.g.
 
QByteArray encodedUri() const
Returns the complete encoded URI as a byte array.
 
void setAuthConfigId(const QString &authcfg)
Sets the authentication configuration ID for the URI.
 
QgsHttpHeaders httpHeaders() const
Returns http headers.
 
void setUsername(const QString &username)
Sets the username for the URI.
 
void setParam(const QString &key, const QString &value)
Sets a generic parameter value on the URI.
 
void setHttpHeaders(const QgsHttpHeaders &headers)
Sets headers to headers.
 
void setPassword(const QString &password)
Sets the password for the URI.
 
static const QgsSettingsEntryInteger * settingsFeatureCount
 
static const QgsSettingsEntryBool * settingsPreferCoordinatesForWfsT11
 
static const QgsSettingsEntryEnumFlag< Qgis::HttpMethod > * settingsPreferredHttpMethod
 
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.
 
static QStringList connectionList(const QString &service)
Returns the list of connections for the specified service.
 
static const QgsSettingsEntryString * settingsPagingEnabled
 
static const QgsSettingsEntryString * settingsMaxNumFeatures
 
static QgsSettingsTreeNamedListNode * sTreeOwsConnections
 
static const QgsSettingsEntryBool * settingsIgnoreGetFeatureInfoURI
 
static const QgsSettingsEntryString * settingsPassword
 
static const QgsSettingsEntryBool * settingsReportedLayerExtents
 
static void setSelectedConnection(const QString &service, const QString &name)
Marks the specified connection for the specified service as selected.
 
static const QgsSettingsEntryString * settingsWfsFeatureMode
 
static const QgsSettingsEntryEnumFlag< Qgis::DpiMode > * settingsDpiMode
 
static const QgsSettingsEntryBool * settingsIgnoreAxisOrientation
 
static const QgsSettingsEntryBool * settingsInvertAxisOrientation
 
static const QgsSettingsEntryString * settingsVersion
 
QString connectionInfo() const
Returns connection info string.
 
static void deleteConnection(const QString &service, const QString &name)
Deletes the connection for the specified service with the specified name.
 
static const QgsSettingsEntryString * settingsPagesize
 
static const QgsSettingsEntryString * settingsAuthCfg
 
static const QgsSettingsEntryEnumFlag< Qgis::TilePixelRatio > * settingsTilePixelRatio
 
static const QgsSettingsEntryVariantMap * settingsHeaders
 
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.
 
QString connectionName() const
Returns the connection name.
 
static const QgsSettingsEntryString * settingsUsername
 
static const QgsSettingsEntryBool * settingsSmoothPixmapTransform
 
static const QgsSettingsEntryString * settingsUrl
 
static QString selectedConnection(const QString &service)
Retrieves the selected connection for the specified service.
 
static const QgsSettingsEntryBool * settingsIgnoreGetMapURI
 
QgsOwsConnection(const QString &service, const QString &connName)
Constructor.
 
QgsDataSourceUri uri() const
Returns the connection uri.
 
QString service() const
Returns a string representing the service type, e.g.
 
T value(const QString &dynamicKeyPart=QString()) const
Returns settings value.
 
bool exists(const QString &dynamicKeyPart=QString()) const
Returns true if the settings is contained in the underlying QSettings.
 
A boolean settings entry.
 
A template class for enum and flag settings entry.
 
An integer settings entry.
 
A string list settings entry.
 
void deleteItem(const QString &item, const QStringList &parentsNamedItems=QStringList())
Deletes a named item from the named list node.
 
QString selectedItem(const QStringList &parentsNamedItems=QStringList())
Returns the selected named item from the named list node.
 
void setSelectedItem(const QString &item, const QStringList &parentsNamedItems=QStringList())
Sets the selected named item from the named list node.
 
QStringList items(const QStringList &parentsNamedItems=QStringList()) const
Returns the list of items.
 
Stores settings for use within QGIS.
 
QVariant value(const QString &key, const QVariant &defaultValue=QVariant(), Section section=NoSection) const
Returns the value for setting key.
 
static const QgsSettingsEntryString * settingsPassword
 
static const QgsSettingsEntryDouble * settingsTilePixelRatio
 
static const QgsSettingsEntryString * settingsInterpretation
 
static const QgsSettingsEntryString * settingsUsername
 
static const QgsSettingsEntryString * settingsAuthcfg
 
static const QgsSettingsEntryInteger * settingsZmin
 
static const QgsSettingsEntryBool * settingsHidden
 
static const QgsSettingsEntryInteger * settingsZmax
 
static const QgsSettingsEntryString * settingsUrl
 
static const QgsSettingsEntryVariantMap * settingsHeaders
 
#define Q_NOWARN_DEPRECATED_POP
 
#define Q_NOWARN_DEPRECATED_PUSH
 
#define QgsDebugMsgLevel(str, level)