Branch data Line data Source code
1 : : /*************************************************************************** 2 : : qgsdataprovider.cpp - DataProvider Interface 3 : : -------------------------------------- 4 : : Date : May 2016 5 : : Copyright : (C) 2016 by Matthias Kuhn 6 : : email : matthias@opengis.ch 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 <QMutexLocker> 17 : : #include "qgsdataprovider.h" 18 : : #include "qgsdataprovidertemporalcapabilities.h" 19 : : 20 : : #define SUBLAYER_SEPARATOR QStringLiteral( "!!::!!" ) 21 : : 22 : 78 : QgsDataProvider::QgsDataProvider( const QString &uri, const QgsDataProvider::ProviderOptions &providerOptions, 23 : : QgsDataProvider::ReadFlags flags ) 24 : 78 : : mDataSourceURI( uri ), 25 : 78 : mOptions( providerOptions ) 26 : 156 : { 27 : 78 : mReadFlags = flags; 28 : 78 : } 29 : : 30 : 0 : QgsDataProviderTemporalCapabilities *QgsDataProvider::temporalCapabilities() 31 : : { 32 : 0 : return nullptr; 33 : : } 34 : : 35 : 0 : const QgsDataProviderTemporalCapabilities *QgsDataProvider::temporalCapabilities() const 36 : : { 37 : 0 : return nullptr; 38 : : } 39 : : 40 : 0 : void QgsDataProvider::reloadData() 41 : : { 42 : 0 : reloadProviderData(); 43 : 0 : emit dataChanged(); 44 : 0 : } 45 : : 46 : 1 : void QgsDataProvider::setProviderProperty( QgsDataProvider::ProviderProperty property, const QVariant &value ) 47 : : { 48 : 1 : mProviderProperties.insert( property, value ); 49 : 1 : } 50 : : 51 : 0 : void QgsDataProvider::setProviderProperty( int property, const QVariant &value ) 52 : : { 53 : 0 : mProviderProperties.insert( property, value ); 54 : 0 : } 55 : : 56 : 0 : QVariant QgsDataProvider::providerProperty( QgsDataProvider::ProviderProperty property, const QVariant &defaultValue ) const 57 : : { 58 : 0 : return mProviderProperties.value( property, defaultValue ); 59 : : } 60 : : 61 : 0 : QVariant QgsDataProvider::providerProperty( int property, const QVariant &defaultValue = QVariant() ) const 62 : : { 63 : 0 : return mProviderProperties.value( property, defaultValue ); 64 : : } 65 : : 66 : 0 : void QgsDataProvider::setListening( bool isListening ) 67 : : { 68 : : Q_UNUSED( isListening ) 69 : 0 : } 70 : : 71 : 0 : bool QgsDataProvider::renderInPreview( const PreviewContext &context ) 72 : : { 73 : 0 : return context.lastRenderingTimeMs <= context.maxRenderingTimeMs; 74 : : } 75 : : 76 : 4 : QgsCoordinateTransformContext QgsDataProvider::transformContext() const 77 : : { 78 : 4 : QMutexLocker locker( &mOptionsMutex ); 79 : 4 : return mOptions.transformContext; 80 : 4 : } 81 : : 82 : 1 : void QgsDataProvider::setTransformContext( const QgsCoordinateTransformContext &value ) 83 : : { 84 : 1 : QMutexLocker locker( &mOptionsMutex ); 85 : 1 : mOptions.transformContext = value; 86 : 1 : } 87 : : 88 : 0 : QString QgsDataProvider::sublayerSeparator() 89 : : { 90 : 0 : return SUBLAYER_SEPARATOR; 91 : : }