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

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2013 Mayank Madan <maddiemadan@gmail.com>
0004 //
0005 
0006 
0007 #ifndef MARBLE_GEODATANETWORKLINK_H
0008 #define MARBLE_GEODATANETWORKLINK_H
0009 
0010 #include "GeoDataFeature.h"
0011 #include "MarbleGlobal.h"
0012 
0013 namespace Marble {
0014 
0015 class GeoDataLink;
0016 class GeoDataNetworkLinkPrivate;
0017 
0018 /**
0019  */
0020 class GEODATA_EXPORT GeoDataNetworkLink: public GeoDataFeature
0021 {
0022 public:
0023     GeoDataNetworkLink();
0024 
0025     GeoDataNetworkLink( const GeoDataNetworkLink &other );
0026 
0027     GeoDataNetworkLink& operator=( const GeoDataNetworkLink &other );
0028 
0029     bool operator==( const GeoDataNetworkLink &other ) const;
0030     bool operator!=( const GeoDataNetworkLink &other ) const;
0031 
0032     ~GeoDataNetworkLink() override;
0033 
0034     GeoDataFeature * clone() const override;
0035 
0036     /** Provides type information for downcasting a GeoNode */
0037     const char* nodeType() const override;
0038 
0039     bool refreshVisibility() const;
0040 
0041     void setRefreshVisibility( bool refreshVisibility );
0042 
0043     bool flyToView() const;
0044 
0045     void setFlyToView(bool flyToView);
0046 
0047     GeoDataLink& link();
0048 
0049     const GeoDataLink& link() const;
0050 
0051     void setLink(const GeoDataLink &link);
0052 
0053 private:
0054     GeoDataNetworkLinkPrivate* const d;
0055 };
0056 
0057 }
0058 
0059 #endif