/usr/include/plasma/dataenginemanager.h is in kdelibs5-dev 4:4.8.2-0ubuntu1.
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 | /*
* Copyright 2006-2007 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_DATAENGINEMANAGER_H
#define PLASMA_DATAENGINEMANAGER_H
#include <QtCore/QHash>
#include <kplugininfo.h>
#include <plasma/dataengine.h>
namespace Plasma
{
class DataEngineManagerPrivate;
/**
* @class DataEngineManager plasma/dataenginemanager.h <Plasma/DataEngineManager>
*
* @short DataEngine loader and life time manager
*
* Plasma::DataEngineManager provides facilities for listing, loading and
* according to reference count unloading of DataEngines.
**/
class PLASMA_EXPORT DataEngineManager: public QObject
{
Q_OBJECT
public:
/**
* Singleton pattern accessor.
*/
static DataEngineManager *self();
/**
* Returns a data engine object if one is loaded and available.
* On failure, the fallback NullEngine (which does nothing and
* !isValid()) is returned.
*
* @param name the name of the engine
*/
Plasma::DataEngine *engine(const QString &name) const;
/**
* Loads a data engine and increases the reference count on it.
* This should be called once per object (or set of objects) using the
* DataEngine. Afterwards, dataEngine should be used or the return
* value cached. Call unloadDataEngine when finished with the engine.
*
* @param name the name of the engine
* @return the data engine that was loaded, or the NullEngine on failure.
*/
Plasma::DataEngine *loadEngine(const QString &name);
/**
* Decreases the reference count on the engine. If the count reaches
* zero, then the engine is deleted to save resources.
*/
void unloadEngine(const QString &name);
/**
* @return a listing of all known DataEngines by name
*
* @param parentApp the application to filter applets on. Uses the
* X-KDE-ParentApp entry (if any) in the plugin info.
* The default value of QString() will result in a
* list containing only applets not specifically
* registered to an application.
*/
static QStringList listAllEngines(const QString &parentApp = QString());
/**
* Returns a list of all known DataEngines.
*
* @param parentApp the application to filter applets on. Uses the
* X-KDE-ParentApp entry (if any) in the plugin info.
* The default value of QString() will result in a
* list containing only applets not specifically
* registered to an application.
* @return list of DataEngines
**/
static KPluginInfo::List listEngineInfo(const QString &parentApp = QString());
/**
* Returns a list of all known DataEngines filtering by category.
*
* @param category the category to filter applets on. Uses the
* X-KDE-PluginInfo-Category entry (if any) in the
* plugin info. The value of QString() will
* result in a list of engines with an empty category.
*
* @param parentApp the application to filter applets on. Uses the
* X-KDE-ParentApp entry (if any) in the plugin info.
* The default value of QString() will result in a
* list containing only applets not specifically
* registered to an application.
* @return list of DataEngines
* @since 4.3
**/
static KPluginInfo::List listEngineInfoByCategory(const QString &category, const QString &parentApp = QString());
protected:
/**
* Reimplemented from QObject
**/
void timerEvent(QTimerEvent *event);
private:
/**
* Default constructor. The singleton method self() is the
* preferred access mechanism.
*/
DataEngineManager();
~DataEngineManager();
DataEngineManagerPrivate *const d;
friend class DataEngineManagerSingleton;
};
} // namespace Plasma
#endif // multiple inclusion guard
|