#include <plugins/Unity/Session/dbusunitysessionservice.h>
Inherits UnityDBusObject.
|
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 () |
|
|
Q_INVOKABLE void | logout () |
|
Q_INVOKABLE void | reboot () |
|
Q_INVOKABLE void | shutdown () |
|
Q_INVOKABLE void | endSession () |
|
DBusUnitySessionService provides com.canonical.Unity.Session dbus interface.
com.canonical.Unity.Session interface provides public methods and signals to handle eg. Logout/Reboot/Shutdown.
Definition at line 34 of file dbusunitysessionservice.h.
bool DBusUnitySessionService::CanHibernate |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of hibernating
Definition at line 273 of file dbusunitysessionservice.cpp.
275 return d->checkLogin1Call(QStringLiteral(
"CanHibernate"));
bool DBusUnitySessionService::CanHybridSleep |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of hybrid sleep
- Since
- unity8
Definition at line 283 of file dbusunitysessionservice.cpp.
285 return d->checkLogin1Call(QStringLiteral(
"CanHybridSleep"));
bool DBusUnitySessionService::CanLock |
( |
| ) |
const |
|
slot |
bool DBusUnitySessionService::CanReboot |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of rebooting
- Since
- unity8
Definition at line 288 of file dbusunitysessionservice.cpp.
290 return d->checkLogin1Call(QStringLiteral(
"CanReboot"));
bool DBusUnitySessionService::CanShutdown |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of shutting down
Definition at line 293 of file dbusunitysessionservice.cpp.
295 return d->checkLogin1Call(QStringLiteral(
"CanPowerOff"));
bool DBusUnitySessionService::CanSuspend |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of suspending
Definition at line 278 of file dbusunitysessionservice.cpp.
280 return d->checkLogin1Call(QStringLiteral(
"CanSuspend"));
void DBusUnitySessionService::EndSession |
( |
| ) |
|
|
slot |
Issue an EndSession request.
This method calls the EndSession() Upstart DBus method on the current DBus session bus.
Definition at line 264 of file dbusunitysessionservice.cpp.
266 const QDBusMessage msg = QDBusMessage::createMethodCall(QStringLiteral(
"com.ubuntu.Upstart"),
267 QStringLiteral(
"/com/ubuntu/Upstart"),
268 QStringLiteral(
"com.ubuntu.Upstart0_6"),
269 QStringLiteral(
"EndSession"));
270 QDBusConnection::sessionBus().asyncCall(msg);
void DBusUnitySessionService::Hibernate |
( |
| ) |
|
|
slot |
Hibernate the system
This method puts the system into hibernation without user's confirmation.
Definition at line 401 of file dbusunitysessionservice.cpp.
404 d->makeLogin1Call(QStringLiteral(
"Hibernate"), {
false});
Q_SCRIPTABLE void PromptLock()
QString DBusUnitySessionService::HostName |
( |
| ) |
const |
|
slot |
- Returns
- the local hostname
Definition at line 322 of file dbusunitysessionservice.cpp.
325 if (gethostname(hostName,
sizeof(hostName)) == -1) {
326 qWarning() <<
"Could not determine local hostname";
329 hostName[
sizeof(hostName) - 1] =
'\0';
330 return QString::fromLocal8Bit(hostName);
void DBusUnitySessionService::HybridSleep |
( |
| ) |
|
|
slot |
Hybrid sleep
This method puts the system into hybrid sleep without user's confirmation.
- Since
- unity8
Definition at line 407 of file dbusunitysessionservice.cpp.
410 d->makeLogin1Call(QStringLiteral(
"HybridSleep"), {
false});
Q_SCRIPTABLE void PromptLock()
bool DBusUnitySessionService::IsLocked |
( |
| ) |
const |
|
slot |
void DBusUnitySessionService::Lock |
( |
| ) |
|
|
slot |
Locks the session immediately
Definition at line 339 of file dbusunitysessionservice.cpp.
345 const QString sessionPath = QString::fromLocal8Bit(qgetenv(
"XDG_SESSION_PATH"));
346 QDBusMessage msg = QDBusMessage::createMethodCall(QStringLiteral(
"org.freedesktop.DisplayManager"),
348 QStringLiteral(
"org.freedesktop.DisplayManager.Session"),
349 QStringLiteral(
"Lock"));
351 QDBusPendingCall pendingCall = QDBusConnection::systemBus().asyncCall(msg);
352 QDBusPendingCallWatcher *watcher =
new QDBusPendingCallWatcher(pendingCall,
this);
353 connect(watcher, &QDBusPendingCallWatcher::finished,
354 this, [
this](QDBusPendingCallWatcher* watcher) {
356 QDBusPendingReply<void> reply = *watcher;
357 watcher->deleteLater();
358 if (reply.isError()) {
359 qWarning() <<
"Lock call failed" << reply.error().message();
Q_SCRIPTABLE void Locked()
Q_SCRIPTABLE void PromptLock()
Q_SCRIPTABLE void DBusUnitySessionService::Locked |
( |
| ) |
|
|
signal |
Emitted after the session has been locked.
Q_SCRIPTABLE void DBusUnitySessionService::LockRequested |
( |
| ) |
|
|
signal |
void DBusUnitySessionService::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 257 of file dbusunitysessionservice.cpp.
261 Q_EMIT logoutReady();
Q_SCRIPTABLE void LogoutReady()
Q_SCRIPTABLE void DBusUnitySessionService::LogoutReady |
( |
| ) |
|
|
signal |
LogoutReady signal
This signal is emitted when all the apps are closed. And the system is safe to logout.
Q_SCRIPTABLE void DBusUnitySessionService::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. |
void DBusUnitySessionService::PromptLock |
( |
| ) |
|
|
slot |
QString DBusUnitySessionService::RealName |
( |
| ) |
const |
|
slot |
- Returns
- the real name of the current user
Definition at line 308 of file dbusunitysessionservice.cpp.
310 struct passwd *p = getpwuid(geteuid());
312 const QString gecos = QString::fromLocal8Bit(p->pw_gecos);
313 if (!gecos.isEmpty()) {
314 const QStringList splitGecos = gecos.split(QLatin1Char(
','));
315 return splitGecos.first();
void DBusUnitySessionService::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 379 of file dbusunitysessionservice.cpp.
381 d->makeLogin1Call(QStringLiteral(
"Reboot"), {
false});
Q_SCRIPTABLE void DBusUnitySessionService::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. |
void DBusUnitySessionService::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 373 of file dbusunitysessionservice.cpp.
376 Q_EMIT logoutRequested(
false);
Q_SCRIPTABLE void LogoutRequested(bool have_inhibitors)
void DBusUnitySessionService::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 384 of file dbusunitysessionservice.cpp.
387 Q_EMIT rebootRequested(
false);
Q_SCRIPTABLE void RebootRequested(bool have_inhibitors)
void DBusUnitySessionService::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 413 of file dbusunitysessionservice.cpp.
416 Q_EMIT shutdownRequested(
false);
Q_SCRIPTABLE void ShutdownRequested(bool have_inhibitors)
void DBusUnitySessionService::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 390 of file dbusunitysessionservice.cpp.
392 d->makeLogin1Call(QStringLiteral(
"PowerOff"), {
false});
Q_SCRIPTABLE void DBusUnitySessionService::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. |
void DBusUnitySessionService::Suspend |
( |
| ) |
|
|
slot |
Suspend the system
This method puts the system into sleep without user's confirmation.
Definition at line 395 of file dbusunitysessionservice.cpp.
398 d->makeLogin1Call(QStringLiteral(
"Suspend"), {
false});
Q_SCRIPTABLE void PromptLock()
Q_SCRIPTABLE void DBusUnitySessionService::Unlocked |
( |
| ) |
|
|
signal |
Emitted after the session has been unlocked.
QString DBusUnitySessionService::UserName |
( |
| ) |
const |
|
slot |
- Returns
- the login name of the current user
Definition at line 303 of file dbusunitysessionservice.cpp.
305 return QString::fromUtf8(g_get_user_name());
The documentation for this class was generated from the following files: