17 #ifndef DBUSUNITYSESSIONSERVICE_H
18 #define DBUSUNITYSESSIONSERVICE_H
20 #include <QDBusObjectPath>
22 #include "unitydbusobject.h"
24 typedef QList<QDBusObjectPath> QDbusList;
25 Q_DECLARE_METATYPE(QList<QDBusObjectPath>)
37 Q_CLASSINFO(
"D-Bus Interface",
"com.canonical.Unity.Session")
44 Q_INVOKABLE
void logout() { Logout(); }
45 Q_INVOKABLE
void reboot() { Reboot(); }
46 Q_INVOKABLE
void shutdown() { Shutdown(); }
47 Q_INVOKABLE
void endSession() { EndSession(); }
60 Q_SCRIPTABLE
void LogoutRequested(
bool have_inhibitors);
61 void logoutRequested(
bool have_inhibitors);
71 Q_SCRIPTABLE
void RebootRequested(
bool have_inhibitors);
72 void rebootRequested(
bool have_inhibitors);
82 Q_SCRIPTABLE
void ShutdownRequested(
bool have_inhibitors);
83 void shutdownRequested(
bool have_inhibitors);
91 Q_SCRIPTABLE
void LogoutReady();
97 Q_SCRIPTABLE
void LockRequested();
103 Q_SCRIPTABLE
void Locked();
108 Q_SCRIPTABLE
void Unlocked();
118 Q_SCRIPTABLE
void Logout();
127 Q_SCRIPTABLE
void Reboot();
136 Q_SCRIPTABLE
void Shutdown();
143 Q_SCRIPTABLE
void Suspend();
150 Q_SCRIPTABLE
void Hibernate();
159 Q_SCRIPTABLE
void HybridSleep();
169 Q_SCRIPTABLE
void RequestLogout();
179 Q_SCRIPTABLE
void RequestReboot();
190 Q_SCRIPTABLE
void RequestShutdown();
198 Q_SCRIPTABLE
void EndSession();
203 Q_SCRIPTABLE
bool CanHibernate()
const;
208 Q_SCRIPTABLE
bool CanSuspend()
const;
214 Q_SCRIPTABLE
bool CanHybridSleep()
const;
220 Q_SCRIPTABLE
bool CanReboot()
const;
225 Q_SCRIPTABLE
bool CanShutdown()
const;
230 Q_SCRIPTABLE
bool CanLock()
const;
235 Q_SCRIPTABLE QString UserName()
const;
240 Q_SCRIPTABLE QString RealName()
const;
245 Q_SCRIPTABLE QString HostName()
const;
250 Q_SCRIPTABLE
void PromptLock();
255 Q_SCRIPTABLE
void Lock();
260 Q_SCRIPTABLE
bool IsLocked()
const;
263 class DBusGnomeSessionManagerWrapper :
public UnityDBusObject
266 Q_CLASSINFO(
"D-Bus Interface",
"org.gnome.SessionManager.EndSessionDialog")
269 DBusGnomeSessionManagerWrapper();
270 ~DBusGnomeSessionManagerWrapper() = default;
273 Q_SCRIPTABLE
void Open(const
unsigned int type, const
unsigned int arg_1, const
unsigned int max_wait, const QList<QDBusObjectPath> &inhibitors);
276 void performAsyncCall(const QString &method);
279 class DBusGnomeScreensaverWrapper: public UnityDBusObject
282 Q_CLASSINFO(
"D-Bus Interface",
"org.gnome.ScreenSaver")
285 DBusGnomeScreensaverWrapper();
286 ~DBusGnomeScreensaverWrapper() = default;
292 Q_SCRIPTABLE
bool GetActive() const;
297 Q_SCRIPTABLE
void SetActive(
bool lock);
302 Q_SCRIPTABLE
void Lock();
307 Q_SCRIPTABLE quint32 GetActiveTime() const;
309 Q_SCRIPTABLE
void SimulateUserActivity();
312 void ActiveChanged(
bool active);
315 class DBusScreensaverWrapper: public UnityDBusObject
318 Q_CLASSINFO(
"D-Bus Interface",
"org.freedesktop.ScreenSaver")
321 DBusScreensaverWrapper();
322 ~DBusScreensaverWrapper() = default;
328 Q_SCRIPTABLE
bool GetActive() const;
333 Q_SCRIPTABLE
bool SetActive(
bool lock);
338 Q_SCRIPTABLE
void Lock();
343 Q_SCRIPTABLE quint32 GetActiveTime() const;
348 Q_SCRIPTABLE quint32 GetSessionIdleTime() const;
350 Q_SCRIPTABLE
void SimulateUserActivity();
353 void ActiveChanged(
bool active);
356 #endif // DBUSUNITYSESSIONSERVICE_H