File indexing completed on 2025-01-05 03:58:57
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2012 Dennis Nienhüser <nienhueser@kde.org> 0004 // SPDX-FileCopyrightText: 2013 Sanjiban Bairagya <sanjiban22393@gmail.com> 0005 0006 0007 #ifndef MARBLE_GEODATALINK_H 0008 #define MARBLE_GEODATALINK_H 0009 0010 #include "GeoDataObject.h" 0011 #include "MarbleGlobal.h" 0012 0013 namespace Marble { 0014 0015 class GeoDataLinkPrivate; 0016 0017 /** 0018 */ 0019 class DIGIKAM_EXPORT GeoDataLink: public GeoDataObject 0020 { 0021 public: 0022 enum RefreshMode { 0023 OnChange, 0024 OnInterval, 0025 OnExpire 0026 }; 0027 0028 enum ViewRefreshMode { 0029 Never, 0030 OnStop, 0031 OnRequest, 0032 OnRegion 0033 }; 0034 0035 GeoDataLink(); 0036 0037 GeoDataLink( const GeoDataLink &other ); 0038 0039 GeoDataLink& operator=( const GeoDataLink &other ); 0040 bool operator==( const GeoDataLink &other ) const; 0041 bool operator!=( const GeoDataLink &other ) const; 0042 0043 ~GeoDataLink() override; 0044 0045 /** Provides type information for downcasting a GeoNode */ 0046 const char* nodeType() const override; 0047 0048 QString href() const; 0049 0050 void setHref( const QString& href ); 0051 0052 RefreshMode refreshMode() const; 0053 0054 void setRefreshMode( RefreshMode refreshMode ); 0055 0056 qreal refreshInterval() const; 0057 0058 void setRefreshInterval( qreal refreshInterval ); 0059 0060 ViewRefreshMode viewRefreshMode() const; 0061 0062 void setViewRefreshMode(ViewRefreshMode refreshMode); 0063 0064 qreal viewRefreshTime() const; 0065 0066 void setViewRefreshTime(qreal viewRefreshTime); 0067 0068 qreal viewBoundScale() const; 0069 0070 void setViewBoundScale(qreal viewBoundScale); 0071 0072 QString viewFormat() const; 0073 0074 void setViewFormat(const QString &viewFormat); 0075 0076 QString httpQuery() const; 0077 0078 void setHttpQuery(const QString &httpQuery); 0079 0080 private: 0081 GeoDataLinkPrivate* const d; 0082 }; 0083 0084 } 0085 0086 #endif