File indexing completed on 2024-05-12 03:50:14

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 GEODATA_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