Plasma
scriptengine.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 PLASMA_SCRIPTENGINE_H
00021 #define PLASMA_SCRIPTENGINE_H
00022
00023 #include <plasma/plasma_export.h>
00024 #include <plasma/packagestructure.h>
00025 #include <plasma/plasma.h>
00026
00027 #include <QtCore/QObject>
00028 #include <QtCore/QRect>
00029 #include <QtCore/QSizeF>
00030
00031 class QPainter;
00032 class QStyleOptionGraphicsItem;
00033
00034 namespace Plasma
00035 {
00036
00037 class AbstractRunner;
00038 class Applet;
00039 class AppletScript;
00040 class DataEngine;
00041 class DataEngineScript;
00042 class RunnerScript;
00043 class Package;
00044 class ScriptEnginePrivate;
00045
00063 class PLASMA_EXPORT ScriptEngine : public QObject
00064 {
00065 Q_OBJECT
00066
00067 public:
00068 ~ScriptEngine();
00069
00073 virtual bool init();
00074
00075 protected:
00076 explicit ScriptEngine(QObject *parent = 0);
00077
00081 virtual QString mainScript() const;
00082
00088 virtual const Package *package() const;
00089
00090 private:
00091 ScriptEnginePrivate *const d;
00092 };
00093
00099 PLASMA_EXPORT QStringList knownLanguages(ComponentTypes types);
00100
00109 PLASMA_EXPORT AppletScript *loadScriptEngine(const QString &language, Applet *applet);
00110
00119 PLASMA_EXPORT DataEngineScript *loadScriptEngine(const QString &language, DataEngine *dataEngine);
00120
00129 PLASMA_EXPORT RunnerScript *loadScriptEngine(const QString &language, AbstractRunner *runner);
00130
00138 PLASMA_EXPORT PackageStructure::Ptr packageStructure(const QString &language, ComponentType type);
00139
00140 }
00141
00142 #endif
00143