|
|
@ -63,18 +63,10 @@ void TDERootSystemDevice::internalSetPowerStates(TDESystemPowerStateList ps) {
|
|
|
|
m_powerStates = ps;
|
|
|
|
m_powerStates = ps;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
TDESystemHibernationMethodList TDERootSystemDevice::hibernationMethods() {
|
|
|
|
|
|
|
|
return m_hibernationMethods;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void TDERootSystemDevice::internalSetHibernationMethods(TDESystemHibernationMethodList hm) {
|
|
|
|
void TDERootSystemDevice::internalSetHibernationMethods(TDESystemHibernationMethodList hm) {
|
|
|
|
m_hibernationMethods = hm;
|
|
|
|
m_hibernationMethods = hm;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
TDESystemHibernationMethod::TDESystemHibernationMethod TDERootSystemDevice::hibernationMethod() {
|
|
|
|
|
|
|
|
return m_hibernationMethod;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void TDERootSystemDevice::internalSetHibernationMethod(TDESystemHibernationMethod::TDESystemHibernationMethod hm) {
|
|
|
|
void TDERootSystemDevice::internalSetHibernationMethod(TDESystemHibernationMethod::TDESystemHibernationMethod hm) {
|
|
|
|
m_hibernationMethod = hm;
|
|
|
|
m_hibernationMethod = hm;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -115,11 +107,11 @@ bool TDERootSystemDevice::canSetHibernationMethod() {
|
|
|
|
return FALSE;
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool TDERootSystemDevice::canStandby() {
|
|
|
|
bool TDERootSystemDevice::canFreeze() {
|
|
|
|
TQString statenode = "/sys/power/state";
|
|
|
|
TQString statenode = "/sys/power/state";
|
|
|
|
int rval = access (statenode.ascii(), W_OK);
|
|
|
|
int rval = access (statenode.ascii(), W_OK);
|
|
|
|
if (rval == 0) {
|
|
|
|
if (rval == 0) {
|
|
|
|
if (powerStates().contains(TDESystemPowerState::Standby)) {
|
|
|
|
if (powerStates().contains(TDESystemPowerState::Freeze)) {
|
|
|
|
return TRUE;
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
@ -131,12 +123,12 @@ bool TDERootSystemDevice::canStandby() {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
|
|
|
|
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
// can standby?
|
|
|
|
// can freeze?
|
|
|
|
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
|
|
|
|
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
|
|
|
|
"org.trinitydesktop.hardwarecontrol",
|
|
|
|
"org.trinitydesktop.hardwarecontrol",
|
|
|
|
"/org/trinitydesktop/hardwarecontrol",
|
|
|
|
"/org/trinitydesktop/hardwarecontrol",
|
|
|
|
"org.trinitydesktop.hardwarecontrol.Power",
|
|
|
|
"org.trinitydesktop.hardwarecontrol.Power",
|
|
|
|
"CanStandby");
|
|
|
|
"CanFreeze");
|
|
|
|
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
|
|
|
|
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
return reply[0].toBool();
|
|
|
|
return reply[0].toBool();
|
|
|
@ -148,11 +140,11 @@ bool TDERootSystemDevice::canStandby() {
|
|
|
|
return FALSE;
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool TDERootSystemDevice::canFreeze() {
|
|
|
|
bool TDERootSystemDevice::canStandby() {
|
|
|
|
TQString statenode = "/sys/power/state";
|
|
|
|
TQString statenode = "/sys/power/state";
|
|
|
|
int rval = access (statenode.ascii(), W_OK);
|
|
|
|
int rval = access (statenode.ascii(), W_OK);
|
|
|
|
if (rval == 0) {
|
|
|
|
if (rval == 0) {
|
|
|
|
if (powerStates().contains(TDESystemPowerState::Freeze)) {
|
|
|
|
if (powerStates().contains(TDESystemPowerState::Standby)) {
|
|
|
|
return TRUE;
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
@ -164,12 +156,12 @@ bool TDERootSystemDevice::canFreeze() {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
|
|
|
|
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
// can freeze?
|
|
|
|
// can standby?
|
|
|
|
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
|
|
|
|
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
|
|
|
|
"org.trinitydesktop.hardwarecontrol",
|
|
|
|
"org.trinitydesktop.hardwarecontrol",
|
|
|
|
"/org/trinitydesktop/hardwarecontrol",
|
|
|
|
"/org/trinitydesktop/hardwarecontrol",
|
|
|
|
"org.trinitydesktop.hardwarecontrol.Power",
|
|
|
|
"org.trinitydesktop.hardwarecontrol.Power",
|
|
|
|
"CanFreeze");
|
|
|
|
"CanStandby");
|
|
|
|
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
|
|
|
|
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
return reply[0].toBool();
|
|
|
|
return reply[0].toBool();
|
|
|
@ -294,13 +286,13 @@ bool TDERootSystemDevice::canSuspend() {
|
|
|
|
return FALSE;
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool TDERootSystemDevice::canHibernate() {
|
|
|
|
bool TDERootSystemDevice::canHybridSuspend() {
|
|
|
|
TQString statenode = "/sys/power/state";
|
|
|
|
TQString statenode = "/sys/power/state";
|
|
|
|
TQString disknode = "/sys/power/disk";
|
|
|
|
TQString disknode = "/sys/power/disk";
|
|
|
|
int state_rval = access (statenode.ascii(), W_OK);
|
|
|
|
int state_rval = access (statenode.ascii(), W_OK);
|
|
|
|
int disk_rval = access (disknode.ascii(), W_OK);
|
|
|
|
int disk_rval = access (disknode.ascii(), W_OK);
|
|
|
|
if (state_rval == 0 && disk_rval == 0) {
|
|
|
|
if (state_rval == 0 && disk_rval == 0) {
|
|
|
|
if (powerStates().contains(TDESystemPowerState::Hibernate)) {
|
|
|
|
if (powerStates().contains(TDESystemPowerState::HybridSuspend)) {
|
|
|
|
return TRUE;
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
@ -312,12 +304,12 @@ bool TDERootSystemDevice::canHibernate() {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
|
|
|
|
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
// can hibernate?
|
|
|
|
// can hybrid suspend?
|
|
|
|
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
|
|
|
|
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
|
|
|
|
"org.freedesktop.login1",
|
|
|
|
"org.freedesktop.login1",
|
|
|
|
"/org/freedesktop/login1",
|
|
|
|
"/org/freedesktop/login1",
|
|
|
|
"org.freedesktop.login1.Manager",
|
|
|
|
"org.freedesktop.login1.Manager",
|
|
|
|
"CanHibernate");
|
|
|
|
"CanHybridSleep");
|
|
|
|
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
|
|
|
|
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
return (reply[0].toString() == "yes");
|
|
|
|
return (reply[0].toString() == "yes");
|
|
|
@ -326,41 +318,8 @@ bool TDERootSystemDevice::canHibernate() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif // WITH_LOGINDPOWER
|
|
|
|
#endif // WITH_LOGINDPOWER
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef WITH_UPOWER
|
|
|
|
// No support "hybrid suspend" in org.freedesktop.UPower
|
|
|
|
{
|
|
|
|
// No support "hybrid suspend" in org.freedesktop.DeviceKit.Power
|
|
|
|
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
|
|
|
|
#ifdef WITH_HAL
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -368,17 +327,11 @@ bool TDERootSystemDevice::canHibernate() {
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
TQT_DBusProxy halProperties("org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer", "org.freedesktop.Hal.Device", dbusConn);
|
|
|
|
TQT_DBusProxy halProperties("org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer", "org.freedesktop.Hal.Device", dbusConn);
|
|
|
|
if (halProperties.canSend()) {
|
|
|
|
if (halProperties.canSend()) {
|
|
|
|
// can hibernate?
|
|
|
|
// can hybrid suspend?
|
|
|
|
TQValueList<TQT_DBusData> params;
|
|
|
|
TQValueList<TQT_DBusData> params;
|
|
|
|
TQT_DBusMessage reply;
|
|
|
|
TQT_DBusMessage reply;
|
|
|
|
params.clear();
|
|
|
|
params.clear();
|
|
|
|
params << TQT_DBusData::fromString("power_management.can_hibernate");
|
|
|
|
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();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
params.clear();
|
|
|
|
|
|
|
|
params << TQT_DBusData::fromString("power_management.can_suspend_to_disk");
|
|
|
|
|
|
|
|
reply = halProperties.sendWithReply("GetPropertyBoolean", params);
|
|
|
|
reply = halProperties.sendWithReply("GetPropertyBoolean", params);
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
return reply[0].toBool();
|
|
|
|
return reply[0].toBool();
|
|
|
@ -392,12 +345,12 @@ bool TDERootSystemDevice::canHibernate() {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
|
|
|
|
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
// can hibernate?
|
|
|
|
// can hybrid suspend?
|
|
|
|
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
|
|
|
|
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
|
|
|
|
"org.trinitydesktop.hardwarecontrol",
|
|
|
|
"org.trinitydesktop.hardwarecontrol",
|
|
|
|
"/org/trinitydesktop/hardwarecontrol",
|
|
|
|
"/org/trinitydesktop/hardwarecontrol",
|
|
|
|
"org.trinitydesktop.hardwarecontrol.Power",
|
|
|
|
"org.trinitydesktop.hardwarecontrol.Power",
|
|
|
|
"CanHibernate");
|
|
|
|
"CanHybridSuspend");
|
|
|
|
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
|
|
|
|
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
return reply[0].toBool();
|
|
|
|
return reply[0].toBool();
|
|
|
@ -409,13 +362,13 @@ bool TDERootSystemDevice::canHibernate() {
|
|
|
|
return FALSE;
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool TDERootSystemDevice::canHybridSuspend() {
|
|
|
|
bool TDERootSystemDevice::canHibernate() {
|
|
|
|
TQString statenode = "/sys/power/state";
|
|
|
|
TQString statenode = "/sys/power/state";
|
|
|
|
TQString disknode = "/sys/power/disk";
|
|
|
|
TQString disknode = "/sys/power/disk";
|
|
|
|
int state_rval = access (statenode.ascii(), W_OK);
|
|
|
|
int state_rval = access (statenode.ascii(), W_OK);
|
|
|
|
int disk_rval = access (disknode.ascii(), W_OK);
|
|
|
|
int disk_rval = access (disknode.ascii(), W_OK);
|
|
|
|
if (state_rval == 0 && disk_rval == 0) {
|
|
|
|
if (state_rval == 0 && disk_rval == 0) {
|
|
|
|
if (powerStates().contains(TDESystemPowerState::HybridSuspend)) {
|
|
|
|
if (powerStates().contains(TDESystemPowerState::Hibernate)) {
|
|
|
|
return TRUE;
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
@ -427,12 +380,12 @@ bool TDERootSystemDevice::canHybridSuspend() {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
|
|
|
|
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
// can hybrid suspend?
|
|
|
|
// can hibernate?
|
|
|
|
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
|
|
|
|
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
|
|
|
|
"org.freedesktop.login1",
|
|
|
|
"org.freedesktop.login1",
|
|
|
|
"/org/freedesktop/login1",
|
|
|
|
"/org/freedesktop/login1",
|
|
|
|
"org.freedesktop.login1.Manager",
|
|
|
|
"org.freedesktop.login1.Manager",
|
|
|
|
"CanHybridSleep");
|
|
|
|
"CanHibernate");
|
|
|
|
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
|
|
|
|
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
return (reply[0].toString() == "yes");
|
|
|
|
return (reply[0].toString() == "yes");
|
|
|
@ -441,8 +394,41 @@ bool TDERootSystemDevice::canHybridSuspend() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif // WITH_LOGINDPOWER
|
|
|
|
#endif // WITH_LOGINDPOWER
|
|
|
|
|
|
|
|
|
|
|
|
// No support "hybrid suspend" in org.freedesktop.UPower
|
|
|
|
#ifdef WITH_UPOWER
|
|
|
|
// No support "hybrid suspend" in org.freedesktop.DeviceKit.Power
|
|
|
|
{
|
|
|
|
|
|
|
|
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
|
|
|
|
#ifdef WITH_HAL
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -450,11 +436,17 @@ bool TDERootSystemDevice::canHybridSuspend() {
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
TQT_DBusProxy halProperties("org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer", "org.freedesktop.Hal.Device", dbusConn);
|
|
|
|
TQT_DBusProxy halProperties("org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer", "org.freedesktop.Hal.Device", dbusConn);
|
|
|
|
if (halProperties.canSend()) {
|
|
|
|
if (halProperties.canSend()) {
|
|
|
|
// can hybrid suspend?
|
|
|
|
// can hibernate?
|
|
|
|
TQValueList<TQT_DBusData> params;
|
|
|
|
TQValueList<TQT_DBusData> params;
|
|
|
|
TQT_DBusMessage reply;
|
|
|
|
TQT_DBusMessage reply;
|
|
|
|
params.clear();
|
|
|
|
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);
|
|
|
|
reply = halProperties.sendWithReply("GetPropertyBoolean", params);
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
return reply[0].toBool();
|
|
|
|
return reply[0].toBool();
|
|
|
@ -468,12 +460,12 @@ bool TDERootSystemDevice::canHybridSuspend() {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
|
|
|
|
TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
if (dbusConn.isConnected()) {
|
|
|
|
// can hybrid suspend?
|
|
|
|
// can hibernate?
|
|
|
|
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
|
|
|
|
TQT_DBusMessage msg = TQT_DBusMessage::methodCall(
|
|
|
|
"org.trinitydesktop.hardwarecontrol",
|
|
|
|
"org.trinitydesktop.hardwarecontrol",
|
|
|
|
"/org/trinitydesktop/hardwarecontrol",
|
|
|
|
"/org/trinitydesktop/hardwarecontrol",
|
|
|
|
"org.trinitydesktop.hardwarecontrol.Power",
|
|
|
|
"org.trinitydesktop.hardwarecontrol.Power",
|
|
|
|
"CanHybridSuspend");
|
|
|
|
"CanHibernate");
|
|
|
|
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
|
|
|
|
TQT_DBusMessage reply = dbusConn.sendWithReply(msg);
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
|
|
|
|
return reply[0].toBool();
|
|
|
|
return reply[0].toBool();
|
|
|
|