| 62 | static const QString s_managerPath = QStringLiteral("/org/freedesktop/ConsoleKit/Manager"); |
| 63 | |
| 64 | static QString findProcessSessionPath() |
| 65 | { |
| 66 | QDBusMessage message = QDBusMessage::createMethodCall(s_serviceName, s_managerPath, |
| 67 | s_managerInterface, |
| 68 | QStringLiteral("GetSessionByPID")); |
| 69 | message.setArguments({uint32_t(QCoreApplication::applicationPid())}); |
| 70 | |
| 71 | const QDBusMessage reply = QDBusConnection::systemBus().call(message); |
| 72 | if (reply.type() == QDBusMessage::ErrorMessage) { |
| 73 | return QString(); |
| 74 | } |
| 75 | |
| 76 | return reply.arguments().constFirst().value<QDBusObjectPath>().path(); |
| 77 | } |
| 78 | |
| 79 | static bool takeControl(const QString &sessionPath) |
| 80 | { |