LinkProvider::LinkProvider()
{
// Terminate connections when we sleep or shut down.
QDBusConnection::systemBus().connect(QStringLiteral("org.freedesktop.login1"),
QStringLiteral("/org/freedesktop/login1"),
QStringLiteral("org.freedesktop.login1.Manager"),
QStringLiteral("PrepareForSleep"),
this,
SLOT(suspend(bool)));
QDBusConnection::systemBus().connect(QStringLiteral("org.freedesktop.login1"),
QStringLiteral("/org/freedesktop/login1"),
QStringLiteral("org.freedesktop.login1.Manager"),
QStringLiteral("PrepareForShutdown"),
this,
SLOT(suspend(bool)));
}
void LinkProvider::suspend(bool suspend)
{
if (suspend) {
qCDebug(KDECONNECT_CORE) << "Stopping connection for suspension";
onStop();
} else {
qCDebug(KDECONNECT_CORE) << "Restarting connection after suspension";
onStart();
}
}