[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498
Maximiliano Curia
maxy at moszumanska.debian.org
Fri Oct 14 14:29:10 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=646196b
The following commit has been merged in the master branch:
commit 646196b3eb30f155750d8ef761f8f74caffc6e1e
Author: Vineet Garg <grgvineet at gmail.com>
Date: Mon Sep 14 16:36:04 2015 +0530
Added loopback pairing handler
---
core/backends/loopback/CMakeLists.txt | 1 +
core/backends/loopback/loopbackdevicelink.cpp | 4 +-
core/backends/loopback/loopbackpairinghandler.cpp | 81 ++++++++++++++++++++++
.../loopbackpairinghandler.h} | 23 +++---
4 files changed, 92 insertions(+), 17 deletions(-)
diff --git a/core/backends/loopback/CMakeLists.txt b/core/backends/loopback/CMakeLists.txt
index 9194c9c..f90f00d 100644
--- a/core/backends/loopback/CMakeLists.txt
+++ b/core/backends/loopback/CMakeLists.txt
@@ -4,6 +4,7 @@ set(backends_kdeconnect_SRCS
backends/loopback/loopbacklinkprovider.cpp
backends/loopback/loopbackdevicelink.cpp
+ backends/loopback/loopbackpairinghandler.cpp
PARENT_SCOPE
)
diff --git a/core/backends/loopback/loopbackdevicelink.cpp b/core/backends/loopback/loopbackdevicelink.cpp
index 5440c34..60e84f3 100644
--- a/core/backends/loopback/loopbackdevicelink.cpp
+++ b/core/backends/loopback/loopbackdevicelink.cpp
@@ -21,7 +21,7 @@
#include "loopbackdevicelink.h"
#include "loopbacklinkprovider.h"
-#include "../lan/lanpairinghandler.h"
+#include "loopbackpairinghandler.h"
LoopbackDeviceLink::LoopbackDeviceLink(const QString& deviceId, LoopbackLinkProvider* provider)
: DeviceLink(deviceId, provider, Remotely)
@@ -36,7 +36,7 @@ QString LoopbackDeviceLink::name()
PairingHandler* LoopbackDeviceLink::createPairingHandler(Device *device)
{
- return new LanPairingHandler(device);
+ return new LoopbackPairingHandler(device);
}
bool LoopbackDeviceLink::sendPackageEncrypted(QCA::PublicKey& key, NetworkPackage& input)
{
diff --git a/core/backends/loopback/loopbackpairinghandler.cpp b/core/backends/loopback/loopbackpairinghandler.cpp
new file mode 100644
index 0000000..5742bd0
--- /dev/null
+++ b/core/backends/loopback/loopbackpairinghandler.cpp
@@ -0,0 +1,81 @@
+/**
+ * Copyright 2015 Vineet Garg <grg.vineet at gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License or (at your option) version 3 or any later version
+ * accepted by the membership of KDE e.V. (or its successor approved
+ * by the membership of KDE e.V.), which shall act as a proxy
+ * defined in Section 14 of version 3 of the license.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <KLocalizedString>
+
+#include "core_debug.h"
+#include "daemon.h"
+#include "kdeconnectconfig.h"
+#include "loopbackdevicelink.h"
+#include "loopbackpairinghandler.h"
+#include "networkpackagetypes.h"
+
+LoopbackPairingHandler::LoopbackPairingHandler(Device* device)
+ : LanPairingHandler(device)
+{
+}
+
+
+bool LoopbackPairingHandler::requestPairing()
+{
+ switch (m_pairStatus) {
+ case PairStatus::Paired:
+ Q_EMIT pairingFailed(i18n(m_deviceLink->name().append(" : Already paired").toLatin1().data()));
+ return false;
+ case PairStatus ::Requested:
+ Q_EMIT pairingFailed(i18n(m_deviceLink->name().append(" : Pairing already requested for this device").toLatin1().data()));
+ return false;
+ case PairStatus ::RequestedByPeer:
+ qCDebug(KDECONNECT_CORE) << m_deviceLink->name() << " : Pairing already started by the other end, accepting their request.";
+ acceptPairing();
+ return false;
+ case PairStatus::NotPaired:
+ ;
+ }
+
+ NetworkPackage np(PACKAGE_TYPE_PAIR);
+ createPairPackage(np);
+ m_pairStatus = PairStatus::Requested;
+ m_pairingTimeout.start();
+ bool success = m_deviceLink->sendPackage(np);
+ return success;
+}
+
+bool LoopbackPairingHandler::acceptPairing()
+{
+ NetworkPackage np(PACKAGE_TYPE_PAIR);
+ createPairPackage(np);
+ m_pairStatus = PairStatus::Paired;
+ setAsPaired();
+ bool success = m_deviceLink->sendPackage(np);
+ Q_EMIT(pairingDone());
+ return success;
+}
+
+void LoopbackPairingHandler::setAsPaired()
+{
+ KdeConnectConfig::instance()->setDeviceProperty(m_device->id(), "publicKey", m_device->publicKey().toPEM());
+ KdeConnectConfig::instance()->setDeviceProperty(m_device->id(), "certificate", QString::fromLatin1(m_device->certificate().toPem()));
+
+ m_pairStatus = PairStatus::Paired;
+ m_pairingTimeout.stop(); // Just in case it is started
+
+ Q_EMIT(pairingDone());
+}
diff --git a/core/backends/lan/lanpairinghandler.h b/core/backends/loopback/loopbackpairinghandler.h
similarity index 68%
copy from core/backends/lan/lanpairinghandler.h
copy to core/backends/loopback/loopbackpairinghandler.h
index 2cc779b..e283b1f 100644
--- a/core/backends/lan/lanpairinghandler.h
+++ b/core/backends/loopback/loopbackpairinghandler.h
@@ -18,30 +18,23 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef KDECONNECT_LANPAIRINGHANDLER_H
-#define KDECONNECT_LANPAIRINGHANDLER_H
+#ifndef KDECONNECT_LOOPBACKPAIRINGHANDLER_H
+#define KDECONNECT_LOOPBACKPAIRINGHANDLER_H
#include "device.h"
#include "../devicelink.h"
-#include "../pairinghandler.h"
+#include "../lan/lanpairinghandler.h"
// This class is used pairing related stuff. It has direct access to links and can directly send packages
-class LanPairingHandler
- : public PairingHandler
+class LoopbackPairingHandler
+ : public LanPairingHandler
{
public:
- LanPairingHandler(Device* device);
- virtual ~LanPairingHandler() { }
+ LoopbackPairingHandler(Device* device);
+ virtual ~LoopbackPairingHandler() { }
- virtual void createPairPackage(NetworkPackage& np) Q_DECL_OVERRIDE;
- virtual void packageReceived(const NetworkPackage& np) Q_DECL_OVERRIDE;
virtual bool requestPairing() Q_DECL_OVERRIDE;
virtual bool acceptPairing() Q_DECL_OVERRIDE;
- virtual void rejectPairing() Q_DECL_OVERRIDE;
- virtual void unpair() Q_DECL_OVERRIDE;
-
-public Q_SLOTS:
- virtual void pairingTimeout();
private:
virtual void setAsPaired() Q_DECL_OVERRIDE;
@@ -50,4 +43,4 @@ private:
};
-#endif //KDECONNECT_LANPAIRINGHANDLER_H
+#endif //KDECONNECT_LOOPBACKPAIRINGHANDLER_H
--
kdeconnect packaging
More information about the pkg-kde-commits
mailing list