File indexing completed on 2024-04-14 04:51:45
0001 /** 0002 * SPDX-FileCopyrightText: 2021 David Shlemayev <david.shlemayev@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 "connectivity_reportplugin.h" 0008 0009 #include <KLocalizedString> 0010 #include <KPluginFactory> 0011 0012 #include <core/daemon.h> 0013 0014 #include "plugin_connectivity_report_debug.h" 0015 0016 K_PLUGIN_CLASS_WITH_JSON(ConnectivityReportPlugin, "kdeconnect_connectivity_report.json") 0017 0018 QString ConnectivityReportPlugin::cellularNetworkType() const 0019 { 0020 return m_cellularNetworkType; 0021 } 0022 0023 int ConnectivityReportPlugin::cellularNetworkStrength() const 0024 { 0025 return m_cellularNetworkStrength; 0026 } 0027 0028 void ConnectivityReportPlugin::receivePacket(const NetworkPacket &np) 0029 { 0030 auto subscriptions = np.get<QVariantMap>(QStringLiteral("signalStrengths"), QVariantMap()); 0031 if (!subscriptions.isEmpty()) { 0032 auto networkInfo = subscriptions.first().toMap(); 0033 0034 const auto oldCellularNetworkType = m_cellularNetworkType; 0035 const auto oldNetworkStrength = m_cellularNetworkStrength; 0036 0037 m_cellularNetworkType = networkInfo.value(QStringLiteral("networkType")).toString(); 0038 m_cellularNetworkStrength = networkInfo.value(QStringLiteral("signalStrength")).toInt(); 0039 0040 if (oldCellularNetworkType != m_cellularNetworkType || oldNetworkStrength != m_cellularNetworkStrength) { 0041 Q_EMIT refreshed(m_cellularNetworkType, m_cellularNetworkStrength); 0042 } 0043 } 0044 } 0045 0046 QString ConnectivityReportPlugin::dbusPath() const 0047 { 0048 return QLatin1String("/modules/kdeconnect/devices/%1/connectivity_report").arg(device()->id()); 0049 } 0050 0051 #include "connectivity_reportplugin.moc" 0052 #include "moc_connectivity_reportplugin.cpp"