File indexing completed on 2024-05-19 03:51:49

0001 /*
0002     SPDX-FileCopyrightText: 2008 Nikolas Zimmermann <zimmermann@kde.org>
0003     SPDX-FileCopyrightText: 2008 Jens-Michael Hoffmann <jensmh@gmx.de>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #ifndef MARBLE_GEODOCUMENT_H
0009 #define MARBLE_GEODOCUMENT_H
0010 
0011 #include "geodata_export.h"
0012 
0013 namespace Marble
0014 {
0015 
0016 /**
0017  * @short A shared base class between GeoDataDocument/GeoSourceDocument
0018  */
0019 class GEODATA_EXPORT GeoDocument
0020 {
0021 protected:
0022     GeoDocument();
0023 
0024 public:
0025     virtual ~GeoDocument();
0026 
0027     virtual bool isGeoDataDocument() const;
0028     virtual bool isGeoSceneDocument() const;
0029 };
0030 
0031 /**
0032  * @short A shared base class for all classes that are mapped to a specific tag (ie. GeoFolder)
0033  */
0034 class GEODATA_EXPORT GeoNode
0035 {
0036 public:
0037     GeoNode();
0038     virtual ~GeoNode();
0039 
0040     /// Provides type information for downcasting a GeoNode
0041     virtual const char* nodeType() const = 0;
0042 };
0043 
0044 }
0045 
0046 #endif