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

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2009 Patrick Spendrin <ps_ml@gmx.de>
0004 //
0005 
0006 #ifndef MARBLE_GEODATADOCUMENTPRIVATE_H
0007 #define MARBLE_GEODATADOCUMENTPRIVATE_H
0008 
0009 #include "GeoDataStyle.h"
0010 #include "GeoDataNetworkLinkControl.h"
0011 #include "GeoDataStyleMap.h"
0012 #include "GeoDataSchema.h"
0013 #include "GeoDataContainer_p.h"
0014 
0015 #include "GeoDataTypes.h"
0016 
0017 namespace Marble
0018 {
0019 
0020 class GeoDataDocumentPrivate : public GeoDataContainerPrivate
0021 {
0022   public:
0023     GeoDataDocumentPrivate()
0024     :  m_documentRole( UnknownDocument )
0025     {
0026     }
0027 
0028     GeoDataDocumentPrivate(const GeoDataDocumentPrivate& other)
0029       : GeoDataContainerPrivate(other),
0030         m_styleHash(other.m_styleHash),
0031         m_styleMapHash(other.m_styleMapHash),
0032         m_schemaHash(other.m_schemaHash),
0033         m_filename(other.m_filename),
0034         m_baseUri(other.m_baseUri),
0035         m_networkLinkControl(other.m_networkLinkControl),
0036         m_property(other.m_property),
0037         m_documentRole(other.m_documentRole)
0038     {
0039     }
0040 
0041     EnumFeatureId featureId() const override
0042     {
0043         return GeoDataDocumentId;
0044     }
0045 
0046     QMap<QString, GeoDataStyle::Ptr> m_styleHash;
0047     QMap<QString, GeoDataStyleMap> m_styleMapHash;
0048     QMap<QString, GeoDataSchema> m_schemaHash;
0049     QString m_filename;
0050     QString m_baseUri;
0051     GeoDataNetworkLinkControl m_networkLinkControl;
0052     QString m_property;
0053     DocumentRole m_documentRole;
0054 };
0055 
0056 } // namespace Marble
0057 
0058 #endif