File indexing completed on 2024-05-05 17:45:00

0001 /*
0002     SPDX-FileCopyrightText: 2007 Glenn Ergeerts <glenn.ergeerts@telenet.be>
0003     SPDX-FileCopyrightText: 2012 Marco Gulino <marco.gulino@xpeppers.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 #include <QList>
0010 #include <QSqlDatabase>
0011 #include <QVariantMap>
0012 
0013 #include <QString>
0014 #include <QVariant>
0015 
0016 #include <QMutex>
0017 #include <QObject>
0018 
0019 class FetchSqlite : public QObject
0020 {
0021     Q_OBJECT
0022 public:
0023     explicit FetchSqlite(const QString &databaseFile, QObject *parent = nullptr);
0024     ~FetchSqlite() override;
0025     void prepare();
0026     void teardown();
0027     QList<QVariantMap> query(const QString &sql, QMap<QString, QVariant> bindObjects);
0028     QList<QVariantMap> query(const QString &sql);
0029     QStringList tables(QSql::TableType type = QSql::Tables);
0030 
0031 private:
0032     QString const m_databaseFile;
0033     QMutex m_mutex;
0034 };