on dddfa87 help sign in
unity8/plugins/Unity/Session/dbusunitysessionservice.cpp
73 lines 2.0 kB history raw
1/*
2 * Copyright (C) 2014 Canonical, Ltd.
3 *
4 * This program is free software: you can redistribute it and/or modify it under
5 * the terms of the GNU Lesser General Public License version 3, as published by
6 * the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
10 * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17// local
18#include "dbusunitysessionservice.h"
20// Qt
21#include <QDBusConnection>
22#include <QDBusInterface>
24DBusUnitySessionService::DBusUnitySessionService()
25 : UnityDBusObject("/com/canonical/Unity/Session", "com.canonical.Unity")
29DBusUnitySessionService::~DBusUnitySessionService()
33void DBusUnitySessionService::Logout()
35 Q_EMIT logoutReady();
38void DBusUnitySessionService::RequestLogout()
40 Q_EMIT logoutRequested(false);
43void DBusUnitySessionService::Reboot()
45 QDBusConnection connection = QDBusConnection::systemBus();
46 QDBusInterface iface1 ("org.freedesktop.login1",
47 "/org/freedesktop/login1",
48 "org.freedesktop.login1.Manager",
49 connection);
51 iface1.call("Reboot", false);
54void DBusUnitySessionService::RequestReboot()
56 Q_EMIT rebootRequested(false);
59void DBusUnitySessionService::Shutdown()
61 QDBusConnection connection = QDBusConnection::systemBus();
62 QDBusInterface iface1 ("org.freedesktop.login1",
63 "/org/freedesktop/login1",
64 "org.freedesktop.login1.Manager",
65 connection);
67 iface1.call("PowerOff", false);
70void DBusUnitySessionService::RequestShutdown()
72 Q_EMIT shutdownRequested(false);