[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498

Maximiliano Curia maxy at moszumanska.debian.org
Fri Oct 14 14:26:53 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=be45c57

The following commit has been merged in the master branch:
commit be45c577efe111eb35f440f663a3fe07c3e82d46
Author: Albert Vaca <albertvaka at gmail.com>
Date:   Tue Sep 3 22:11:13 2013 +0200

    Added RequestedByPeer status to the state machine
---
 kded/device.cpp | 51 ++++++++++++++++++++++++++++++++-------------------
 kded/device.h   |  7 ++++---
 2 files changed, 36 insertions(+), 22 deletions(-)

diff --git a/kded/device.cpp b/kded/device.cpp
index a6f0060..e9e5df8 100644
--- a/kded/device.cpp
+++ b/kded/device.cpp
@@ -125,11 +125,11 @@ void Device::reloadPlugins()
 
 void Device::requestPair()
 {
-    if (m_pairStatus == Paired) {
+    if (m_pairStatus == Device::Paired) {
         Q_EMIT pairingFailed(i18n("Already paired"));
         return;
     }
-    if (m_pairStatus == Device::PairRequested) {
+    if (m_pairStatus == Device::Requested) {
         Q_EMIT pairingFailed(i18n("Pairing already requested for this device"));
         return;
     }
@@ -138,21 +138,24 @@ void Device::requestPair()
         return;
     }
 
+    m_pairStatus = Device::Requested;
+
     //Send our own public key
     NetworkPackage np(PACKAGE_TYPE_PAIR);
     np.set("pair", true);
     KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
     const QString& key = config->group("myself").readEntry<QString>("publicKey",QString());
     np.set("publicKey",key);
-    qDebug() << "BYTES" << QByteArray::fromBase64(key.toAscii());
     bool success = sendPackage(np);
 
     if (!success) {
+        m_pairStatus = Device::NotPaired;
         Q_EMIT pairingFailed(i18n("Error contacting device"));
         return;
     }
 
-    m_pairStatus = PairRequested;
+    if (m_pairStatus == Device::Paired) return;
+    pairingTimer.setSingleShot(true);
     pairingTimer.start(20 * 1000);
     connect(&pairingTimer, SIGNAL(timeout()),
             this, SLOT(pairingTimeout()));
@@ -163,7 +166,7 @@ void Device::unpair()
 {
     if (!isPaired()) return;
 
-    m_pairStatus = NotPaired;
+    m_pairStatus = Device::NotPaired;
 
     KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
     config->group("trusted_devices").deleteGroup(id());
@@ -178,8 +181,11 @@ void Device::unpair()
 
 void Device::pairingTimeout()
 {
-    m_pairStatus = NotPaired;
-    Q_EMIT Q_EMIT pairingFailed("Timed out");
+    NetworkPackage np(PACKAGE_TYPE_PAIR);
+    np.set("pair", false);
+    sendPackage(np);
+    m_pairStatus = Device::NotPaired;
+    Q_EMIT pairingFailed("Timed out");
 }
 
 static bool lessThan(DeviceLink* p1, DeviceLink* p2)
@@ -259,7 +265,7 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
 
         if (wantsPair == isPaired()) {
             qDebug() << "Already" << (wantsPair? "paired":"unpaired");
-            if (m_pairStatus == Device::PairRequested) {
+            if (m_pairStatus == Device::Requested) {
                 m_pairStatus = Device::NotPaired;
                 pairingTimer.stop();
                 Q_EMIT pairingFailed(i18n("Canceled by other peer"));
@@ -274,19 +280,19 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
             m_publicKey = QCA::RSAPublicKey::fromPEM(key);
             if (m_publicKey.isNull()) {
                 qDebug() << "ERROR decoding key";
-                if (m_pairStatus == PairRequested) {
-                    m_pairStatus = NotPaired;
+                if (m_pairStatus == Device::Requested) {
+                    m_pairStatus = Device::NotPaired;
                     pairingTimer.stop();
                 }
                 Q_EMIT pairingFailed(i18n("Received incorrect key"));
                 return;
             }
 
-            if (m_pairStatus == Device::PairRequested)  { //We started pairing
+            if (m_pairStatus == Device::Requested)  { //We started pairing
 
                 qDebug() << "Pair answer";
 
-                m_pairStatus = Paired;
+                m_pairStatus = Device::Paired;
                 pairingTimer.stop();
 
                 //Store as trusted device
@@ -294,6 +300,8 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
                 config->group("trusted_devices").group(id()).writeEntry("publicKey",key);
                 config->group("trusted_devices").group(id()).writeEntry("deviceName",name());
 
+                reloadPlugins();
+
                 Q_EMIT pairingSuccesful();
 
             } else {
@@ -310,16 +318,18 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
                 connect(notification, SIGNAL(action2Activated()), this, SLOT(rejectPairing()));
                 notification->sendEvent();
 
+                m_pairStatus = Device::RequestedByPeer;
+
             }
 
         } else {
 
             qDebug() << "Unpair request";
 
-            if (m_pairStatus == PairRequested) {
+            if (m_pairStatus == Device::Requested) {
                 pairingTimer.stop();
                 Q_EMIT pairingFailed(i18n("Canceled by other peer"));
-            } else if (m_pairStatus == Paired) {
+            } else if (m_pairStatus == Device::Paired) {
                 KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
                 config->group("trusted_devices").deleteGroup(id());
                 reloadPlugins();
@@ -369,6 +379,8 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
 
 void Device::acceptPairing()
 {
+    if (m_pairStatus != Device::RequestedByPeer) return;
+
     qDebug() << "Accepted pairing";
 
     KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
@@ -388,23 +400,24 @@ void Device::acceptPairing()
     config->group("trusted_devices").group(id()).writeEntry("publicKey", m_publicKey.toPEM());
     config->group("trusted_devices").group(id()).writeEntry("deviceName", name());
 
-    m_pairStatus = Paired;
+    m_pairStatus = Device::Paired;
 
     reloadPlugins(); //This will load plugins
+
+    Q_EMIT pairingSuccesful();
 }
 
 void Device::rejectPairing()
 {
     qDebug() << "Rejected pairing";
 
+    m_pairStatus = Device::NotPaired;
+
     NetworkPackage np(PACKAGE_TYPE_PAIR);
     np.set("pair", false);
     sendPackage(np);
 
-    KNotification* notification = (KNotification*)sender();
-    notification->setActions(QStringList());
-    notification->setText(i18n("Pairing rejected"));
-    notification->update();
+    Q_EMIT pairingFailed(i18n("Canceled by the user"));
 
 }
 
diff --git a/kded/device.h b/kded/device.h
index e2cfc5d..a017db1 100644
--- a/kded/device.h
+++ b/kded/device.h
@@ -44,7 +44,8 @@ class Device
 
     enum PairStatus {
         NotPaired,
-        PairRequested,
+        Requested,
+        RequestedByPeer,
         Paired,
     };
 
@@ -66,7 +67,7 @@ public:
     void removeLink(DeviceLink*);
 
     Q_SCRIPTABLE bool isPaired() const { return m_pairStatus==Device::Paired; }
-    Q_SCRIPTABLE bool pairRequested() const { return m_pairStatus==Device::PairRequested; }
+    Q_SCRIPTABLE bool pairRequested() const { return m_pairStatus==Device::Requested; }
 
     Q_SCRIPTABLE QStringList availableLinks() const;
     Q_SCRIPTABLE bool isReachable() const { return !m_deviceLinks.empty(); }
@@ -91,7 +92,7 @@ public Q_SLOTS:
 
 private Q_SLOTS:
     void privateReceivedPackage(const NetworkPackage& np);
-    void linkDestroyed(QObject* o = 0);
+    void linkDestroyed(QObject* o);
     void pairingTimeout();
 
 Q_SIGNALS:

-- 
kdeconnect packaging



More information about the pkg-kde-commits mailing list