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

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2013 Mohammed Nafees <nafees.technocool@gmail.com>
0004 //
0005 
0006 #ifndef GEODATANETWORKLINKCONTROL_H
0007 #define GEODATANETWORKLINKCONTROL_H
0008 
0009 #include "GeoDataContainer.h"
0010 #include "geodata_export.h"
0011 
0012 class QDateTime;
0013 
0014 namespace Marble
0015 {
0016 
0017 class GeoDataAbstractView;
0018 class GeoDataUpdate;
0019 class GeoDataNetworkLinkControlPrivate;
0020 
0021 /**
0022  */
0023 class GEODATA_EXPORT GeoDataNetworkLinkControl : public GeoDataContainer
0024 {
0025 public:
0026     GeoDataNetworkLinkControl();
0027 
0028     GeoDataNetworkLinkControl( const GeoDataNetworkLinkControl &other );
0029 
0030     ~GeoDataNetworkLinkControl() override;
0031 
0032     GeoDataNetworkLinkControl& operator=( const GeoDataNetworkLinkControl &other );
0033 
0034     bool operator==( const GeoDataNetworkLinkControl &other ) const;
0035     bool operator!=( const GeoDataNetworkLinkControl &other ) const;
0036 
0037     GeoDataFeature * clone() const override;
0038 
0039     /** Provides type information for downcasting a GeoNode */
0040     const char* nodeType() const override;
0041 
0042     qreal minRefreshPeriod() const;
0043     void setMinRefreshPeriod(qreal minRefreshPeriod);
0044 
0045     qreal maxSessionLength() const;
0046     void setMaxSessionLength(qreal maxSessionLength);
0047 
0048     QString cookie() const;
0049     void setCookie( const QString &cookie );
0050 
0051     QString message() const;
0052     void setMessage( const QString &message );
0053 
0054     QString linkName() const;
0055     void setLinkName( const QString &linkName );
0056 
0057     QString linkDescription() const;
0058     void setLinkDescription( const QString &linkDescription );
0059 
0060     QString linkSnippet() const;
0061     void setLinkSnippet( const QString &linkSnippet );
0062     int maxLines() const;
0063     void setMaxLines(int maxLines);
0064 
0065     QDateTime expires() const;
0066     void setExpires( const QDateTime &expires );
0067 
0068     GeoDataUpdate& update();
0069     const GeoDataUpdate& update() const;
0070     void setUpdate( const GeoDataUpdate &update );
0071 
0072     GeoDataAbstractView* abstractView() const;
0073     /**
0074      * Sets the abstract view and takes control of this pointer.
0075      */
0076     void setAbstractView( GeoDataAbstractView *abstractView );
0077 
0078 private:
0079     Q_DECLARE_PRIVATE(GeoDataNetworkLinkControl)
0080 };
0081 
0082 }
0083 
0084 #endif