File indexing completed on 2024-05-19 03:53:14

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2015 Stanciu Marius-Valeriu <stanciumarius94@gmail.com>
0004 //
0005 
0006 //Self
0007 #include "OsmTagTagWriter.h"
0008 
0009 //Marble
0010 #include "GeoWriter.h"
0011 #include "OsmElementDictionary.h"
0012 #include "osm/OsmPlacemarkData.h"
0013 
0014 namespace Marble
0015 {
0016 
0017 QSet<QString> OsmTagTagWriter::m_blacklist;
0018 
0019 void OsmTagTagWriter::writeTags( const OsmPlacemarkData& osmData, GeoWriter &writer )
0020 {
0021     if (m_blacklist.isEmpty()) {
0022         m_blacklist << QStringLiteral("mx:version");
0023         m_blacklist << QStringLiteral("mx:changeset");
0024         m_blacklist << QStringLiteral("mx:uid");
0025         m_blacklist << QStringLiteral("mx:visible");
0026         m_blacklist << QStringLiteral("mx:user");
0027         m_blacklist << QStringLiteral("mx:timestamp");
0028         m_blacklist << QStringLiteral("mx:action");
0029     }
0030 
0031     auto it = osmData.tagsBegin();
0032     auto end = osmData.tagsEnd();
0033 
0034     for ( ; it != end; ++it ) {
0035         if (!m_blacklist.contains(it.key())) {
0036             writer.writeStartElement( osm::osmTag_tag );
0037             writer.writeAttribute( "k", it.key() );
0038             writer.writeAttribute( "v", it.value() );
0039             writer.writeEndElement();
0040         }
0041     }
0042 }
0043 
0044 }