/usr/include/plasma/scripting/dataenginescript.h is in kdelibs5-dev 4:4.14.2-5+deb8u2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | /*
* 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.
*/
#ifndef PLASMA_DATAENGINESCRIPT_H
#define PLASMA_DATAENGINESCRIPT_H
#include <kgenericfactory.h>
#include <kplugininfo.h>
#include <plasma/plasma_export.h>
#include <plasma/dataengine.h>
#include <plasma/scripting/scriptengine.h>
namespace Plasma
{
class DataEngineScriptPrivate;
class Service;
/**
* @class DataEngineScript plasma/scripting/dataenginescript.h <Plasma/Scripting/DataEngineScript>
*
* @short Provides a restricted interface for scripting a DataEngine
*/
class PLASMA_EXPORT DataEngineScript : public ScriptEngine
{
Q_OBJECT
public:
/**
* Default constructor for a DataEngineScript.
* Subclasses should not attempt to access the Plasma::DataEngine
* associated with this DataEngineScript in the constructor. All
* such set up that requires the DataEngine itself should be done
* in the init() method.
*/
explicit DataEngineScript(QObject *parent = 0);
~DataEngineScript();
/**
* Sets the Plasma::DataEngine associated with this DataEngineScript
*/
void setDataEngine(DataEngine *dataEngine);
/**
* Returns the Plasma::DataEngine associated with this script component
*/
DataEngine *dataEngine() const;
/**
* @return a list of all the data sources available via this DataEngine
* Whether these sources are currently available (which is what
* the default implementation provides) or not is up to the
* DataEngine to decide. By default, this returns dataEngine()->sources()
*/
virtual QStringList sources() const;
/**
* Called when the script should create a source that does not currently
* exist.
*
* @param name the name of the source that should be created
* @return true if a DataContainer was set up, false otherwise
*/
virtual bool sourceRequestEvent(const QString &name);
/**
* Called when the script should refresh the data contained in a given
* source.
*
* @param source the name of the source that should be updated
* @return true if the data was changed, or false if there was no
* change or if the change will occur later
**/
virtual bool updateSourceEvent(const QString &source);
/**
* @param source the source to targe the Service at
* @return a Service that has the source as a destination. The service
* is parented to the DataEngine, but may be deleted by the
* caller when finished with it
*/
virtual Service *serviceForSource(const QString &source);
protected:
/**
* @return absolute path to the main script file for this plasmoid
*/
QString mainScript() const;
/**
* @return the Package associated with this plasmoid which can
* be used to request resources, such as images and
* interface files.
*/
const Package *package() const;
/**
* @return the KPluginInfo associated with this plasmoid
*/
KPluginInfo description() const;
void setData(const QString &source, const QString &key,
const QVariant &value);
void setData(const QString &source, const QVariant &value);
/**
* Adds a set of values to a source
* @param source the name of the source to set the data on
* @values a key/value collection to add to the source
* @since 4.5
*/
void setData(const QString &source, const DataEngine::Data &values);
void removeAllData(const QString &source);
void removeData(const QString &source, const QString &key);
void setMaxSourceCount(uint limit);
void setMinimumPollingInterval(int minimumMs);
int minimumPollingInterval() const;
void setPollingInterval(uint frequency);
void removeAllSources();
void addSource(DataContainer *source);
DataEngine::SourceDict containerDict() const;
void setName(const QString &name);
void setIcon(const QString &icon);
void scheduleSourcesUpdated();
void removeSource(const QString &source);
void updateAllSources();
void forceImmediateUpdateOfAllVisualizations();
private:
DataEngineScriptPrivate *const d;
};
#define K_EXPORT_PLASMA_DATAENGINESCRIPTENGINE(libname, classname) \
K_PLUGIN_FACTORY(factory, registerPlugin<classname>();) \
K_EXPORT_PLUGIN(factory("plasma_dataenginescriptengine_" #libname))
} //Plasma namespace
#endif
|