#ifndef SCRIPTINGQTDBPROXY_H #define SCRIPTINGQTDBPROXY_H #include #include #include #include #include class Db; class ScriptingQtDbProxy : public QObject { Q_OBJECT public: explicit ScriptingQtDbProxy(QJSEngine* engine, QObject *parent = 0); Db* getDb() const; void setDb(Db* value); bool getUseDbLocking() const; void setUseDbLocking(bool value); private: QVariant evalInternal(const QString& sql, const QList& listArgs, const QMap& mapArgs, bool singleCell, const QJSValue* funcPtr = nullptr); QVariant evalInternalErrorResult(bool singleCell); static QHash mapToHash(const QMap& map); Db* db = nullptr; bool useDbLocking = false; QJSEngine* engine = nullptr; public slots: QVariant eval(const QString& sql); QVariant eval(const QString& sql, const QList& args); QVariant eval(const QString& sql, const QMap& args); QVariant eval(const QString& sql, const QList& args, const QJSValue& func); QVariant eval(const QString& sql, const QMap& args, const QJSValue& func); QVariant onecolumn(const QString& sql, const QList& args); QVariant onecolumn(const QString& sql, const QMap& args); }; #endif // SCRIPTINGQTDBPROXY_H