File indexing completed on 2023-05-30 09:06:28
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2011 Dennis Nienhüser <nienhueser@kde.org> 0004 // 0005 0006 #ifndef SQLWRITER_H 0007 #define SQLWRITER_H 0008 0009 #include "Writer.h" 0010 0011 #include <QPair> 0012 #include <QHash> 0013 #include <QSqlQuery> 0014 0015 namespace Marble 0016 { 0017 0018 class SqlWriter : public Writer 0019 { 0020 public: 0021 explicit SqlWriter( const QString &filename, QObject* parent = nullptr ); 0022 0023 ~SqlWriter() override; 0024 0025 void addOsmRegion( const OsmRegion ®ion ) override; 0026 0027 void addOsmPlacemark( const OsmPlacemark &placemark ) override; 0028 0029 void saveDatabase( const QString &filename ) const; 0030 0031 private: 0032 void execQuery( QSqlQuery &query ) const; 0033 0034 void execQuery( const QString &query ) const; 0035 0036 QHash<QString, int> m_placemarks; 0037 0038 QPair<int, QString> m_lastPlacemark; 0039 0040 int m_placemarkId; 0041 }; 0042 0043 } 0044 0045 #endif // SQLWRITER_H