00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KROSS_SCRIPT_H
00021 #define KROSS_SCRIPT_H
00022
00023 #include <QString>
00024 #include <QStringList>
00025 #include <QVariant>
00026 #include <koffice_export.h>
00027
00028 #include "errorinterface.h"
00029
00030 namespace Kross {
00031
00032
00033 class Interpreter;
00034 class Action;
00035
00044 class KROSSCORE_EXPORT Script : public ErrorInterface
00045 {
00046 public:
00047
00056 Script(Interpreter* interpreter, Action* action);
00057
00061 virtual ~Script();
00062
00067 Interpreter* interpreter() const;
00068
00072 Action* action() const;
00073
00077 virtual void execute() = 0;
00078
00082 virtual QStringList functionNames() = 0;
00083
00090 virtual QVariant callFunction(const QString& name, const QVariantList& args = QVariantList()) = 0;
00091
00093 virtual void virtual_hook(int id, void* data);
00094
00095 private:
00097 class Private;
00099 Private* const d;
00100 };
00101
00102 }
00103
00104 #endif
00105