17#ifndef DBUSLOMIRISESSIONSERVICE_H
18#define DBUSLOMIRISESSIONSERVICE_H
20#include <QDBusObjectPath>
22#include "lomiridbusobject.h"
24typedef QList<QDBusObjectPath> QDbusList;
25Q_DECLARE_METATYPE(QList<QDBusObjectPath>)
37 Q_CLASSINFO(
"D-Bus Interface",
"com.lomiri.Shell.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(); }
61 void logoutRequested(
bool have_inhibitors);
72 void rebootRequested(
bool have_inhibitors);
83 void shutdownRequested(
bool have_inhibitors);
119 Q_SCRIPTABLE
void Logout();
128 Q_SCRIPTABLE
void Reboot();
137 Q_SCRIPTABLE
void Shutdown();
144 Q_SCRIPTABLE
void Suspend();
151 Q_SCRIPTABLE
void Hibernate();
160 Q_SCRIPTABLE
void HybridSleep();
170 Q_SCRIPTABLE
void RequestLogout();
180 Q_SCRIPTABLE
void RequestReboot();
191 Q_SCRIPTABLE
void RequestShutdown();
199 Q_SCRIPTABLE
void EndSession();
204 Q_SCRIPTABLE
bool CanHibernate()
const;
209 Q_SCRIPTABLE
bool CanSuspend()
const;
215 Q_SCRIPTABLE
bool CanHybridSleep()
const;
221 Q_SCRIPTABLE
bool CanReboot()
const;
226 Q_SCRIPTABLE
bool CanShutdown()
const;
231 Q_SCRIPTABLE
bool CanLock()
const;
236 Q_SCRIPTABLE QString UserName()
const;
241 Q_SCRIPTABLE QString RealName()
const;
246 Q_SCRIPTABLE QString HostName()
const;
251 Q_SCRIPTABLE
void PromptLock();
256 Q_SCRIPTABLE
void Lock();
261 Q_SCRIPTABLE
bool IsLocked()
const;
267 void switchToGreeter();
270class DBusGnomeSessionManagerWrapper :
public LomiriDBusObject
273 Q_CLASSINFO(
"D-Bus Interface",
"org.gnome.SessionManager")
276 DBusGnomeSessionManagerWrapper();
277 ~DBusGnomeSessionManagerWrapper() = default;
280 Q_SCRIPTABLE
void Logout(quint32 mode);
281 Q_SCRIPTABLE
void Reboot();
282 Q_SCRIPTABLE
void RequestReboot();
283 Q_SCRIPTABLE
void RequestShutdown();
284 Q_SCRIPTABLE
void Shutdown();
287class DBusGnomeSessionManagerDialogWrapper : public LomiriDBusObject
290 Q_CLASSINFO(
"D-Bus Interface",
"org.gnome.SessionManager.EndSessionDialog")
293 DBusGnomeSessionManagerDialogWrapper();
294 ~DBusGnomeSessionManagerDialogWrapper() = default;
297 Q_SCRIPTABLE
void Open(const
unsigned int type, const
unsigned int arg_1, const
unsigned int max_wait, const QList<QDBusObjectPath> &inhibitors);
300class DBusGnomeScreensaverWrapper: public LomiriDBusObject
303 Q_CLASSINFO(
"D-Bus Interface",
"org.gnome.ScreenSaver")
306 DBusGnomeScreensaverWrapper();
307 ~DBusGnomeScreensaverWrapper() = default;
313 Q_SCRIPTABLE
bool GetActive() const;
318 Q_SCRIPTABLE
void SetActive(
bool lock);
323 Q_SCRIPTABLE
void Lock();
328 Q_SCRIPTABLE quint32 GetActiveTime() const;
330 Q_SCRIPTABLE
void SimulateUserActivity();
333 void ActiveChanged(
bool active);
336class DBusScreensaverWrapper: public LomiriDBusObject
339 Q_CLASSINFO(
"D-Bus Interface",
"org.freedesktop.ScreenSaver")
342 DBusScreensaverWrapper();
343 ~DBusScreensaverWrapper() = default;
349 Q_SCRIPTABLE
bool GetActive() const;
354 Q_SCRIPTABLE
bool SetActive(
bool lock);
359 Q_SCRIPTABLE
void Lock();
364 Q_SCRIPTABLE quint32 GetActiveTime() const;
369 Q_SCRIPTABLE quint32 GetSessionIdleTime() const;
371 Q_SCRIPTABLE
void SimulateUserActivity();
374 void ActiveChanged(
bool active);
Q_SCRIPTABLE void LogoutReady()
Q_SCRIPTABLE void Unlocked()
Q_SCRIPTABLE void LockRequested()
Q_SCRIPTABLE void ShutdownRequested(bool have_inhibitors)
Q_SCRIPTABLE void RebootRequested(bool have_inhibitors)
Q_SCRIPTABLE void Locked()
Q_SCRIPTABLE void LogoutRequested(bool have_inhibitors)