libsolidcontrol
powermanager.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 SOLID_CONTROL_POWERMANAGER_H
00022 #define SOLID_CONTROL_POWERMANAGER_H
00023
00024 #include <QtCore/QObject>
00025 #include <QtCore/QHash>
00026
00027 #include "solid_control_export.h"
00028
00029 class KJob;
00030
00031 namespace Solid
00032 {
00033 namespace Control
00034 {
00046 namespace PowerManager
00047 {
00057 enum BatteryState{ NoBatteryState, Normal, Warning, Low, Critical };
00058
00066 enum AcAdapterState{ UnknownAcAdapterState, Plugged, Unplugged };
00067
00077 enum ButtonType{ UnknownButtonType, PowerButton, SleepButton, LidOpen, LidClose };
00078
00087 enum SuspendMethod{ UnknownSuspendMethod = 0, Standby = 1, ToRam = 2, ToDisk = 4};
00088
00092 Q_DECLARE_FLAGS(SuspendMethods, SuspendMethod)
00093
00094
00104 enum CpuFreqPolicy{ UnknownCpuFreqPolicy = 0, OnDemand = 1, Userspace = 2, Powersave = 4, Performance = 8, Conservative = 16 };
00105
00109 Q_DECLARE_FLAGS(CpuFreqPolicies, CpuFreqPolicy)
00110
00111
00118 enum BrightnessControlType{ UnknownBrightnessControl = 0, Screen = 1, Keyboard = 2 };
00119
00120 typedef QHash<QString, BrightnessControlType> BrightnessControlsList;
00121
00122
00128 SOLIDCONTROL_EXPORT QStringList supportedSchemes();
00129
00136 SOLIDCONTROL_EXPORT QString schemeDescription(const QString &schemeName);
00137
00144 SOLIDCONTROL_EXPORT QString scheme();
00145
00152 SOLIDCONTROL_EXPORT bool setScheme(const QString &name);
00153
00154
00161 SOLIDCONTROL_EXPORT BatteryState batteryState();
00162
00168 SOLIDCONTROL_EXPORT int batteryChargePercent();
00169
00175 SOLIDCONTROL_EXPORT int batteryRemainingTime();
00176
00183 SOLIDCONTROL_EXPORT AcAdapterState acAdapterState();
00184
00185
00193 SOLIDCONTROL_EXPORT SuspendMethods supportedSuspendMethods();
00194
00201 SOLIDCONTROL_EXPORT KJob *suspend(SuspendMethod method);
00202
00203
00211 SOLIDCONTROL_EXPORT CpuFreqPolicies supportedCpuFreqPolicies();
00212
00219 SOLIDCONTROL_EXPORT CpuFreqPolicy cpuFreqPolicy();
00220
00228 SOLIDCONTROL_EXPORT bool setCpuFreqPolicy(CpuFreqPolicy newPolicy);
00229
00236 SOLIDCONTROL_EXPORT bool canDisableCpu(int cpuNum);
00237
00245 SOLIDCONTROL_EXPORT bool setCpuEnabled(int cpuNum, bool enabled);
00246
00252 SOLIDCONTROL_EXPORT BrightnessControlsList brightnessControlsAvailable();
00253
00260 SOLIDCONTROL_EXPORT float brightness(const QString &device = QString());
00261
00269 SOLIDCONTROL_EXPORT bool setBrightness(float brightness, const QString &device = QString());
00270
00271 class SOLIDCONTROL_EXPORT Notifier : public QObject
00272 {
00273 Q_OBJECT
00274 Q_SIGNALS:
00280 void schemeChanged(QString newScheme);
00281
00288 void acAdapterStateChanged(int newState);
00289
00296 void batteryStateChanged(int newState);
00297
00304 void buttonPressed(int buttonType);
00305
00311 void brightnessChanged(float brightness);
00312
00318 void batteryRemainingTimeChanged(int time);
00319 };
00320
00321 SOLIDCONTROL_EXPORT Notifier *notifier();
00322 }
00323 }
00324 }
00325
00326 Q_DECLARE_OPERATORS_FOR_FLAGS(Solid::Control::PowerManager::SuspendMethods)
00327 Q_DECLARE_OPERATORS_FOR_FLAGS(Solid::Control::PowerManager::CpuFreqPolicies)
00328
00329 #endif