File indexing completed on 2024-05-12 04:42:18

0001 /*
0002     SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef OSM_OVERPASSQUERYMANAGER_H
0008 #define OSM_OVERPASSQUERYMANAGER_H
0009 
0010 #include "kosm_export.h"
0011 
0012 #include <QObject>
0013 
0014 #include <memory>
0015 
0016 namespace OSM {
0017 
0018 class OverpassQuery;
0019 class OverpassQueryManagerPrivate;
0020 
0021 /** Executes OverpassQuery jobs. */
0022 class KOSM_EXPORT OverpassQueryManager : public QObject
0023 {
0024     Q_OBJECT
0025 public:
0026     explicit OverpassQueryManager(QObject *parent = nullptr);
0027     ~OverpassQueryManager();
0028 
0029     /** Executes @p query.
0030      *  Once done, OverpassQuery::finished will be emitted.
0031      */
0032     void execute(OverpassQuery *query);
0033 
0034 private:
0035     std::unique_ptr<OverpassQueryManagerPrivate> d;
0036 };
0037 
0038 }
0039 
0040 #endif // OSM_OVERPASSQUERYMANAGER_H