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

Maximiliano Curia maxy at moszumanska.debian.org
Fri Oct 14 14:28:56 UTC 2016


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

The following commit has been merged in the master branch:
commit 4960247fb5ffe0a034e056f57ffb77eef39cc5d2
Author: Aleix Pol <aleixpol at kde.org>
Date:   Mon Sep 7 20:03:05 2015 +0200

    Add a package type that updates the device capabilities
    
    Every time we reload the plugin list, report the plugins that we support.
    If the remote devices' capabilities change, update the plugin list.
    
    Reviewed by Albert Vaca
---
 core/device.cpp            | 13 +++++++++++++
 core/device.h              |  4 ++--
 core/networkpackagetypes.h |  1 +
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/core/device.cpp b/core/device.cpp
index fb7ee2b..dc938e9 100644
--- a/core/device.cpp
+++ b/core/device.cpp
@@ -181,6 +181,10 @@ void Device::reloadPlugins()
 
     Q_EMIT pluginsChanged();
 
+    NetworkPackage np(PACKAGE_TYPE_CAPABILITIES);
+    np.set<QStringList>("SupportedIncomingInterfaces", m_pluginsByIncomingInterface.keys());
+    np.set<QStringList>("SupportedOutgoingInterfaces", m_pluginsByOutgoingInterface.keys());
+    sendPackage(np);
 }
 
 QString Device::pluginsConfigFile() const
@@ -395,6 +399,15 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
 
         }
 
+    } else if (np.type() == PACKAGE_TYPE_CAPABILITIES) {
+        QSet<QString> newIncomingCapabilities = np.get<QStringList>("SupportedIncomingInterfaces", QStringList()).toSet();
+        QSet<QString> newOutgoingCapabilities = np.get<QStringList>("SupportedOutgoingInterfaces", QStringList()).toSet();
+
+        if (newOutgoingCapabilities != m_outgoingCapabilities || newIncomingCapabilities != m_incomingCapabilities) {
+            m_incomingCapabilities = newIncomingCapabilities;
+            m_outgoingCapabilities = newOutgoingCapabilities;
+            reloadPlugins();
+        }
     } else if (isPaired()) {
         QList<KdeConnectPlugin*> plugins = m_pluginsByIncomingInterface.values(np.type());
         foreach(KdeConnectPlugin* plugin, plugins) {
diff --git a/core/device.h b/core/device.h
index 2b22988..2e1d48b 100644
--- a/core/device.h
+++ b/core/device.h
@@ -154,8 +154,8 @@ private: //Fields (TODO: dPointer!)
     QMultiMap<QString, KdeConnectPlugin*> m_pluginsByOutgoingInterface;
 
     QTimer m_pairingTimeut;
-    const QSet<QString> m_incomingCapabilities;
-    const QSet<QString> m_outgoingCapabilities;
+    QSet<QString> m_incomingCapabilities;
+    QSet<QString> m_outgoingCapabilities;
     QStringList m_missingPlugins;
 };
 
diff --git a/core/networkpackagetypes.h b/core/networkpackagetypes.h
index 6aa24a2..19d4dec 100644
--- a/core/networkpackagetypes.h
+++ b/core/networkpackagetypes.h
@@ -23,6 +23,7 @@
 
 #define PACKAGE_TYPE_IDENTITY QLatin1String("kdeconnect.identity")
 #define PACKAGE_TYPE_PAIR QLatin1String("kdeconnect.pair")
+#define PACKAGE_TYPE_CAPABILITIES QLatin1String("kdeconnect.capabilities")
 #define PACKAGE_TYPE_ENCRYPTED QLatin1String("kdeconnect.encrypted")
 
 #endif // NETWORKPACKAGETYPES_H

-- 
kdeconnect packaging



More information about the pkg-kde-commits mailing list