#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 266 of file dbusunitysessionservice.cpp.
268 return d->checkLogin1Call(QStringLiteral(
"CanHibernate"));
bool DBusUnitySessionService::CanHybridSleep |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of hybrid sleep
- Since
- unity8
Definition at line 276 of file dbusunitysessionservice.cpp.
278 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 281 of file dbusunitysessionservice.cpp.
283 return d->checkLogin1Call(QStringLiteral(
"CanReboot"));
bool DBusUnitySessionService::CanShutdown |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of shutting down
Definition at line 286 of file dbusunitysessionservice.cpp.
288 return d->checkLogin1Call(QStringLiteral(
"CanPowerOff"));
bool DBusUnitySessionService::CanSuspend |
( |
| ) |
const |
|
slot |
- Returns
- whether the system is capable of suspending
Definition at line 271 of file dbusunitysessionservice.cpp.
273 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 257 of file dbusunitysessionservice.cpp.
259 const QDBusMessage msg = QDBusMessage::createMethodCall(QStringLiteral(
"com.ubuntu.Upstart"),
260 QStringLiteral(
"/com/ubuntu/Upstart"),
261 QStringLiteral(
"com.ubuntu.Upstart0_6"),
262 QStringLiteral(
"EndSession"));
263 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 395 of file dbusunitysessionservice.cpp.
397 d->makeLogin1Call(QStringLiteral(
"Hibernate"), {
false});
QString DBusUnitySessionService::HostName |
( |
| ) |
const |
|
slot |
- Returns
- the local hostname
Definition at line 320 of file dbusunitysessionservice.cpp.
323 if (gethostname(hostName,
sizeof(hostName)) == -1) {
324 qWarning() <<
"Could not determine local hostname";
327 hostName[
sizeof(hostName) - 1] =
'\0';
328 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 400 of file dbusunitysessionservice.cpp.
402 d->makeLogin1Call(QStringLiteral(
"HybridSleep"), {
false});
bool DBusUnitySessionService::IsLocked |
( |
| ) |
const |
|
slot |
void DBusUnitySessionService::Lock |
( |
| ) |
|
|
slot |
Locks the session immediately
Definition at line 337 of file dbusunitysessionservice.cpp.
340 const QString sessionPath = QString::fromLocal8Bit(qgetenv(
"XDG_SESSION_PATH"));
341 QDBusMessage msg = QDBusMessage::createMethodCall(QStringLiteral(
"org.freedesktop.DisplayManager"),
343 QStringLiteral(
"org.freedesktop.DisplayManager.Session"),
344 QStringLiteral(
"Lock"));
346 QDBusPendingCall pendingCall = QDBusConnection::systemBus().asyncCall(msg);
347 QDBusPendingCallWatcher *watcher =
new QDBusPendingCallWatcher(pendingCall,
this);
348 connect(watcher, &QDBusPendingCallWatcher::finished,
349 this, [
this](QDBusPendingCallWatcher* watcher) {
351 QDBusPendingReply<QVariant> reply = *watcher;
352 watcher->deleteLater();
353 if (reply.isError()) {
354 qWarning() <<
"Lock call failed" << reply.error().message();
Q_SCRIPTABLE void Locked()
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 250 of file dbusunitysessionservice.cpp.
254 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 306 of file dbusunitysessionservice.cpp.
308 struct passwd *p = getpwuid(geteuid());
310 const QString gecos = QString::fromLocal8Bit(p->pw_gecos);
311 if (!gecos.isEmpty()) {
312 const QStringList splitGecos = gecos.split(QLatin1Char(
','));
313 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 374 of file dbusunitysessionservice.cpp.
376 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 368 of file dbusunitysessionservice.cpp.
371 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 379 of file dbusunitysessionservice.cpp.
382 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 405 of file dbusunitysessionservice.cpp.
408 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 385 of file dbusunitysessionservice.cpp.
387 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 390 of file dbusunitysessionservice.cpp.
392 d->makeLogin1Call(QStringLiteral(
"Suspend"), {
false});
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 296 of file dbusunitysessionservice.cpp.
298 struct passwd *p = getpwuid(geteuid());
300 return QString::fromUtf8(p->pw_name);
The documentation for this class was generated from the following files: