diff options
Diffstat (limited to 'src/webchannel/qmetaobjectpublisher.cpp')
-rw-r--r-- | src/webchannel/qmetaobjectpublisher.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/webchannel/qmetaobjectpublisher.cpp b/src/webchannel/qmetaobjectpublisher.cpp index c141fb2..fcf809a 100644 --- a/src/webchannel/qmetaobjectpublisher.cpp +++ b/src/webchannel/qmetaobjectpublisher.cpp @@ -54,6 +54,7 @@ #include <QDebug> #include <QPointer> #include <QEvent> +#include <QJsonDocument> namespace { const QString KEY_SIGNALS = QStringLiteral("signals"); @@ -647,6 +648,17 @@ bool QMetaObjectPublisher::handleRequest(const QJsonObject &message) return false; } +void QMetaObjectPublisher::handleRawMessage(const QString &message) +{ + QJsonParseError error; + const QJsonDocument doc = QJsonDocument::fromJson(message.toUtf8(), &error); + if (error.error) { + qWarning() << "Could not parse raw input message as JSON: " << error.errorString() << "Message was: " << message; + } else if (doc.isObject() && !handleRequest(doc.object())) { + qWarning() << "Could not handle raw message as meta object request: " << message; + } +} + QWebChannel *QMetaObjectPublisher::webChannel() const { return d->webChannel; |