Plasma
dataenginemanager.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_DATAENGINEMANAGER_H
00021 #define PLASMA_DATAENGINEMANAGER_H
00022
00023 #include <QtCore/QHash>
00024
00025 #include <kplugininfo.h>
00026
00027 #include <plasma/dataengine.h>
00028
00029 namespace Plasma
00030 {
00031
00032 class DataEngineManagerPrivate;
00033
00042 class PLASMA_EXPORT DataEngineManager: public QObject
00043 {
00044 Q_OBJECT
00045 public:
00049 static DataEngineManager *self();
00050
00058 Plasma::DataEngine *engine(const QString &name) const;
00059
00069 Plasma::DataEngine *loadEngine(const QString &name);
00070
00075 void unloadEngine(const QString &name);
00076
00086 static QStringList listAllEngines(const QString &parentApp = QString());
00087
00098 static KPluginInfo::List listEngineInfo(const QString &parentApp = QString());
00099
00116 static KPluginInfo::List listEngineInfoByCategory(const QString &category, const QString &parentApp = QString());
00117 private:
00122 DataEngineManager();
00123 ~DataEngineManager();
00124
00125 DataEngineManagerPrivate *const d;
00126
00127 friend class DataEngineManagerSingleton;
00128 };
00129
00130 }
00131
00132 #endif // multiple inclusion guard