00001 00033 #ifndef QMDEVICEMODE_H 00034 #define QMDEVICEMODE_H 00035 #include <QtCore/qobject.h> 00036 #include "system_global.h" 00037 00038 QT_BEGIN_HEADER 00039 00040 namespace MeeGo { 00041 00042 class QmDeviceModePrivate; 00043 00050 class QmDeviceMode : public QObject 00051 { 00052 Q_OBJECT 00053 Q_ENUMS(DeviceMode) 00054 Q_ENUMS(PSMState); 00055 Q_PROPERTY(DeviceMode mode READ getMode WRITE setMode) 00056 Q_PROPERTY(PSMState state READ getPSMState WRITE setPSMState) 00057 00058 public: 00060 enum DeviceMode 00061 { 00062 Error = -1, 00063 Normal = 0, 00064 Flight 00065 }; 00066 00068 enum PSMState 00069 { 00070 PSMError = -1, 00071 PSMStateOff = 0, 00072 PSMStateOn 00073 }; 00074 00075 public: 00076 00081 QmDeviceMode(QObject *parent = 0); 00082 ~QmDeviceMode(); 00083 00088 DeviceMode getMode() const; 00089 00094 PSMState getPSMState() const; 00095 00102 bool setMode(DeviceMode mode); 00103 00110 bool setPSMState(PSMState state); 00111 00112 00113 00120 bool setPSMBatteryMode(int percentages); 00121 00122 00123 00128 int getPSMBatteryMode(); 00129 00130 Q_SIGNALS: 00135 void deviceModeChanged(MeeGo::QmDeviceMode::DeviceMode mode); 00136 00141 void devicePSMStateChanged(MeeGo::QmDeviceMode::PSMState state); 00142 00143 protected: 00144 void connectNotify(const char *signal); 00145 void disconnectNotify(const char *signal); 00146 00147 private: 00148 Q_DISABLE_COPY(QmDeviceMode) 00149 MEEGO_DECLARE_PRIVATE(QmDeviceMode) 00150 }; 00151 00152 } // namespace MeeGo 00153 00154 QT_END_HEADER 00155 00156 #endif /* QMDEVICEMODE_H */ 00157 00158 // End of file