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

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


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

The following commit has been merged in the master branch:
commit e1c749e33d22066ac847a18a0f7a2d6b819ba196
Author: Albert Vaca <albertvaka at gmail.com>
Date:   Mon Sep 9 18:30:44 2013 +0200

    Added a payload field to networkpackage, protocol version increased to 4
    
    It will be used to attach files to packages when devicelinks support it
---
 kded/networkpackage.cpp | 43 ++++++++++++++++++++++++++-----------------
 kded/networkpackage.h   | 17 ++++++++++++++---
 2 files changed, 40 insertions(+), 20 deletions(-)

diff --git a/kded/networkpackage.cpp b/kded/networkpackage.cpp
index 9443c73..a485b85 100644
--- a/kded/networkpackage.cpp
+++ b/kded/networkpackage.cpp
@@ -22,6 +22,7 @@
 
 #include <KSharedConfig>
 #include <KConfigGroup>
+
 #include <QByteArray>
 #include <QDataStream>
 #include <QHostInfo>
@@ -33,13 +34,29 @@
 #include <qjson/qobjecthelper.h>
 
 const QCA::EncryptionAlgorithm NetworkPackage::EncryptionAlgorithm = QCA::EME_PKCS1v15;
-const int NetworkPackage::ProtocolVersion = 3;
+const int NetworkPackage::ProtocolVersion = 4;
 
 NetworkPackage::NetworkPackage(const QString& type)
 {
     mId = QString::number(QDateTime::currentMSecsSinceEpoch());
     mType = type;
     mBody = QVariantMap();
+    mPayload = 0;
+}
+
+
+void NetworkPackage::createIdentityPackage(NetworkPackage* np)
+{
+    KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
+    QString id = config->group("myself").readEntry<QString>("id","");
+    np->mId = QString::number(QDateTime::currentMSecsSinceEpoch());
+    np->mType = PACKAGE_TYPE_IDENTITY;
+    np->mPayload = 0;
+    np->set("deviceId", id);
+    np->set("deviceName", QHostInfo::localHostName());
+    np->set("protocolVersion",  NetworkPackage::ProtocolVersion);
+
+    //qDebug() << "createIdentityPackage" << np->serialize();
 }
 
 QByteArray NetworkPackage::serialize() const
@@ -51,6 +68,10 @@ QByteArray NetworkPackage::serialize() const
     //variant["body"] = mBody;
     QVariantMap variant = QJson::QObjectHelper::qobject2qvariant(this);
 
+    if (hasPayload()) {
+        variant["payloadTransferInfo"] = mPayloadTransferInfo;
+    }
+
     //QVariant -> json
     bool ok;
     QJson::Serializer serializer;
@@ -81,6 +102,10 @@ bool NetworkPackage::unserialize(const QByteArray& a, NetworkPackage* np)
     //QVariant -> Object
     QJson::QObjectHelper::qvariant2qobject(variant,np);
 
+    if (variant.contains("payloadTransferInfo")) {
+        np->mPayloadTransferInfo = variant["payloadTransferInfo"].toMap();
+    }
+
     return true;
 
 }
@@ -129,19 +154,3 @@ bool NetworkPackage::decrypt (QCA::PrivateKey& key, NetworkPackage* out) const
 
 }
 
-
-
-void NetworkPackage::createIdentityPackage(NetworkPackage* np)
-{
-    KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
-    QString id = config->group("myself").readEntry<QString>("id","");
-    np->mId = QString::number(QDateTime::currentMSecsSinceEpoch());
-    np->mType = PACKAGE_TYPE_IDENTITY;
-    np->set("deviceId", id);
-    np->set("deviceName", QHostInfo::localHostName());
-    np->set("protocolVersion",  NetworkPackage::ProtocolVersion);
-
-    //qDebug() << "createIdentityPackage" << np->serialize();
-}
-
-
diff --git a/kded/networkpackage.h b/kded/networkpackage.h
index 6cbdafa..55614a3 100644
--- a/kded/networkpackage.h
+++ b/kded/networkpackage.h
@@ -24,9 +24,11 @@
 #include "networkpackagetypes.h"
 
 #include <QObject>
+#include <QDebug>
 #include <QString>
 #include <QVariant>
 #include <QStringList>
+#include <QIODevice>
 #include <QtCrypto>
 
 #include <qjson/parser.h>
@@ -66,7 +68,16 @@ public:
     template<typename T> void set(const QString& key, const T& value) { mBody[key] = QVariant(value); }
     bool has(const QString& key) const { return mBody.contains(key); }
 
+    QIODevice* payload() const { return mPayload; }
+    void setPayload(QIODevice* device) { mPayload = device;}
+    bool hasPayload() const { return (mPayload != 0); }
+
+    //To be called by a particular DeviceLink
+    QVariantMap payloadTransferInfo() const { return mPayloadTransferInfo; }
+    void setPayloadTransferInfo(const QVariantMap& map) { mPayloadTransferInfo = map; }
+
 private:
+
     void setId(const QString& id) { mId = id; }
     void setType(const QString& t) { mType = t; }
     void setBody(const QVariantMap& b) { mBody = b; }
@@ -75,9 +86,9 @@ private:
     QString mType;
     QVariantMap mBody;
 
-};
+    QIODevice* mPayload;
+    QVariantMap mPayloadTransferInfo;
 
-//Set specialization need this awesome-to-the-max syntax:
-//template<> inline void NetworkPackage::set<QStringList>(const QString& key, const QStringList& value) { mBody[key] = QVariant(value); }
+};
 
 #endif // NETWORKPACKAGE_H

-- 
kdeconnect packaging



More information about the pkg-kde-commits mailing list