Sharing: Switch from QtJson to Qt5's QJson #5710
authorChristian Kamm <mail@ckamm.de>
Wed, 26 Apr 2017 09:38:10 +0000 (11:38 +0200)
committerMarkus Goetz <markus@woboq.com>
Mon, 8 May 2017 09:50:33 +0000 (11:50 +0200)
13 files changed:
src/gui/ocsjob.cpp
src/gui/ocsjob.h
src/gui/ocsshareejob.cpp
src/gui/ocsshareejob.h
src/gui/ocssharejob.cpp
src/gui/ocssharejob.h
src/gui/sharee.cpp
src/gui/sharee.h
src/gui/sharelinkwidget.h
src/gui/sharemanager.cpp
src/gui/sharemanager.h
src/gui/shareusergroupwidget.cpp
src/gui/shareusergroupwidget.h

index b6f9f4ece04f7d315415f1c89a211f4e382dcf5c..bdd312d908edeaeab48660738ea64ea14712270d 100644 (file)
 #include "ocsjob.h"
 #include "networkjobs.h"
 #include "account.h"
-#include "json.h"
 
 #include <QBuffer>
+#include <QJsonDocument>
+#include <QJsonObject>
 
 namespace OCC {
 
@@ -101,13 +102,14 @@ bool OcsJob::finished()
 {
     const QString replyData = reply()->readAll();
 
-    bool success;
-    QVariantMap json = QtJson::parse(replyData, success).toMap();
-    if (!success) {
+    QJsonParseError error;
+    auto json = QJsonDocument::fromJson(replyData.toUtf8(), &error);
+    if (error.error != QJsonParseError::NoError) {
         qDebug() << "Could not parse reply to" 
                  << _verb 
                  << Utility::concatUrlPath(account()->url(), path())
                  << _params
+                 << error.errorString()
                  << ":" << replyData;
     }
 
@@ -126,11 +128,12 @@ bool OcsJob::finished()
     return true;
 }
 
-int OcsJob::getJsonReturnCode(const QVariantMap &json, QString &message)
+int OcsJob::getJsonReturnCode(const QJsonDocument &json, QString &message)
 {
     //TODO proper checking
-    int code = json.value("ocs").toMap().value("meta").toMap().value("statuscode").toInt();
-    message = json.value("ocs").toMap().value("meta").toMap().value("message").toString();
+    auto meta = json.object().value("ocs").toObject().value("meta").toObject();
+    int code = meta.value("statuscode").toInt();
+    message = meta.value("message").toString();
 
     return code;
 }
index 602b305509efc2c03edb88401194cde3f46e3af4..9a02201e540fd71126ed6dd75957c3f28a01ff05 100644 (file)
@@ -25,6 +25,8 @@
 
 #define OCS_SUCCESS_STATUS_CODE 100
 
+class QJsonDocument;
+
 namespace OCC {
 
 /**
@@ -93,7 +95,7 @@ public:
      * @param message The message that is set in the metadata
      * @return The statuscode of the OCS response
      */
-    static int getJsonReturnCode(const QVariantMap &json, QString &message);
+    static int getJsonReturnCode(const QJsonDocument &json, QString &message);
 
 protected slots:
 
@@ -109,7 +111,7 @@ signals:
      *
      * @param reply the reply
      */
-    void jobFinished(QVariantMap reply);
+    void jobFinished(QJsonDocument reply);
 
     /**
      * The status code was not one of the expected (passing)
index 17034d6097bf2ab1649e78e56537c00c42b31b3c..652859dd9d06cbc71dd4fd7b7d1742d025dfb128 100644 (file)
@@ -20,7 +20,7 @@ OcsShareeJob::OcsShareeJob(AccountPtr account)
 : OcsJob(account)
 {
     setPath("ocs/v1.php/apps/files_sharing/api/v1/sharees");
-    connect(this, SIGNAL(jobFinished(QVariantMap)), SLOT(jobDone(QVariantMap)));
+    connect(this, SIGNAL(jobFinished(QJsonDocument)), SLOT(jobDone(QJsonDocument)));
 
 }
 
@@ -39,7 +39,7 @@ void OcsShareeJob::getSharees(const QString &search,
     start();
 }
 
-void OcsShareeJob::jobDone(const QVariantMap &reply)
+void OcsShareeJob::jobDone(const QJsonDocument &reply)
 {
     emit shareeJobFinished(reply);
 }
index 1b33b0d9986de7e2edfac92e118a85f2fa182eba..c38016768925455b049a86344275f739ee36e6f1 100644 (file)
@@ -16,7 +16,8 @@
 #define OCSSHAREEJOB_H
 
 #include "ocsjob.h"
-#include <QVariantMap>
+
+class QJsonDocument;
 
 namespace OCC {
 
@@ -44,10 +45,10 @@ signals:
      *
      * @param reply The reply
      */
-    void shareeJobFinished(const QVariantMap &reply);
+    void shareeJobFinished(const QJsonDocument &reply);
 
 private slots:
-    void jobDone(const QVariantMap &reply);
+    void jobDone(const QJsonDocument &reply);
 
 };
 
index 5fcba7d8ca37c5b611226d04923fa62dbfd7b726..b73cc72a14395153efd2428c17513dc08491db56 100644 (file)
@@ -15,9 +15,9 @@
 #include "ocssharejob.h"
 #include "networkjobs.h"
 #include "account.h"
-#include "json.h"
 
 #include <QBuffer>
+#include <QJsonDocument>
 
 namespace OCC {
 
@@ -25,7 +25,7 @@ OcsShareJob::OcsShareJob(AccountPtr account)
 : OcsJob(account)
 {
     setPath("ocs/v1.php/apps/files_sharing/api/v1/shares");
-    connect(this, SIGNAL(jobFinished(QVariantMap)), this, SLOT(jobDone(QVariantMap)));
+    connect(this, SIGNAL(jobFinished(QJsonDocument)), this, SLOT(jobDone(QJsonDocument)));
 }
 
 void OcsShareJob::getShares(const QString &path)
@@ -151,7 +151,7 @@ void OcsShareJob::getSharedWithMe()
     start();
 }
 
-void OcsShareJob::jobDone(QVariantMap reply)
+void OcsShareJob::jobDone(QJsonDocument reply)
 {
     emit shareJobFinished(reply, _value);
 }
index 1066becc72e4b0cb2e0be9538faf0c41690ef8ce..6e2d834071ac4299117a80d5919042decfd74309 100644 (file)
@@ -126,10 +126,10 @@ signals:
      * @param reply The reply
      * @param value To what did we set a variable (if we set any).
      */
-    void shareJobFinished(QVariantMap reply, QVariant value);
+    void shareJobFinished(QJsonDocument reply, QVariant value);
 
 private slots:
-    void jobDone(QVariantMap reply);
+    void jobDone(QJsonDocument reply);
 
 private:
     QVariant _value;
index b2458edf251c646397c40f6860a2245da4229f6c..d7f79547d545f0517a739447da8062c76f1788d9 100644 (file)
 #include "sharee.h"
 #include "ocsshareejob.h"
 
+#include <QJsonObject>
+#include <QJsonDocument>
+#include <QJsonArray>
+
 namespace OCC {
 
 Sharee::Sharee(const QString shareWith,
@@ -63,52 +67,52 @@ void ShareeModel::fetch(const QString &search, const ShareeSet &blacklist)
     _search = search;
     _shareeBlacklist = blacklist;
     OcsShareeJob *job = new OcsShareeJob(_account);
-    connect(job, SIGNAL(shareeJobFinished(QVariantMap)), SLOT(shareesFetched(QVariantMap)));
+    connect(job, SIGNAL(shareeJobFinished(QJsonDocument)), SLOT(shareesFetched(QJsonDocument)));
     connect(job, SIGNAL(ocsError(int,QString)), SIGNAL(displayErrorMessage(int,QString)));
     job->getSharees(_search, _type, 1, 50);
 }
 
-void ShareeModel::shareesFetched(const QVariantMap &reply)
+void ShareeModel::shareesFetched(const QJsonDocument &reply)
 {
-    auto data = reply.value("ocs").toMap().value("data").toMap();
+    auto data = reply.object().value("ocs").toObject().value("data").toObject();
 
     QVector<QSharedPointer<Sharee>> newSharees;
 
     /*
      * Todo properly loop all of this
      */
-    auto exact = data.value("exact").toMap();
+    auto exact = data.value("exact").toObject();
     {
-        auto users = exact.value("users").toList();
+        auto users = exact.value("users").toArray();
         foreach(auto user, users) {
-            newSharees.append(parseSharee(user.toMap()));
+            newSharees.append(parseSharee(user.toObject()));
         }
-        auto groups = exact.value("groups").toList();
+        auto groups = exact.value("groups").toArray();
         foreach(auto group, groups) {
-            newSharees.append(parseSharee(group.toMap()));
+            newSharees.append(parseSharee(group.toObject()));
         }
-        auto remotes = exact.value("remotes").toList();
+        auto remotes = exact.value("remotes").toArray();
         foreach(auto remote, remotes) {
-            newSharees.append(parseSharee(remote.toMap()));
+            newSharees.append(parseSharee(remote.toObject()));
         }
     }
 
     {
-        auto users = data.value("users").toList();
+        auto users = data.value("users").toArray();
         foreach(auto user, users) {
-            newSharees.append(parseSharee(user.toMap()));
+            newSharees.append(parseSharee(user.toObject()));
         }
     }
     {
-        auto groups = data.value("groups").toList();
+        auto groups = data.value("groups").toArray();
         foreach(auto group, groups) {
-            newSharees.append(parseSharee(group.toMap()));
+            newSharees.append(parseSharee(group.toObject()));
         }
     }
     {
-        auto remotes = data.value("remotes").toList();
+        auto remotes = data.value("remotes").toArray();
         foreach(auto remote, remotes) {
-            newSharees.append(parseSharee(remote.toMap()));
+            newSharees.append(parseSharee(remote.toObject()));
         }
     }
 
@@ -133,11 +137,11 @@ void ShareeModel::shareesFetched(const QVariantMap &reply)
     shareesReady();
 }
 
-QSharedPointer<Sharee> ShareeModel::parseSharee(const QVariantMap &data)
+QSharedPointer<Sharee> ShareeModel::parseSharee(const QJsonObject &data)
 {
     const QString displayName = data.value("label").toString();
-    const QString shareWith = data.value("value").toMap().value("shareWith").toString();
-    Sharee::Type type = (Sharee::Type)data.value("value").toMap().value("shareType").toInt();
+    const QString shareWith = data.value("value").toObject().value("shareWith").toString();
+    Sharee::Type type = (Sharee::Type)data.value("value").toObject().value("shareType").toInt();
 
     return QSharedPointer<Sharee>(new Sharee(shareWith, displayName, type));
 }
index f146c74054c70e386aa9f85fec1acf3610c42307..150126970a35928185b5f2954c32aefbb539702f 100644 (file)
@@ -25,6 +25,9 @@
 
 #include "accountfwd.h"
 
+class QJsonDocument;
+class QJsonObject;
+
 namespace OCC {
 
 class Sharee {
@@ -72,10 +75,10 @@ signals:
     void displayErrorMessage(int code, const QString &);
 
 private slots:
-    void shareesFetched(const QVariantMap &reply);
+    void shareesFetched(const QJsonDocument &reply);
 
 private:
-    QSharedPointer<Sharee> parseSharee(const QVariantMap &data);
+    QSharedPointer<Sharee> parseSharee(const QJsonObject &data);
     void setNewSharees(const QVector<QSharedPointer<Sharee>> &newSharees);
 
     AccountPtr _account;
index 7426f2219e9428dfd8abd66950775a8b55e549d8..c919b86d51eef3291112505f81a822b338dc9507 100644 (file)
@@ -20,7 +20,6 @@
 #include "sharepermissions.h"
 #include "QProgressIndicator.h"
 #include <QDialog>
-#include <QVariantMap>
 #include <QSharedPointer>
 #include <QList>
 
index f4ee87cc2fde9419b05a4aa5e73c72a016e35fed..3c532134ddadc198f17d4bf093c6c6cea5f484f6 100644 (file)
@@ -17,6 +17,9 @@
 #include "account.h"
 
 #include <QUrl>
+#include <QJsonDocument>
+#include <QJsonObject>
+#include <QJsonArray>
 
 namespace {
 struct CreateShare
@@ -70,12 +73,12 @@ QSharedPointer<Sharee> Share::getShareWith() const
 void Share::setPermissions(Permissions permissions)
 {
     OcsShareJob *job = new OcsShareJob(_account);
-    connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotPermissionsSet(QVariantMap, QVariant)));
+    connect(job, SIGNAL(shareJobFinished(QJsonDocument, QVariant)), SLOT(slotPermissionsSet(QJsonDocument, QVariant)));
     connect(job, SIGNAL(ocsError(int, QString)), SLOT(slotOcsError(int, QString)));
     job->setPermissions(getId(), permissions);
 }
 
-void Share::slotPermissionsSet(const QVariantMap &, const QVariant &value)
+void Share::slotPermissionsSet(const QJsonDocument &, const QVariant &value)
 {
     _permissions = (Permissions)value.toInt();
     emit permissionsSet();
@@ -89,7 +92,7 @@ Share::Permissions Share::getPermissions() const
 void Share::deleteShare()
 {
     OcsShareJob *job = new OcsShareJob(_account);
-    connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotDeleted()));
+    connect(job, SIGNAL(shareJobFinished(QJsonDocument, QVariant)), SLOT(slotDeleted()));
     connect(job, SIGNAL(ocsError(int, const QString &)), SLOT(slotOcsError(int, const QString &)));
     job->deleteShare(getId());
 }
@@ -154,7 +157,7 @@ bool LinkShare::getPublicUpload()
 void LinkShare::setPublicUpload(bool publicUpload)
 {
     OcsShareJob *job = new OcsShareJob(_account);
-    connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotPublicUploadSet(QVariantMap, QVariant)));
+    connect(job, SIGNAL(shareJobFinished(QJsonDocument, QVariant)), SLOT(slotPublicUploadSet(QJsonDocument, QVariant)));
     connect(job, SIGNAL(ocsError(int, QString)), SLOT(slotOcsError(int, QString)));
     job->setPublicUpload(getId(), publicUpload);
 }
@@ -167,7 +170,7 @@ QString LinkShare::getName() const
 void LinkShare::setName(const QString& name)
 {
     OcsShareJob *job = new OcsShareJob(_account);
-    connect(job, SIGNAL(shareJobFinished(QVariantMap,QVariant)), SLOT(slotNameSet(QVariantMap,QVariant)));
+    connect(job, SIGNAL(shareJobFinished(QJsonDocument,QVariant)), SLOT(slotNameSet(QJsonDocument,QVariant)));
     connect(job, SIGNAL(ocsError(int,QString)), SLOT(slotOcsError(int,QString)));
     job->setName(getId(), name);
 }
@@ -177,7 +180,7 @@ QString LinkShare::getToken() const
     return _token;
 }
 
-void LinkShare::slotPublicUploadSet(const QVariantMap&, const QVariant &value)
+void LinkShare::slotPublicUploadSet(const QJsonDocument&, const QVariant &value)
 {
     if (value.toBool()) {
         _permissions = SharePermissionRead | SharePermissionUpdate | SharePermissionCreate;
@@ -191,12 +194,12 @@ void LinkShare::slotPublicUploadSet(const QVariantMap&, const QVariant &value)
 void LinkShare::setPassword(const QString &password)
 {
     OcsShareJob *job = new OcsShareJob(_account);
-    connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotPasswordSet(QVariantMap, QVariant)));
+    connect(job, SIGNAL(shareJobFinished(QJsonDocument, QVariant)), SLOT(slotPasswordSet(QJsonDocument, QVariant)));
     connect(job, SIGNAL(ocsError(int, QString)), SLOT(slotSetPasswordError(int,QString)));
     job->setPassword(getId(), password);
 }
 
-void LinkShare::slotPasswordSet(const QVariantMap&, const QVariant &value)
+void LinkShare::slotPasswordSet(const QJsonDocument&, const QVariant &value)
 {
     _passwordSet = value.toString() == "";
     emit passwordSet();
@@ -205,20 +208,20 @@ void LinkShare::slotPasswordSet(const QVariantMap&, const QVariant &value)
 void LinkShare::setExpireDate(const QDate &date)
 {
     OcsShareJob *job = new OcsShareJob(_account);
-    connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotExpireDateSet(QVariantMap, QVariant)));
+    connect(job, SIGNAL(shareJobFinished(QJsonDocument, QVariant)), SLOT(slotExpireDateSet(QJsonDocument, QVariant)));
     connect(job, SIGNAL(ocsError(int, QString)), SLOT(slotOcsError(int, QString)));
     job->setExpireDate(getId(), date);
 }
 
-void LinkShare::slotExpireDateSet(const QVariantMap& reply, const QVariant &value)
+void LinkShare::slotExpireDateSet(const QJsonDocument& reply, const QVariant &value)
 {
-    auto data = reply.value("ocs").toMap().value("data").toMap();
+    auto data = reply.object().value("ocs").toObject().value("data").toObject();
 
     /*
      * If the reply provides a data back (more REST style)
      * they use this date.
      */
-    if (data.value("expiration").isValid()) {
+    if (data.value("expiration").isString()) {
        _expireDate = QDate::fromString(data.value("expiration").toString(), "yyyy-MM-dd 00:00:00");
     } else {
         _expireDate = value.toDate();
@@ -231,7 +234,7 @@ void LinkShare::slotSetPasswordError(int statusCode, const QString &message)
     emit passwordSetError(statusCode, message);
 }
 
-void LinkShare::slotNameSet(const QVariantMap &, const QVariant &value)
+void LinkShare::slotNameSet(const QJsonDocument &, const QVariant &value)
 {
     _name = value.toString();
     emit nameSet();
@@ -249,12 +252,12 @@ void ShareManager::createLinkShare(const QString &path,
                                    const QString &password)
 {
     OcsShareJob *job = new OcsShareJob(_account);
-    connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotLinkShareCreated(QVariantMap)));
+    connect(job, SIGNAL(shareJobFinished(QJsonDocument, QVariant)), SLOT(slotLinkShareCreated(QJsonDocument)));
     connect(job, SIGNAL(ocsError(int, QString)), SLOT(slotOcsError(int, QString)));
     job->createLinkShare(path, name, password);
 }
 
-void ShareManager::slotLinkShareCreated(const QVariantMap &reply)
+void ShareManager::slotLinkShareCreated(const QJsonDocument &reply)
 {
     QString message;
     int code = OcsShareJob::getJsonReturnCode(reply, message);
@@ -269,7 +272,7 @@ void ShareManager::slotLinkShareCreated(const QVariantMap &reply)
     }
 
     //Parse share
-    auto data = reply.value("ocs").toMap().value("data").toMap();
+    auto data = reply.object().value("ocs").toObject().value("data").toObject();
     QSharedPointer<LinkShare> share(parseLinkShare(data));
 
     emit linkShareCreated(share);
@@ -291,12 +294,12 @@ void ShareManager::createShare(const QString& path,
     continuation.permissions = permissions;
     _jobContinuation[job] = QVariant::fromValue(continuation);
 
-    connect(job, SIGNAL(shareJobFinished(QVariantMap,QVariant)), SLOT(slotCreateShare(QVariantMap)));
+    connect(job, SIGNAL(shareJobFinished(QJsonDocument,QVariant)), SLOT(slotCreateShare(QJsonDocument)));
     connect(job, SIGNAL(ocsError(int,QString)), SLOT(slotOcsError(int,QString)));
     job->getSharedWithMe();
 }
 
-void ShareManager::slotCreateShare(const QVariantMap &reply)
+void ShareManager::slotCreateShare(const QJsonDocument &reply)
 {
     if (!_jobContinuation.contains(sender()))
         return;
@@ -308,8 +311,8 @@ void ShareManager::slotCreateShare(const QVariantMap &reply)
 
     // Find existing share permissions (if this was shared with us)
     Share::Permissions existingPermissions = SharePermissionDefault;
-    foreach (const QVariant & element, reply["ocs"].toMap()["data"].toList()) {
-        QVariantMap map = element.toMap();
+    foreach (const QJsonValue & element, reply.object()["ocs"].toObject()["data"].toArray()) {
+        auto map = element.toObject();
         if (map["file_target"] == cont.path)
             existingPermissions = Share::Permissions(map["permissions"].toInt());
     }
@@ -323,15 +326,15 @@ void ShareManager::slotCreateShare(const QVariantMap &reply)
     }
 
     OcsShareJob *job = new OcsShareJob(_account);
-    connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotShareCreated(QVariantMap)));
+    connect(job, SIGNAL(shareJobFinished(QJsonDocument, QVariant)), SLOT(slotShareCreated(QJsonDocument)));
     connect(job, SIGNAL(ocsError(int, QString)), SLOT(slotOcsError(int, QString)));
     job->createShare(cont.path, cont.shareType, cont.shareWith, cont.permissions);
 }
 
-void ShareManager::slotShareCreated(const QVariantMap &reply)
+void ShareManager::slotShareCreated(const QJsonDocument &reply)
 {
     //Parse share
-    auto data = reply.value("ocs").toMap().value("data").toMap();
+    auto data = reply.object().value("ocs").toObject().value("data").toObject();
     QSharedPointer<Share> share(parseShare(data));
 
     emit shareCreated(share);
@@ -340,21 +343,21 @@ void ShareManager::slotShareCreated(const QVariantMap &reply)
 void ShareManager::fetchShares(const QString &path)
 {
     OcsShareJob *job = new OcsShareJob(_account);
-    connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotSharesFetched(QVariantMap)));
+    connect(job, SIGNAL(shareJobFinished(QJsonDocument, QVariant)), SLOT(slotSharesFetched(QJsonDocument)));
     connect(job, SIGNAL(ocsError(int, QString)), SLOT(slotOcsError(int, QString)));
     job->getShares(path);
 }
 
-void ShareManager::slotSharesFetched(const QVariantMap &reply)
+void ShareManager::slotSharesFetched(const QJsonDocument &reply)
 {
-    auto tmpShares = reply.value("ocs").toMap().value("data").toList();
+    auto tmpShares = reply.object().value("ocs").toObject().value("data").toArray();
     const QString versionString = _account->serverVersion();
     qDebug() << Q_FUNC_INFO << versionString << "Fetched" << tmpShares.count() << "shares";
 
     QList<QSharedPointer<Share>> shares;
 
     foreach(const auto &share, tmpShares) {
-        auto data = share.toMap();
+        auto data = share.toObject();
 
         auto shareType = data.value("share_type").toInt();
 
@@ -373,7 +376,7 @@ void ShareManager::slotSharesFetched(const QVariantMap &reply)
     emit sharesFetched(shares);
 }
 
-QSharedPointer<LinkShare> ShareManager::parseLinkShare(const QVariantMap &data)
+QSharedPointer<LinkShare> ShareManager::parseLinkShare(const QJsonObject &data)
 {
     QUrl url;
 
@@ -391,7 +394,7 @@ QSharedPointer<LinkShare> ShareManager::parseLinkShare(const QVariantMap &data)
     }
 
     QDate expireDate;
-    if (data.value("expiration").isValid()) {
+    if (data.value("expiration").isString()) {
        expireDate = QDate::fromString(data.value("expiration").toString(), "yyyy-MM-dd 00:00:00");
     }
 
@@ -401,12 +404,12 @@ QSharedPointer<LinkShare> ShareManager::parseLinkShare(const QVariantMap &data)
                                                    data.value("name").toString(),
                                                    data.value("token").toString(),
                                                    (Share::Permissions)data.value("permissions").toInt(),
-                                                   data.value("share_with").isValid(),
+                                                   data.value("share_with").isString(), // has password?
                                                    url,
                                                    expireDate));
 }
 
-QSharedPointer<Share> ShareManager::parseShare(const QVariantMap &data)
+QSharedPointer<Share> ShareManager::parseShare(const QJsonObject &data)
 {
     QSharedPointer<Sharee> sharee(new Sharee(data.value("share_with").toString(),
                                              data.value("share_with_displayname").toString(),
index 3331b53c64f0dd3647979a935d19c74053af11f1..72e3d73de260354a37971aea916d8cc7b2fa3376 100644 (file)
@@ -25,7 +25,9 @@
 #include <QList>
 #include <QSharedPointer>
 #include <QUrl>
-#include <QVariantMap>
+
+class QJsonDocument;
+class QJsonObject;
 
 namespace OCC {
 
@@ -116,7 +118,7 @@ protected slots:
 
 private slots:
     void slotDeleted();
-    void slotPermissionsSet(const QVariantMap &, const QVariant &value);
+    void slotPermissionsSet(const QJsonDocument &, const QVariant &value);
 
 };
 
@@ -214,11 +216,11 @@ signals:
     void nameSet();
 
 private slots:
-    void slotPasswordSet(const QVariantMap&, const QVariant &value);
-    void slotPublicUploadSet(const QVariantMap&, const QVariant &value);
-    void slotExpireDateSet(const QVariantMap& reply, const QVariant &value);
+    void slotPasswordSet(const QJsonDocument&, const QVariant &value);
+    void slotPublicUploadSet(const QJsonDocument&, const QVariant &value);
+    void slotExpireDateSet(const QJsonDocument& reply, const QVariant &value);
     void slotSetPasswordError(int statusCode, const QString &message);
-    void slotNameSet(const QVariantMap&, const QVariant &value);
+    void slotNameSet(const QJsonDocument&, const QVariant &value);
 
 private:
     QString _name;
@@ -293,15 +295,15 @@ signals:
     void linkShareRequiresPassword(const QString &message);
 
 private slots:
-    void slotSharesFetched(const QVariantMap &reply);
-    void slotLinkShareCreated(const QVariantMap &reply);
-    void slotShareCreated(const QVariantMap &reply);
+    void slotSharesFetched(const QJsonDocument &reply);
+    void slotLinkShareCreated(const QJsonDocument &reply);
+    void slotShareCreated(const QJsonDocument &reply);
     void slotOcsError(int statusCode, const QString &message);
-    void slotCreateShare(const QVariantMap &reply);
+    void slotCreateShare(const QJsonDocument &reply);
 
 private:
-    QSharedPointer<LinkShare> parseLinkShare(const QVariantMap &data);
-    QSharedPointer<Share> parseShare(const QVariantMap &data);
+    QSharedPointer<LinkShare> parseLinkShare(const QJsonObject &data);
+    QSharedPointer<Share> parseShare(const QJsonObject &data);
 
     QMap<QObject*, QVariant> _jobContinuation;
     AccountPtr _account;
index 07041805fc06be0103fd5ae77e80532d9b0042b2..aef9f890df2b24bce62f7a8d60224aba39f75974 100644 (file)
@@ -16,7 +16,6 @@
 #include "ui_shareusergroupwidget.h"
 #include "ui_shareuserline.h"
 #include "account.h"
-#include "json.h"
 #include "folderman.h"
 #include "folder.h"
 #include "accountmanager.h"
index 501c37db58779fd5a0fe19b87960d442d587c175..6da721435c2a446087c06af54ef8dee81ac75521 100644 (file)
@@ -20,7 +20,6 @@
 #include "QProgressIndicator.h"
 #include <QDialog>
 #include <QWidget>
-#include <QVariantMap>
 #include <QSharedPointer>
 #include <QList>
 #include <QVector>