Plasma
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 <kgenericfactory.h>
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
00041 class PLASMA_EXPORT RunnerScript : public ScriptEngine
00042 {
00043 Q_OBJECT
00044
00045 public:
00053 explicit RunnerScript(QObject *parent = 0);
00054 ~RunnerScript();
00055
00059 void setRunner(AbstractRunner *runner);
00060
00064 AbstractRunner *runner() const;
00065
00071 virtual void match(Plasma::RunnerContext &search);
00072
00077 virtual void run(const Plasma::RunnerContext &search, const Plasma::QueryMatch &action);
00078
00079 protected:
00083 QString mainScript() const;
00084
00090 const Package *package() const;
00091
00092 private:
00093 RunnerScriptPrivate *const d;
00094 };
00095
00096 #define K_EXPORT_PLASMA_RUNNERSCRIPTENGINE(libname, classname) \
00097 K_PLUGIN_FACTORY(factory, registerPlugin<classname>();) \
00098 K_EXPORT_PLUGIN(factory("plasma_runnerscriptengine_" #libname))
00099
00100 }
00101
00102 #endif