2008-11-04 00:08:39 +01:00
|
|
|
/*
|
|
|
|
* Copyright 2007 by Aaron Seigo <aseigo@kde.org>
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Library General Public License as
|
|
|
|
* published by the Free Software Foundation; either version 2, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Library General Public
|
|
|
|
* License along with this program; if not, write to the
|
|
|
|
* Free Software Foundation, Inc.,
|
|
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "dataenginescript.h"
|
|
|
|
|
2008-11-05 21:32:51 +01:00
|
|
|
#include "package.h"
|
2009-11-11 01:25:54 +01:00
|
|
|
#include "private/dataengine_p.h"
|
2009-11-12 11:15:59 +01:00
|
|
|
#include "private/service_p.h"
|
2008-11-04 00:08:39 +01:00
|
|
|
|
|
|
|
namespace Plasma
|
|
|
|
{
|
|
|
|
|
|
|
|
class DataEngineScriptPrivate
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
DataEngine *dataEngine;
|
|
|
|
};
|
|
|
|
|
|
|
|
DataEngineScript::DataEngineScript(QObject *parent)
|
|
|
|
: ScriptEngine(parent),
|
|
|
|
d(new DataEngineScriptPrivate)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
DataEngineScript::~DataEngineScript()
|
|
|
|
{
|
2009-08-21 09:30:27 +02:00
|
|
|
delete d;
|
2008-11-04 00:08:39 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::setDataEngine(DataEngine *dataEngine)
|
|
|
|
{
|
|
|
|
d->dataEngine = dataEngine;
|
|
|
|
}
|
|
|
|
|
|
|
|
DataEngine *DataEngineScript::dataEngine() const
|
|
|
|
{
|
|
|
|
return d->dataEngine;
|
|
|
|
}
|
|
|
|
|
|
|
|
QStringList DataEngineScript::sources() const
|
|
|
|
{
|
2010-08-06 05:42:46 +02:00
|
|
|
return d->dataEngine->containerDict().keys();
|
2008-11-04 00:08:39 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
bool DataEngineScript::sourceRequestEvent(const QString &name)
|
|
|
|
{
|
|
|
|
Q_UNUSED(name);
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool DataEngineScript::updateSourceEvent(const QString &source)
|
|
|
|
{
|
|
|
|
Q_UNUSED(source);
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
Service *DataEngineScript::serviceForSource(const QString &source)
|
|
|
|
{
|
2009-11-12 11:15:59 +01:00
|
|
|
Q_ASSERT(d->dataEngine);
|
|
|
|
return new NullService(source, d->dataEngine);
|
2008-11-04 00:08:39 +01:00
|
|
|
}
|
|
|
|
|
2008-11-05 21:32:51 +01:00
|
|
|
QString DataEngineScript::mainScript() const
|
|
|
|
{
|
|
|
|
Q_ASSERT(d->dataEngine);
|
2011-07-15 13:04:16 +02:00
|
|
|
return d->dataEngine->package().filePath("mainscript");
|
2008-11-05 21:32:51 +01:00
|
|
|
}
|
|
|
|
|
2011-07-15 13:04:16 +02:00
|
|
|
Package DataEngineScript::package() const
|
2008-11-05 21:32:51 +01:00
|
|
|
{
|
|
|
|
Q_ASSERT(d->dataEngine);
|
|
|
|
return d->dataEngine->package();
|
|
|
|
}
|
|
|
|
|
2009-11-11 01:25:54 +01:00
|
|
|
KPluginInfo DataEngineScript::description() const
|
|
|
|
{
|
|
|
|
Q_ASSERT(d->dataEngine);
|
|
|
|
return d->dataEngine->d->dataEngineDescription;
|
|
|
|
}
|
|
|
|
|
2008-11-04 00:08:39 +01:00
|
|
|
void DataEngineScript::setData(const QString &source, const QString &key,
|
|
|
|
const QVariant &value)
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->setData(source, key, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::setData(const QString &source, const QVariant &value)
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->setData(source, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2010-05-19 22:04:21 +02:00
|
|
|
void DataEngineScript::setData(const QString &source, const DataEngine::Data &values)
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->setData(source, values);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2008-11-04 00:08:39 +01:00
|
|
|
void DataEngineScript::removeAllData(const QString &source)
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->removeAllData(source);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::removeData(const QString &source, const QString &key)
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->removeData(source, key);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::setMaxSourceCount(uint limit)
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->setMaxSourceCount(limit);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::setMinimumPollingInterval(int minimumMs)
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->setMinimumPollingInterval(minimumMs);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
int DataEngineScript::minimumPollingInterval() const
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
return d->dataEngine->minimumPollingInterval();
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::setPollingInterval(uint frequency)
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->setPollingInterval(frequency);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::removeAllSources()
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->removeAllSources();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2009-11-05 19:44:42 +01:00
|
|
|
void DataEngineScript::addSource(DataContainer *source)
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->addSource(source);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
DataEngine::SourceDict DataEngineScript::containerDict() const
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
return d->dataEngine->containerDict();
|
|
|
|
}
|
|
|
|
return DataEngine::SourceDict();
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::setName(const QString &name)
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->setName(name);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::setIcon(const QString &icon)
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->setIcon(icon);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::scheduleSourcesUpdated()
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->scheduleSourcesUpdated();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::removeSource(const QString &source)
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->removeSource(source);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::updateAllSources()
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->updateAllSources();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataEngineScript::forceImmediateUpdateOfAllVisualizations()
|
|
|
|
{
|
|
|
|
if (d->dataEngine) {
|
|
|
|
d->dataEngine->forceImmediateUpdateOfAllVisualizations();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2008-11-04 00:08:39 +01:00
|
|
|
} // Plasma namespace
|
|
|
|
|
|
|
|
#include "dataenginescript.moc"
|