File indexing completed on 2024-04-28 04:57:01

0001 /**
0002  * SPDX-FileCopyrightText: 2013 Albert Vaca <albertvaka@gmail.com>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #include "linkprovider.h"
0008 #include <QDBusConnection>
0009 #include <core_debug.h>
0010 
0011 LinkProvider::LinkProvider()
0012 {
0013     // Terminate connections when we sleep or shut down.
0014     QDBusConnection::systemBus().connect(QStringLiteral("org.freedesktop.login1"),
0015                                          QStringLiteral("/org/freedesktop/login1"),
0016                                          QStringLiteral("org.freedesktop.login1.Manager"),
0017                                          QStringLiteral("PrepareForSleep"),
0018                                          this,
0019                                          SLOT(suspend(bool)));
0020     QDBusConnection::systemBus().connect(QStringLiteral("org.freedesktop.login1"),
0021                                          QStringLiteral("/org/freedesktop/login1"),
0022                                          QStringLiteral("org.freedesktop.login1.Manager"),
0023                                          QStringLiteral("PrepareForShutdown"),
0024                                          this,
0025                                          SLOT(suspend(bool)));
0026 }
0027 
0028 void LinkProvider::suspend(bool suspend)
0029 {
0030     if (suspend) {
0031         qCDebug(KDECONNECT_CORE) << "Stopping connection for suspension";
0032         onStop();
0033     } else {
0034         qCDebug(KDECONNECT_CORE) << "Restarting connection after suspension";
0035         onStart();
0036     }
0037 }
0038 
0039 #include "moc_linkprovider.cpp"