summaryrefslogtreecommitdiffstats
path: root/tdecore/tdehw/tderootsystemdevice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tdecore/tdehw/tderootsystemdevice.cpp')
-rw-r--r--tdecore/tdehw/tderootsystemdevice.cpp142
1 files changed, 67 insertions, 75 deletions
diff --git a/tdecore/tdehw/tderootsystemdevice.cpp b/tdecore/tdehw/tderootsystemdevice.cpp
index b9a0bef9c..1e097ca90 100644
--- a/tdecore/tdehw/tderootsystemdevice.cpp
+++ b/tdecore/tdehw/tderootsystemdevice.cpp
@@ -63,18 +63,10 @@ void TDERootSystemDevice::internalSetPowerStates(TDESystemPowerStateList ps) {
m_powerStates = ps;
}
-TDESystemHibernationMethodList TDERootSystemDevice::hibernationMethods() {
- return m_hibernationMethods;
-}
-
void TDERootSystemDevice::internalSetHibernationMethods(TDESystemHibernationMethodList hm) {
m_hibernationMethods = hm;
}
-TDESystemHibernationMethod::TDESystemHibernationMethod TDERootSystemDevice::hibernationMethod() {
- return m_hibernationMethod;
-}
-
void TDERootSystemDevice::internalSetHibernationMethod(TDESystemHibernationMethod::TDESystemHibernationMethod hm) {
m_hibernationMethod = hm;
}
@@ -115,11 +107,11 @@ bool TDERootSystemDevice::canSetHibernationMethod() {
return FALSE;
}
-bool TDERootSystemDevice::canStandby() {
+bool TDERootSystemDevice::canFreeze() {
TQString statenode = "/sys/power/state";
int rval = access (statenode.ascii(), W_OK);
if (rval == 0) {
- if (powerStates().contains(TDESystemPowerState::Standby)) {
+ if (powerStates().contains(TDESystemPowerState::Freeze)) {
return TRUE;
}
else {
@@ -131,12 +123,12 @@ bool TDERootSystemDevice::canStandby() {
{
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
if (dbusConn.isConnected()) {
- // can standby?
+ // can freeze?
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
"org.trinitydesktop.hardwarecontrol",
"/org/trinitydesktop/hardwarecontrol",
"org.trinitydesktop.hardwarecontrol.Power",
- "CanStandby");
+ "CanFreeze");
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
return reply[0].toBool();
@@ -148,11 +140,11 @@ bool TDERootSystemDevice::canStandby() {
return FALSE;
}
-bool TDERootSystemDevice::canFreeze() {
+bool TDERootSystemDevice::canStandby() {
TQString statenode = "/sys/power/state";
int rval = access (statenode.ascii(), W_OK);
if (rval == 0) {
- if (powerStates().contains(TDESystemPowerState::Freeze)) {
+ if (powerStates().contains(TDESystemPowerState::Standby)) {
return TRUE;
}
else {
@@ -164,12 +156,12 @@ bool TDERootSystemDevice::canFreeze() {
{
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
if (dbusConn.isConnected()) {
- // can freeze?
+ // can standby?
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
"org.trinitydesktop.hardwarecontrol",
"/org/trinitydesktop/hardwarecontrol",
"org.trinitydesktop.hardwarecontrol.Power",
- "CanFreeze");
+ "CanStandby");
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
return reply[0].toBool();
@@ -294,13 +286,13 @@ bool TDERootSystemDevice::canSuspend() {
return FALSE;
}
-bool TDERootSystemDevice::canHibernate() {
+bool TDERootSystemDevice::canHybridSuspend() {
TQString statenode = "/sys/power/state";
TQString disknode = "/sys/power/disk";
int state_rval = access (statenode.ascii(), W_OK);
int disk_rval = access (disknode.ascii(), W_OK);
if (state_rval == 0 && disk_rval == 0) {
- if (powerStates().contains(TDESystemPowerState::Hibernate)) {
+ if (powerStates().contains(TDESystemPowerState::HybridSuspend)) {
return TRUE;
}
else {
@@ -312,12 +304,12 @@ bool TDERootSystemDevice::canHibernate() {
{
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
if (dbusConn.isConnected()) {
- // can hibernate?
+ // can hybrid suspend?
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
"org.freedesktop.login1",
"/org/freedesktop/login1",
"org.freedesktop.login1.Manager",
- "CanHibernate");
+ "CanHybridSleep");
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
return (reply[0].toString() == "yes");
@@ -326,41 +318,8 @@ bool TDERootSystemDevice::canHibernate() {
}
#endif // WITH_LOGINDPOWER
-#ifdef WITH_UPOWER
- {
- TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
- if (dbusConn.isConnected()) {
- TQT_DBusProxy upowerProperties("org.freedesktop.UPower", "/org/freedesktop/UPower", "org.freedesktop.DBus.Properties", dbusConn);
- if (upowerProperties.canSend()) {
- // can hibernate?
- TQValueList<TQT_DBusData> params;
- params << TQT_DBusData::fromString(upowerProperties.interface()) << TQT_DBusData::fromString("CanHibernate");
- TQT_DBusMessage reply = upowerProperties.sendWithReply("Get", params);
- if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
- return reply[0].toVariant().value.toBool();
- }
- }
- }
- }
-#endif// WITH_UPOWER
-
-#ifdef WITH_DEVKITPOWER
- {
- TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
- if (dbusConn.isConnected()) {
- TQT_DBusProxy devkitpowerProperties("org.freedesktop.DeviceKit.Power", "/org/freedesktop/DeviceKit/Power", "org.freedesktop.DBus.Properties", dbusConn);
- if (devkitpowerProperties.canSend()) {
- // can hibernate?
- TQValueList<TQT_DBusData> params;
- params << TQT_DBusData::fromString(devkitpowerProperties.interface()) << TQT_DBusData::fromString("CanHibernate");
- TQT_DBusMessage reply = devkitpowerProperties.sendWithReply("Get", params);
- if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
- return reply[0].toVariant().value.toBool();
- }
- }
- }
- }
-#endif// WITH_DEVKITPOWER
+ // No support "hybrid suspend" in org.freedesktop.UPower
+ // No support "hybrid suspend" in org.freedesktop.DeviceKit.Power
#ifdef WITH_HAL
{
@@ -368,17 +327,11 @@ bool TDERootSystemDevice::canHibernate() {
if (dbusConn.isConnected()) {
TQT_DBusProxy halProperties("org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer", "org.freedesktop.Hal.Device", dbusConn);
if (halProperties.canSend()) {
- // can hibernate?
+ // can hybrid suspend?
TQValueList<TQT_DBusData> params;
TQT_DBusMessage reply;
params.clear();
- params << TQT_DBusData::fromString("power_management.can_hibernate");
- reply = halProperties.sendWithReply("GetPropertyBoolean", params);
- if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
- return reply[0].toBool();
- }
- params.clear();
- params << TQT_DBusData::fromString("power_management.can_suspend_to_disk");
+ params << TQT_DBusData::fromString("power_management.can_suspend_hybrid");
reply = halProperties.sendWithReply("GetPropertyBoolean", params);
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
return reply[0].toBool();
@@ -392,12 +345,12 @@ bool TDERootSystemDevice::canHibernate() {
{
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
if (dbusConn.isConnected()) {
- // can hibernate?
+ // can hybrid suspend?
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
"org.trinitydesktop.hardwarecontrol",
"/org/trinitydesktop/hardwarecontrol",
"org.trinitydesktop.hardwarecontrol.Power",
- "CanHibernate");
+ "CanHybridSuspend");
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
return reply[0].toBool();
@@ -409,13 +362,13 @@ bool TDERootSystemDevice::canHibernate() {
return FALSE;
}
-bool TDERootSystemDevice::canHybridSuspend() {
+bool TDERootSystemDevice::canHibernate() {
TQString statenode = "/sys/power/state";
TQString disknode = "/sys/power/disk";
int state_rval = access (statenode.ascii(), W_OK);
int disk_rval = access (disknode.ascii(), W_OK);
if (state_rval == 0 && disk_rval == 0) {
- if (powerStates().contains(TDESystemPowerState::HybridSuspend)) {
+ if (powerStates().contains(TDESystemPowerState::Hibernate)) {
return TRUE;
}
else {
@@ -427,12 +380,12 @@ bool TDERootSystemDevice::canHybridSuspend() {
{
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
if (dbusConn.isConnected()) {
- // can hybrid suspend?
+ // can hibernate?
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
"org.freedesktop.login1",
"/org/freedesktop/login1",
"org.freedesktop.login1.Manager",
- "CanHybridSleep");
+ "CanHibernate");
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
return (reply[0].toString() == "yes");
@@ -441,8 +394,41 @@ bool TDERootSystemDevice::canHybridSuspend() {
}
#endif // WITH_LOGINDPOWER
- // No support "hybrid suspend" in org.freedesktop.UPower
- // No support "hybrid suspend" in org.freedesktop.DeviceKit.Power
+#ifdef WITH_UPOWER
+ {
+ TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
+ if (dbusConn.isConnected()) {
+ TQT_DBusProxy upowerProperties("org.freedesktop.UPower", "/org/freedesktop/UPower", "org.freedesktop.DBus.Properties", dbusConn);
+ if (upowerProperties.canSend()) {
+ // can hibernate?
+ TQValueList<TQT_DBusData> params;
+ params << TQT_DBusData::fromString(upowerProperties.interface()) << TQT_DBusData::fromString("CanHibernate");
+ TQT_DBusMessage reply = upowerProperties.sendWithReply("Get", params);
+ if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
+ return reply[0].toVariant().value.toBool();
+ }
+ }
+ }
+ }
+#endif// WITH_UPOWER
+
+#ifdef WITH_DEVKITPOWER
+ {
+ TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
+ if (dbusConn.isConnected()) {
+ TQT_DBusProxy devkitpowerProperties("org.freedesktop.DeviceKit.Power", "/org/freedesktop/DeviceKit/Power", "org.freedesktop.DBus.Properties", dbusConn);
+ if (devkitpowerProperties.canSend()) {
+ // can hibernate?
+ TQValueList<TQT_DBusData> params;
+ params << TQT_DBusData::fromString(devkitpowerProperties.interface()) << TQT_DBusData::fromString("CanHibernate");
+ TQT_DBusMessage reply = devkitpowerProperties.sendWithReply("Get", params);
+ if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
+ return reply[0].toVariant().value.toBool();
+ }
+ }
+ }
+ }
+#endif// WITH_DEVKITPOWER
#ifdef WITH_HAL
{
@@ -450,11 +436,17 @@ bool TDERootSystemDevice::canHybridSuspend() {
if (dbusConn.isConnected()) {
TQT_DBusProxy halProperties("org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer", "org.freedesktop.Hal.Device", dbusConn);
if (halProperties.canSend()) {
- // can hybrid suspend?
+ // can hibernate?
TQValueList<TQT_DBusData> params;
TQT_DBusMessage reply;
params.clear();
- params << TQT_DBusData::fromString("power_management.can_suspend_hybrid");
+ params << TQT_DBusData::fromString("power_management.can_hibernate");
+ reply = halProperties.sendWithReply("GetPropertyBoolean", params);
+ if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
+ return reply[0].toBool();
+ }
+ params.clear();
+ params << TQT_DBusData::fromString("power_management.can_suspend_to_disk");
reply = halProperties.sendWithReply("GetPropertyBoolean", params);
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
return reply[0].toBool();
@@ -468,12 +460,12 @@ bool TDERootSystemDevice::canHybridSuspend() {
{
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
if (dbusConn.isConnected()) {
- // can hybrid suspend?
+ // can hibernate?
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
"org.trinitydesktop.hardwarecontrol",
"/org/trinitydesktop/hardwarecontrol",
"org.trinitydesktop.hardwarecontrol.Power",
- "CanHybridSuspend");
+ "CanHibernate");
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
return reply[0].toBool();