#include <plugins/Lomiri/Session/dbuslomirisessionservice.h>
Inherits LomiriDBusObject.
|
Q_SCRIPTABLE void | LogoutRequested (bool have_inhibitors) |
|
void | logoutRequested (bool have_inhibitors) |
|
Q_SCRIPTABLE void | RebootRequested (bool have_inhibitors) |
|
void | rebootRequested (bool have_inhibitors) |
|
Q_SCRIPTABLE void | ShutdownRequested (bool have_inhibitors) |
|
void | shutdownRequested (bool have_inhibitors) |
|
Q_SCRIPTABLE void | LogoutReady () |
|
void | logoutReady () |
|
Q_SCRIPTABLE void | LockRequested () |
|
void | lockRequested () |
|
Q_SCRIPTABLE void | Locked () |
|
Q_SCRIPTABLE void | Unlocked () |
|
void | unlocked () |
|
DBusLomiriSessionService provides com.lomiri.Shell.Session dbus interface.
com.lomiri.Shell.Session interface provides public methods and signals to handle eg. Logout/Reboot/Shutdown.
Definition at line 34 of file dbuslomirisessionservice.h.
◆ DBusLomiriSessionService()
DBusLomiriSessionService::DBusLomiriSessionService |
( |
| ) |
|
Definition at line 324 of file dbuslomirisessionservice.cpp.
325 : LomiriDBusObject(QStringLiteral("/com/lomiri/Shell/Session"), QStringLiteral("com.lomiri.Shell"))
326{
327 if (!d->logindSessionPath.isEmpty()) {
328
329 QDBusConnection::SM_BUSNAME().connect(LOGIN1_SERVICE, d->logindSessionPath, LOGIN1_SESSION_IFACE, QStringLiteral(
"Lock"),
this, SLOT(
PromptLock()));
330
331
332 QDBusConnection::SM_BUSNAME().connect(LOGIN1_SERVICE, d->logindSessionPath, LOGIN1_SESSION_IFACE, QStringLiteral("Unlock"), this, SLOT(doUnlock()));
334 } else {
335 qWarning() << "Failed to connect to logind's session Lock/Unlock signals";
336 }
337}
Q_SCRIPTABLE void PromptLock()
◆ CanHibernate
bool DBusLomiriSessionService::CanHibernate |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of hibernating
Definition at line 355 of file dbuslomirisessionservice.cpp.
356{
357 return d->checkLogin1Call(QStringLiteral("CanHibernate"));
358}
◆ CanHybridSleep
bool DBusLomiriSessionService::CanHybridSleep |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of hybrid sleep
- Since
- lomiri
Definition at line 365 of file dbuslomirisessionservice.cpp.
366{
367 return d->checkLogin1Call(QStringLiteral("CanHybridSleep"));
368}
◆ CanLock
bool DBusLomiriSessionService::CanLock |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of locking the session
Definition at line 380 of file dbuslomirisessionservice.cpp.
381{
383 if (user.startsWith(QStringLiteral("guest-")) ||
384 d->isUserInGroup(user, QStringLiteral("nopasswdlogin"))) {
385 return false;
386 } else {
387 return true;
388 }
389}
Q_SCRIPTABLE QString UserName() const
◆ CanReboot
bool DBusLomiriSessionService::CanReboot |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of rebooting
- Since
- lomiri
Definition at line 370 of file dbuslomirisessionservice.cpp.
371{
372 return d->checkLogin1Call(QStringLiteral("CanReboot"));
373}
◆ CanShutdown
bool DBusLomiriSessionService::CanShutdown |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of shutting down
Definition at line 375 of file dbuslomirisessionservice.cpp.
376{
377 return d->checkLogin1Call(QStringLiteral("CanPowerOff"));
378}
◆ CanSuspend
bool DBusLomiriSessionService::CanSuspend |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of suspending
Definition at line 360 of file dbuslomirisessionservice.cpp.
361{
362 return d->checkLogin1Call(QStringLiteral("CanSuspend"));
363}
◆ endSession()
Q_INVOKABLE void DBusLomiriSessionService::endSession |
( |
| ) |
|
|
inline |
◆ EndSession
void DBusLomiriSessionService::EndSession |
( |
| ) |
|
|
slot |
Issue an EndSession request.
This method calls the EndSession() Upstart DBus method on the current DBus session bus.
Definition at line 346 of file dbuslomirisessionservice.cpp.
347{
348 const QDBusMessage msg = QDBusMessage::createMethodCall(QStringLiteral("com.lomiri.Upstart"),
349 QStringLiteral("/com/lomiri/Upstart"),
350 QStringLiteral("com.lomiri.Upstart0_6"),
351 QStringLiteral("EndSession"));
352 QDBusConnection::sessionBus().asyncCall(msg);
353}
◆ Hibernate
void DBusLomiriSessionService::Hibernate |
( |
| ) |
|
|
slot |
Hibernate the system
This method puts the system into hibernation without user's confirmation.
Definition at line 523 of file dbuslomirisessionservice.cpp.
524{
526 d->makeLogin1Call(QStringLiteral("Hibernate"), {false});
527}
◆ HostName
QString DBusLomiriSessionService::HostName |
( |
| ) |
const |
|
slot |
- Returns
- the local hostname
Definition at line 410 of file dbuslomirisessionservice.cpp.
411{
412 char hostName[512];
413 if (gethostname(hostName, sizeof(hostName)) == -1) {
414 qWarning() << "Could not determine local hostname";
415 return QString();
416 }
417 hostName[sizeof(hostName) - 1] = '\0';
418 return QString::fromLocal8Bit(hostName);
419}
◆ HybridSleep
void DBusLomiriSessionService::HybridSleep |
( |
| ) |
|
|
slot |
Hybrid sleep
This method puts the system into hybrid sleep without user's confirmation.
- Since
- lomiri
Definition at line 529 of file dbuslomirisessionservice.cpp.
530{
532 d->makeLogin1Call(QStringLiteral("HybridSleep"), {false});
533}
◆ IsLocked
bool DBusLomiriSessionService::IsLocked |
( |
| ) |
const |
|
slot |
◆ Lock
void DBusLomiriSessionService::Lock |
( |
| ) |
|
|
slot |
Locks the session immediately
Definition at line 432 of file dbuslomirisessionservice.cpp.
433{
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
455 switchToGreeter();
456}
◆ Locked
Q_SCRIPTABLE void DBusLomiriSessionService::Locked |
( |
| ) |
|
|
signal |
Emitted after the session has been locked.
◆ LockRequested
Q_SCRIPTABLE void DBusLomiriSessionService::LockRequested |
( |
| ) |
|
|
signal |
◆ logout()
Q_INVOKABLE void DBusLomiriSessionService::logout |
( |
| ) |
|
|
inline |
◆ Logout
void DBusLomiriSessionService::Logout |
( |
| ) |
|
|
slot |
Logout the system.
This method directly logs out the system without user's confirmation. Ordinary applications should avoid calling this method. Please call RequestLogout() to ask the user to decide logout or not.
Definition at line 339 of file dbuslomirisessionservice.cpp.
340{
341
343 Q_EMIT logoutReady();
344}
Q_SCRIPTABLE void LogoutReady()
◆ LogoutReady
Q_SCRIPTABLE void DBusLomiriSessionService::LogoutReady |
( |
| ) |
|
|
signal |
LogoutReady signal
This signal is emitted when all the apps are closed. And the system is safe to logout.
◆ LogoutRequested
Q_SCRIPTABLE void DBusLomiriSessionService::LogoutRequested |
( |
bool |
have_inhibitors | ) |
|
|
signal |
LogoutRequested signal
This signal is emitted when some applications request the system to logout.
- Parameters
-
have_inhibitors | if there are any special running applications which inhibit the logout. |
◆ PromptLock
void DBusLomiriSessionService::PromptLock |
( |
| ) |
|
|
slot |
Request that the session get locked, emits signal LockRequested()
Definition at line 421 of file dbuslomirisessionservice.cpp.
422{
423
424
425
428 Q_EMIT lockRequested();
429 }
430}
Q_SCRIPTABLE void LockRequested()
Q_SCRIPTABLE bool CanLock() const
◆ RealName
QString DBusLomiriSessionService::RealName |
( |
| ) |
const |
|
slot |
- Returns
- the real name of the current user
Definition at line 396 of file dbuslomirisessionservice.cpp.
397{
398 struct passwd *p = getpwuid(geteuid());
399 if (p) {
400 const QString gecos = QString::fromLocal8Bit(p->pw_gecos);
401 if (!gecos.isEmpty()) {
402 const QStringList splitGecos = gecos.split(QLatin1Char(','));
403 return splitGecos.first();
404 }
405 }
406
407 return QString();
408}
◆ reboot()
Q_INVOKABLE void DBusLomiriSessionService::reboot |
( |
| ) |
|
|
inline |
◆ Reboot
void DBusLomiriSessionService::Reboot |
( |
| ) |
|
|
slot |
Reboot the system.
This method directly reboots the system without user's confirmation. Ordinary applications should avoid calling this method. Please call RequestReboot() to ask the user to decide reboot or not.
Definition at line 501 of file dbuslomirisessionservice.cpp.
502{
503 d->makeLogin1Call(QStringLiteral("Reboot"), {false});
504}
◆ RebootRequested
Q_SCRIPTABLE void DBusLomiriSessionService::RebootRequested |
( |
bool |
have_inhibitors | ) |
|
|
signal |
RebootRequested signal
This signal is emitted when some applications request the system to reboot.
- Parameters
-
have_inhibitors | if there are any special running applications which inhibit the reboot. |
◆ RequestLogout
void DBusLomiriSessionService::RequestLogout |
( |
| ) |
|
|
slot |
Issue a logout request.
This method emits the LogoutRequested signal to the shell with a boolean which indicates if there's any inhibitors. The shell should receive this signal and display a dialog to ask the user to confirm the logout action. If confirmed, shell can call Logout() method to logout.
Definition at line 495 of file dbuslomirisessionservice.cpp.
496{
498 Q_EMIT logoutRequested(false);
499}
Q_SCRIPTABLE void LogoutRequested(bool have_inhibitors)
◆ RequestReboot
void DBusLomiriSessionService::RequestReboot |
( |
| ) |
|
|
slot |
Issue a reboot request.
This method emits the RebootRequested signal to the shell with a boolean which indicates if there's any inhibitors. The shell should receive this signal and display a dialog to ask the user to confirm the reboot action. If confirmed, shell can call Reboot() method to reboot.
Definition at line 506 of file dbuslomirisessionservice.cpp.
507{
509 Q_EMIT rebootRequested(false);
510}
Q_SCRIPTABLE void RebootRequested(bool have_inhibitors)
◆ RequestShutdown
void DBusLomiriSessionService::RequestShutdown |
( |
| ) |
|
|
slot |
Issue a shutdown request.
This method emits the ShutdownRequested signal to the shell with a boolean which indicates if there's any inhibitors. The shell should receive this signal and display a dialog to ask the user to confirm the reboot action. If confirmed, shell can call Shutdown() method to shutdown.
Definition at line 535 of file dbuslomirisessionservice.cpp.
536{
538 Q_EMIT shutdownRequested(false);
539}
Q_SCRIPTABLE void ShutdownRequested(bool have_inhibitors)
◆ shutdown()
Q_INVOKABLE void DBusLomiriSessionService::shutdown |
( |
| ) |
|
|
inline |
◆ Shutdown
void DBusLomiriSessionService::Shutdown |
( |
| ) |
|
|
slot |
Shutdown the system.
This method directly shuts down the system without user's confirmation. Ordinary applications should avoid calling this method. Please call RequestShutdown() to ask the user to decide shutdown or not.
Definition at line 512 of file dbuslomirisessionservice.cpp.
513{
514 d->makeLogin1Call(QStringLiteral("PowerOff"), {false});
515}
◆ ShutdownRequested
Q_SCRIPTABLE void DBusLomiriSessionService::ShutdownRequested |
( |
bool |
have_inhibitors | ) |
|
|
signal |
ShutdownRequested signal
This signal is emitted when some applications request the system to shutdown.
- Parameters
-
have_inhibitors | if there are any special running applications which inhibit the shutdown. |
◆ Suspend
void DBusLomiriSessionService::Suspend |
( |
| ) |
|
|
slot |
Suspend the system
This method puts the system into sleep without user's confirmation.
Definition at line 517 of file dbuslomirisessionservice.cpp.
518{
520 d->makeLogin1Call(QStringLiteral("Suspend"), {false});
521}
◆ Unlocked
Q_SCRIPTABLE void DBusLomiriSessionService::Unlocked |
( |
| ) |
|
|
signal |
Emitted after the session has been unlocked.
◆ UserName
QString DBusLomiriSessionService::UserName |
( |
| ) |
const |
|
slot |
- Returns
- the login name of the current user
Definition at line 391 of file dbuslomirisessionservice.cpp.
392{
393 return QString::fromUtf8(g_get_user_name());
394}
The documentation for this class was generated from the following files: