File indexing completed on 2024-04-21 16:20:07

0001 /*
0002     SPDX-FileCopyrightText: 2009 Dario Freddi <drf54321@gmail.com>
0003     SPDX-FileCopyrightText: 2009 Will Stephenson <wstephenson@kde.org>
0004     SPDX-FileCopyrightText: 2011-2012 Lamarque V. Souza <lamarque@kde.org>
0005     SPDX-FileCopyrightText: 2013-2014 Jan Grulich <jgrulich@redhat.com>
0006 
0007     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0008 */
0009 
0010 #include "service.h"
0011 
0012 #include <KPluginFactory>
0013 
0014 #include "connectivitymonitor.h"
0015 #include "monitor.h"
0016 #include "notification.h"
0017 #include "secretagent.h"
0018 
0019 #include <QDBusConnection>
0020 #include <QDBusConnectionInterface>
0021 #include <QDBusMetaType>
0022 #include <QDBusReply>
0023 #include <QDBusServiceWatcher>
0024 
0025 K_PLUGIN_CLASS_WITH_JSON(NetworkManagementService, "networkmanagement.json")
0026 
0027 class NetworkManagementServicePrivate
0028 {
0029 public:
0030     SecretAgent *agent = nullptr;
0031     Notification *notification = nullptr;
0032     Monitor *monitor = nullptr;
0033     ConnectivityMonitor *connectivityMonitor = nullptr;
0034 };
0035 
0036 NetworkManagementService::NetworkManagementService(QObject *parent, const QVariantList &)
0037     : KDEDModule(parent)
0038     , d_ptr(new NetworkManagementServicePrivate)
0039 {
0040     Q_D(NetworkManagementService);
0041 
0042     connect(this, &KDEDModule::moduleRegistered, this, &NetworkManagementService::init);
0043 
0044     d->agent = new SecretAgent(this);
0045     connect(d->agent, &SecretAgent::secretsError, this, &NetworkManagementService::secretsError);
0046 }
0047 
0048 NetworkManagementService::~NetworkManagementService()
0049 {
0050     delete d_ptr;
0051 }
0052 
0053 void NetworkManagementService::init()
0054 {
0055     Q_D(NetworkManagementService);
0056 
0057     if (!d->notification) {
0058         d->notification = new Notification(this);
0059     }
0060 
0061     if (!d->monitor) {
0062         d->monitor = new Monitor(this);
0063     }
0064 
0065     if (!d->connectivityMonitor) {
0066         d->connectivityMonitor = new ConnectivityMonitor(this);
0067     }
0068 }
0069 
0070 #include "service.moc"