libplasma
runnerscript.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_RUNNERSCRIPT_H
00021 #define PLASMA_RUNNERSCRIPT_H
00022
00023 #include <KDE/KGenericFactory>
00024
00025 #include <plasma/plasma_export.h>
00026 #include <plasma/scripting/scriptengine.h>
00027
00028 namespace Plasma
00029 {
00030
00031 class AbstractRunner;
00032 class RunnerContext;
00033 class QueryMatch;
00034 class RunnerScriptPrivate;
00035
00036 class PLASMA_EXPORT RunnerScript : public ScriptEngine
00037 {
00038 Q_OBJECT
00039
00040 public:
00048 explicit RunnerScript(QObject *parent = 0);
00049 ~RunnerScript();
00050
00054 void setRunner(AbstractRunner *runner);
00055
00059 AbstractRunner* runner() const;
00060
00066 virtual void match(Plasma::RunnerContext &search);
00067
00072 virtual void run(const Plasma::RunnerContext &search, const Plasma::QueryMatch &action);
00073
00074 protected:
00078 QString mainScript() const;
00079
00085 const Package* package() const;
00086
00087 private:
00088 RunnerScriptPrivate * const d;
00089 };
00090
00091 #define K_EXPORT_PLASMA_RUNNERSCRIPTENGINE(libname, classname) \
00092 K_PLUGIN_FACTORY(factory, registerPlugin<classname>();) \
00093 K_EXPORT_PLUGIN(factory("plasma_runnerscriptengine_" #libname))
00094
00095 }
00096
00097 #endif