Engines
powermanagementengine.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
00021 #ifndef POWERMANAGEMENTENGINE_H
00022 #define POWERMANAGEMENTENGINE_H
00023
00024 #include <Plasma/DataEngine>
00025
00026 #include <solid/battery.h>
00027 #include <solid/acadapter.h>
00028
00029 #include <QtDBus/QDBusConnection>
00030 #include <QHash>
00031
00036 class PowermanagementEngine : public Plasma::DataEngine
00037 {
00038 Q_OBJECT
00039
00040 public:
00041 PowermanagementEngine( QObject* parent, const QVariantList& args );
00042 ~PowermanagementEngine();
00043 QStringList sources() const;
00044
00045 protected:
00046 bool sourceRequestEvent(const QString &name);
00047 void init();
00048
00049 private slots:
00050 void updateBatteryChargeState(int newState, const QString& udi);
00051 void updateBatteryPlugState(bool newState, const QString& udi);
00052 void updateBatteryChargePercent(int newValue, const QString& udi);
00053 void updateAcPlugState(bool newState);
00054 void deviceRemoved(const QString& udi);
00055 void deviceAdded(const QString& udi);
00056 void profilesChanged(const QString ¤t, const QStringList &profiles);
00057 void batteryRemainingTimeChanged(int time);
00058
00059 private:
00060 Solid::AcAdapter* m_acadapter;
00061 QStringList m_sources;
00062 QDBusConnection m_dbus;
00063
00064 QHash<QString, QString> m_batterySources;
00065
00066 };
00067
00068 K_EXPORT_PLASMA_DATAENGINE(powermanagement, PowermanagementEngine)
00069
00070 #endif