#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 398 of file dbusunitysessionservice.cpp.
400 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 403 of file dbusunitysessionservice.cpp.
405 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.
343 const QString sessionPath = QString::fromLocal8Bit(qgetenv(
"XDG_SESSION_PATH"));
344 QDBusMessage msg = QDBusMessage::createMethodCall(QStringLiteral(
"org.freedesktop.DisplayManager"),
346 QStringLiteral(
"org.freedesktop.DisplayManager.Session"),
347 QStringLiteral(
"Lock"));
349 QDBusPendingCall pendingCall = QDBusConnection::systemBus().asyncCall(msg);
350 QDBusPendingCallWatcher *watcher =
new QDBusPendingCallWatcher(pendingCall,
this);
351 connect(watcher, &QDBusPendingCallWatcher::finished,
352 this, [
this](QDBusPendingCallWatcher* watcher) {
354 QDBusPendingReply<void> reply = *watcher;
355 watcher->deleteLater();
356 if (reply.isError()) {
357 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 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 377 of file dbusunitysessionservice.cpp.
379 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 371 of file dbusunitysessionservice.cpp.
374 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 382 of file dbusunitysessionservice.cpp.
385 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 408 of file dbusunitysessionservice.cpp.
411 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 388 of file dbusunitysessionservice.cpp.
390 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 393 of file dbusunitysessionservice.cpp.
395 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: