From 3565aad630864ecdbe53fdaa501ea708555b3c7c Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sun, 30 Apr 2023 18:30:36 -0400 Subject: New upstream version 3.4.4+dfsg. --- .../coreSQLiteStudio/plugins/scriptingplugin.h | 28 +++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'SQLiteStudio3/coreSQLiteStudio/plugins/scriptingplugin.h') diff --git a/SQLiteStudio3/coreSQLiteStudio/plugins/scriptingplugin.h b/SQLiteStudio3/coreSQLiteStudio/plugins/scriptingplugin.h index d081073..80aa758 100644 --- a/SQLiteStudio3/coreSQLiteStudio/plugins/scriptingplugin.h +++ b/SQLiteStudio3/coreSQLiteStudio/plugins/scriptingplugin.h @@ -15,33 +15,45 @@ class ScriptingPlugin : virtual public Plugin virtual ~Context() {} }; + class FunctionInfo + { + public: + virtual QString getName() const = 0; + virtual QStringList getArguments() const = 0; + virtual bool getUndefinedArgs() const = 0; + }; + virtual QString getLanguage() const = 0; virtual Context* createContext() = 0; virtual void releaseContext(Context* context) = 0; virtual void resetContext(Context* context) = 0; virtual void setVariable(Context* context, const QString& name, const QVariant& value) = 0; virtual QVariant getVariable(Context* context, const QString& name) = 0; - virtual QVariant evaluate(Context* context, const QString& code, const QList& args = QList()) = 0; + virtual QVariant evaluate(Context* context, const QString& code, const FunctionInfo& funcInfo, + const QList& args = QList()) = 0; virtual bool hasError(Context* context) const = 0; virtual QString getErrorMessage(Context* context) const = 0; - virtual QVariant evaluate(const QString& code, const QList& args = QList(), QString* errorMessage = nullptr) = 0; + virtual QVariant evaluate(const QString& code, const FunctionInfo& funcInfo, const QList& args = QList(), + QString* errorMessage = nullptr) = 0; virtual QString getIconPath() const = 0; }; class DbAwareScriptingPlugin : public ScriptingPlugin { public: - virtual QVariant evaluate(Context* context, const QString& code, const QList& args, Db* db, bool locking = false) = 0; - virtual QVariant evaluate(const QString& code, const QList& args, Db* db, bool locking = false, QString* errorMessage = nullptr) = 0; + virtual QVariant evaluate(Context* context, const QString& code, const FunctionInfo& funcInfo, const QList& args, + Db* db, bool locking = false) = 0; + virtual QVariant evaluate(const QString& code, const FunctionInfo& funcInfo, const QList& args, Db* db, + bool locking = false, QString* errorMessage = nullptr) = 0; - QVariant evaluate(Context* context, const QString& code, const QList& args) + QVariant evaluate(Context* context, const QString& code, const FunctionInfo& funcInfo, const QList& args) { - return evaluate(context, code, args, nullptr, true); + return evaluate(context, code, funcInfo, args, nullptr, true); } - QVariant evaluate(const QString& code, const QList& args, QString* errorMessage = nullptr) + QVariant evaluate(const QString& code, const FunctionInfo& funcInfo, const QList& args, QString* errorMessage = nullptr) { - return evaluate(code, args, nullptr, true, errorMessage); + return evaluate(code, funcInfo, args, nullptr, true, errorMessage); } }; -- cgit v1.2.3