Plasma
dataenginescript.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_DATAENGINESCRIPT_H
00021 #define PLASMA_DATAENGINESCRIPT_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 DataEngine;
00032 class DataEngineScriptPrivate;
00033 class Service;
00034
00040 class PLASMA_EXPORT DataEngineScript : public ScriptEngine
00041 {
00042 Q_OBJECT
00043
00044 public:
00052 explicit DataEngineScript(QObject *parent = 0);
00053 ~DataEngineScript();
00054
00058 void setDataEngine(DataEngine *dataEngine);
00059
00063 DataEngine *dataEngine() const;
00064
00071 virtual QStringList sources() const;
00072
00080 virtual bool sourceRequestEvent(const QString &name);
00081
00090 virtual bool updateSourceEvent(const QString &source);
00091
00098 virtual Service *serviceForSource(const QString &source);
00099
00100 protected:
00104 QString mainScript() const;
00105
00111 const Package *package() const;
00112
00113 void setData(const QString &source, const QString &key,
00114 const QVariant &value);
00115 void setData(const QString &source, const QVariant &value);
00116 void removeAllData(const QString &source);
00117 void removeData(const QString &source, const QString &key);
00118 void setMaxSourceCount(uint limit);
00119 void setMinimumPollingInterval(int minimumMs);
00120 int minimumPollingInterval() const;
00121 void setPollingInterval(uint frequency);
00122 void removeAllSources();
00123
00124 private:
00125 DataEngineScriptPrivate *const d;
00126 };
00127
00128 #define K_EXPORT_PLASMA_DATAENGINESCRIPTENGINE(libname, classname) \
00129 K_PLUGIN_FACTORY(factory, registerPlugin<classname>();) \
00130 K_EXPORT_PLUGIN(factory("plasma_dataenginescriptengine_" #libname))
00131
00132 }
00133
00134 #endif