File indexing completed on 2025-02-16 04:23:12
0001 /* 0002 SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org> 0003 SPDX-License-Identifier: LGPL-2.0-or-later 0004 */ 0005 0006 #include "client.h" 0007 #include "connector1iface.h" 0008 #include "logging.h" 0009 0010 #include "../shared/unifiedpush-constants.h" 0011 0012 #include <QDBusConnection> 0013 #include <QDBusConnectionInterface> 0014 #include <QSettings> 0015 0016 using namespace KUnifiedPush; 0017 0018 Client Client::load(const QString &token, QSettings &settings) 0019 { 0020 settings.beginGroup(token); 0021 Client client; 0022 client.token = token; 0023 client.remoteId = settings.value(QStringLiteral("RemoteId"), QString()).toString(); 0024 client.serviceName = settings.value(QStringLiteral("ServiceName"), QString()).toString(); 0025 client.endpoint = settings.value(QStringLiteral("Endpoint"), QString()).toString(); 0026 client.description = settings.value(QStringLiteral("Description"), QString()).toString(); 0027 settings.endGroup(); 0028 return client; 0029 } 0030 0031 void Client::store(QSettings& settings) const 0032 { 0033 settings.beginGroup(token); 0034 settings.setValue(QStringLiteral("RemoteId"), remoteId); 0035 settings.setValue(QStringLiteral("ServiceName"), serviceName); 0036 settings.setValue(QStringLiteral("Endpoint"), endpoint); 0037 settings.setValue(QStringLiteral("Description"), description); 0038 settings.endGroup(); 0039 } 0040 0041 bool Client::isValid() const 0042 { 0043 return !token.isEmpty() && !serviceName.isEmpty(); 0044 } 0045 0046 void Client::activate() const 0047 { 0048 qCDebug(Log) << "activating" << serviceName; 0049 QDBusConnection::sessionBus().interface()->startService(serviceName); 0050 } 0051 0052 OrgUnifiedpushConnector1Interface Client::connector() const 0053 { 0054 return OrgUnifiedpushConnector1Interface(serviceName, QLatin1String(UP_CONNECTOR_PATH), QDBusConnection::sessionBus()); 0055 }