1/****************************************************************************
2**
3** Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com>
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the QtWebChannel module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:GPL-EXCEPT$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU
19** General Public License version 3 as published by the Free Software
20** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
21** included in the packaging of this file. Please review the following
22** information to ensure the GNU General Public License requirements will
23** be met: https://www.gnu.org/licenses/gpl-3.0.html.
24**
25** $QT_END_LICENSE$
26**
27****************************************************************************/
28
29#include "testtransport.h"
30
31#include <QDebug>
32#include <QJsonDocument>
33#include <QJsonObject>
34
35QT_BEGIN_NAMESPACE
36
37TestTransport::TestTransport(QObject *parent)
38: QWebChannelAbstractTransport(parent)
39{
40
41}
42
43void TestTransport::sendMessage(const QJsonObject &message)
44{
45 emit sendMessageRequested(message);
46}
47
48void TestTransport::receiveMessage(const QString &message)
49{
50 QJsonParseError error;
51 QJsonDocument doc = QJsonDocument::fromJson(json: message.toUtf8(), error: &error);
52 if (error.error) {
53 qWarning(msg: "Failed to parse JSON message: %s\nError is: %s",
54 qPrintable(message), qPrintable(error.errorString()));
55 return;
56 } else if (!doc.isObject()) {
57 qWarning(msg: "Received JSON message that is not an object: %s",
58 qPrintable(message));
59 return;
60 }
61 emit messageReceived(message: doc.object(), transport: this);
62}
63
64QT_END_NAMESPACE
65

source code of qtwebchannel/tests/auto/qml/testtransport.cpp