summaryrefslogtreecommitdiff
path: root/tests/auto/webchannel/tst_webchannel.h
diff options
context:
space:
mode:
authorMilian Wolff <milian.wolff@kdab.com>2016-05-25 16:42:01 +0200
committerMilian Wolff <milian.wolff@kdab.com>2016-05-25 17:06:15 +0000
commit97c876a1353f29ed0129360f013f2529bed69d98 (patch)
treeaf2671db0f408bc88a4fe950a5bbfdcf8a6e3811 /tests/auto/webchannel/tst_webchannel.h
parentcc0ed84fa6eac8119313543d2dc33658a78e50c7 (diff)
downloadqtwebchannel-97c876a1353f29ed0129360f013f2529bed69d98.tar.gz
Enable calling C++ functions taking QJson arguments via webchannel.
We used to convert the QJsonValue arguments to QVariants, which then failed to call a C++ function which expected on of the three QJson data types, i.e. QJsonValue, QJsonObject or QJsonArray. Instead, we now detect these three cases and manually convert the QJsonValue as needed. [ChangeLog] C++ functions taking arguments of type QJsonValue, QJsonArray or QJsonObject can now be called via the Qt WebChannel. Change-Id: I94e0c8937ca35e2ecd3554f7ddf2d4e5a3328570 Task-number: QTBUG-48198 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tests/auto/webchannel/tst_webchannel.h')
-rw-r--r--tests/auto/webchannel/tst_webchannel.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/auto/webchannel/tst_webchannel.h b/tests/auto/webchannel/tst_webchannel.h
index b2a1040..e551458 100644
--- a/tests/auto/webchannel/tst_webchannel.h
+++ b/tests/auto/webchannel/tst_webchannel.h
@@ -36,6 +36,7 @@
#include <QObject>
#include <QVariant>
+#include <QJsonValue>
#include <QtWebChannel/QWebChannelAbstractTransport>
@@ -229,6 +230,9 @@ public:
Q_INVOKABLE void setInt(int i);
Q_INVOKABLE void setDouble(double d);
Q_INVOKABLE void setVariant(const QVariant &v);
+ Q_INVOKABLE void setJsonValue(const QJsonValue &v);
+ Q_INVOKABLE void setJsonObject(const QJsonObject &v);
+ Q_INVOKABLE void setJsonArray(const QJsonArray &v);
private slots:
void testRegisterObjects();
@@ -252,6 +256,7 @@ private:
int m_lastInt;
double m_lastDouble;
QVariant m_lastVariant;
+ QJsonValue m_lastJsonValue;
};
QT_END_NAMESPACE