@@ -71,3 +71,52 @@ void DBusUnitySessionService::RequestShutdown()
72 Q_EMIT shutdownRequested(false);
72 Q_EMIT shutdownRequested(false);
75+enum class Action : unsigned
83+DBusGnomeSessionManagerWrapper::DBusGnomeSessionManagerWrapper()
84+ : UnityDBusObject("/org/gnome/SessionManager/EndSessionDialog", "com.canonical.Unity")
88+DBusGnomeSessionManagerWrapper::~DBusGnomeSessionManagerWrapper()
92+void DBusGnomeSessionManagerWrapper::Open(const unsigned type, const unsigned arg_1, const unsigned max_wait, const QList<QDBusObjectPath> &inhibitors)
96+ Q_UNUSED(inhibitors);
98+ QDBusConnection connection = QDBusConnection::sessionBus();
99+ QDBusInterface iface1 ("com.canonical.Unity",
100+ "/com/canonical/Unity/Session",
101+ "com.canonical.Unity.Session",
104+ Action action = (Action)type;
108+ case Action::LOGOUT:
109+ iface1.call("RequestLogout");
112+ case Action::REBOOT:
113+ iface1.call("RequestShutdown");
116+ case Action::SHUTDOWN: