File indexing completed on 2024-04-21 04:56:52

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 "pingplugin.h"
0008 
0009 #include <KLocalizedString>
0010 #include <KPluginFactory>
0011 
0012 #include <QDBusConnection>
0013 #include <QDebug>
0014 
0015 #include <core/daemon.h>
0016 #include <core/device.h>
0017 
0018 #include "plugin_ping_debug.h"
0019 
0020 K_PLUGIN_CLASS_WITH_JSON(PingPlugin, "kdeconnect_ping.json")
0021 
0022 void PingPlugin::receivePacket(const NetworkPacket &np)
0023 {
0024     Daemon::instance()->sendSimpleNotification(QStringLiteral("pingReceived"),
0025                                                device()->name(),
0026                                                np.get<QString>(QStringLiteral("message"), i18n("Ping!")),
0027                                                QStringLiteral("dialog-ok"));
0028 }
0029 
0030 void PingPlugin::sendPing()
0031 {
0032     NetworkPacket np(PACKET_TYPE_PING);
0033     bool success = sendPacket(np);
0034     qCDebug(KDECONNECT_PLUGIN_PING) << "sendPing:" << success;
0035 }
0036 
0037 void PingPlugin::sendPing(const QString &customMessage)
0038 {
0039     NetworkPacket np(PACKET_TYPE_PING);
0040     if (!customMessage.isEmpty()) {
0041         np.set(QStringLiteral("message"), customMessage);
0042     }
0043     bool success = sendPacket(np);
0044     qCDebug(KDECONNECT_PLUGIN_PING) << "sendPing:" << success;
0045 }
0046 
0047 QString PingPlugin::dbusPath() const
0048 {
0049     return QLatin1String("/modules/kdeconnect/devices/%1/ping").arg(device()->id());
0050 }
0051 
0052 #include "moc_pingplugin.cpp"
0053 #include "pingplugin.moc"