summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tdecore/tdehw/tderootsystemdevice.cpp69
1 files changed, 34 insertions, 35 deletions
diff --git a/tdecore/tdehw/tderootsystemdevice.cpp b/tdecore/tdehw/tderootsystemdevice.cpp
index 92c95fcc2..a57a1c5d3 100644
--- a/tdecore/tdehw/tderootsystemdevice.cpp
+++ b/tdecore/tdehw/tderootsystemdevice.cpp
@@ -599,29 +599,26 @@ bool TDERootSystemDevice::setPowerState(TDESystemPowerState::TDESystemPowerState
#ifdef WITH_LOGINDPOWER
{
+ // No support for "freeze" and "standby" in org.freedesktop.login1
TQT_DBusConnection dbusConn;
dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
if ( dbusConn.isConnected() ) {
- if (ps == TDESystemPowerState::Suspend) {
- TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
- "org.freedesktop.login1",
- "/org/freedesktop/login1",
- "org.freedesktop.login1.Manager",
- "Suspend");
- TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
- if (reply.type() == TQT_DBusMessage::ReplyMessage) {
- return true;
+ TQT_DBusProxy logindProxy("org.freedesktop.login1", "/org/freedesktop/login1",
+ "org.freedesktop.login1.Manager", dbusConn);
+ TQValueList<TQT_DBusData> params;
+ params << TQT_DBusData::fromBool(true);
+ if (logindProxy.canSend()) {
+ if (ps == TDESystemPowerState::Suspend) {
+ TQT_DBusMessage reply = logindProxy.sendWithReply("Suspend", params);
+ if (reply.type() == TQT_DBusMessage::ReplyMessage) {
+ return true;
+ }
}
- }
- else if (ps == TDESystemPowerState::Hibernate) {
- TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
- "org.freedesktop.login1",
- "/org/freedesktop/login1",
- "org.freedesktop.login1.Manager",
- "Hibernate");
- TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
- if (reply.type() == TQT_DBusMessage::ReplyMessage) {
- return true;
+ else if (ps == TDESystemPowerState::Hibernate) {
+ TQT_DBusMessage reply = logindProxy.sendWithReply("Hibernate", params);
+ if (reply.type() == TQT_DBusMessage::ReplyMessage) {
+ return true;
+ }
}
}
}
@@ -789,14 +786,15 @@ bool TDERootSystemDevice::setPowerState(TDESystemPowerState::TDESystemPowerState
TQT_DBusConnection dbusConn;
dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
if ( dbusConn.isConnected() ) {
- TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
- "org.trinitydesktop.login1",
- "/org/freedesktop/login1",
- "org.freedesktop.login1.Manager",
- "PowerOff");
- TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
- if (reply.type() == TQT_DBusMessage::ReplyMessage) {
- return true;
+ TQT_DBusProxy logindProxy("org.freedesktop.login1", "/org/freedesktop/login1",
+ "org.freedesktop.login1.Manager", dbusConn);
+ TQValueList<TQT_DBusData> params;
+ params << TQT_DBusData::fromBool(true);
+ if (logindProxy.canSend()) {
+ TQT_DBusMessage reply = logindProxy.sendWithReply("PowerOff", params);
+ if (reply.type() == TQT_DBusMessage::ReplyMessage) {
+ return true;
+ }
}
}
}
@@ -839,14 +837,15 @@ bool TDERootSystemDevice::setPowerState(TDESystemPowerState::TDESystemPowerState
TQT_DBusConnection dbusConn;
dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
if ( dbusConn.isConnected() ) {
- TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
- "org.trinitydesktop.login1",
- "/org/freedesktop/login1",
- "org.freedesktop.login1.Manager",
- "Reboot");
- TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
- if (reply.type() == TQT_DBusMessage::ReplyMessage) {
- return true;
+ TQT_DBusProxy logindProxy("org.freedesktop.login1", "/org/freedesktop/login1",
+ "org.freedesktop.login1.Manager", dbusConn);
+ TQValueList<TQT_DBusData> params;
+ params << TQT_DBusData::fromBool(true);
+ if (logindProxy.canSend()) {
+ TQT_DBusMessage reply = logindProxy.sendWithReply("Reboot", params);
+ if (reply.type() == TQT_DBusMessage::ReplyMessage) {
+ return true;
+ }
}
}
}