[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