Kross
script.h
Go to the documentation of this file.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 "errorinterface.h"
00024
00025 #include <QtCore/QStringList>
00026 #include <QtCore/QVariant>
00027 #include <QtCore/QObject>
00028
00029 namespace Kross {
00030
00031
00032 class Interpreter;
00033 class Action;
00034
00043 class KROSSCORE_EXPORT Script : public QObject, public ErrorInterface
00044 {
00045 Q_OBJECT
00046 public:
00047
00056 Script(Interpreter* interpreter, Action* action);
00057
00061 virtual ~Script();
00062
00063 public Q_SLOTS:
00064
00069 Interpreter* interpreter() const;
00070
00074 Action* action() const;
00075
00079 virtual void execute() = 0;
00080
00084 virtual QStringList functionNames() = 0;
00085
00092 virtual QVariant callFunction(const QString& name, const QVariantList& args = QVariantList()) = 0;
00093
00094 private:
00096 class Private;
00098 Private* const d;
00099 };
00100
00101 }
00102
00103 #endif
00104