diff options
author | Chris Craig <ext-chris.craig@nokia.com> | 2012-03-01 11:37:35 +0100 |
---|---|---|
committer | Alexei Rousskikh <ext-alexei.rousskikh@nokia.com> | 2012-03-01 17:09:45 +0100 |
commit | 49f3d62b76baf32bf324758e5af6ec0b85900eb0 (patch) | |
tree | 190b65966bb0131ea7bc3f695097f7b2475b2a9b | |
parent | 10c41cb849ab8f715a04e35c6cc702a294f82eba (diff) |
add error object to server validation signals, add debug stream operator
Change-Id: Iaf6c9b4ddab9d2532096830bcb87ca222549e435
Reviewed-by: Alexei Rousskikh <ext-alexei.rousskikh@nokia.com>
-rw-r--r-- | src/jsonserver.cpp | 16 | ||||
-rw-r--r-- | src/jsonserver.h | 5 | ||||
-rw-r--r-- | src/qtjsonschema/schemaerror.cpp | 7 | ||||
-rw-r--r-- | src/qtjsonschema/schemaerror.h | 2 |
4 files changed, 21 insertions, 9 deletions
diff --git a/src/jsonserver.cpp b/src/jsonserver.cpp index 248e5c9..d5ed561 100644 --- a/src/jsonserver.cpp +++ b/src/jsonserver.cpp @@ -261,7 +261,7 @@ void JsonServer::receiveMessage(const QString &identifier, const QJsonObject &me if (!m_inboundValidator->validateSchema(message)) { if (validatorFlags().testFlag(WarnIfInvalid)) { - emit inboundMessageValidationFailed(message); + emit inboundMessageValidationFailed(message, m_inboundValidator->getLastError()); } if (validatorFlags().testFlag(DropIfInvalid)) { return; @@ -373,7 +373,7 @@ bool JsonServer::send(const QString &identifier, const QJsonObject &message) if (!m_outboundValidator->validateSchema(message)) { if (validatorFlags().testFlag(WarnIfInvalid)) { - emit outboundMessageValidationFailed(message); + emit outboundMessageValidationFailed(message, m_outboundValidator->getLastError()); } if (validatorFlags().testFlag(DropIfInvalid)) { return false; @@ -407,7 +407,7 @@ void JsonServer::broadcast(const QJsonObject &message) if (!m_outboundValidator->validateSchema(message)) { if (validatorFlags().testFlag(WarnIfInvalid)) { - emit outboundMessageValidationFailed(message); + emit outboundMessageValidationFailed(message, m_outboundValidator->getLastError()); } if (validatorFlags().testFlag(DropIfInvalid)) { return; @@ -555,13 +555,15 @@ void JsonServer::initSchemaValidation() */ /*! - \fn void JsonServer::inboundMessageValidationFailed(const QJsonObject &message) - This signal is emitted when an inbound \a message message fails a JSON schema validation. + \fn void JsonServer::inboundMessageValidationFailed(const QJsonObject &message, const QtAddOn::JsonStream::SchemaError &error) + This signal is emitted when an inbound \a message message fails a JSON schema validation. The validation + error is reported in \a error. */ /*! - \fn void JsonServer::outboundMessageValidationFailed(const QJsonObject &message) - This signal is emitted when an outbound \a message message fails a JSON schema validation. + \fn void JsonServer::outboundMessageValidationFailed(const QJsonObject &message, const QtAddOn::JsonStream::SchemaError &error) + This signal is emitted when an outbound \a message message fails a JSON schema validation. The validation + error is reported in \a error. */ #include "moc_jsonserver.cpp" diff --git a/src/jsonserver.h b/src/jsonserver.h index 63e1cf2..0657b3c 100644 --- a/src/jsonserver.h +++ b/src/jsonserver.h @@ -50,6 +50,7 @@ class QLocalServer; #include "jsonstream-global.h" +#include "schemaerror.h" QT_BEGIN_NAMESPACE_JSONSTREAM @@ -107,8 +108,8 @@ signals: void messageReceived(const QString &identifier, const QJsonObject &message); void authorizationFailed(); - void inboundMessageValidationFailed(const QJsonObject &message); - void outboundMessageValidationFailed(const QJsonObject &message); + void inboundMessageValidationFailed(const QJsonObject &message, const QtAddOn::JsonStream::SchemaError &error); + void outboundMessageValidationFailed(const QJsonObject &message, const QtAddOn::JsonStream::SchemaError &error); protected slots: virtual void handleClientAuthorized(const QString &identifier); diff --git a/src/qtjsonschema/schemaerror.cpp b/src/qtjsonschema/schemaerror.cpp index 1e134eb..9bfe2a2 100644 --- a/src/qtjsonschema/schemaerror.cpp +++ b/src/qtjsonschema/schemaerror.cpp @@ -42,6 +42,7 @@ #include "schemaerror.h" #include <QStringList> +#include <QDebug> QT_BEGIN_NAMESPACE_JSONSTREAM @@ -124,4 +125,10 @@ QList<SchemaError> SchemaError::subErrors() const return errors; } +QDebug operator <<(QDebug dbg, const SchemaError &e) +{ + dbg << "SchemaError(" << e.m_data << ")"; + return dbg; +} + QT_END_NAMESPACE_JSONSTREAM diff --git a/src/qtjsonschema/schemaerror.h b/src/qtjsonschema/schemaerror.h index ada86e1..185d742 100644 --- a/src/qtjsonschema/schemaerror.h +++ b/src/qtjsonschema/schemaerror.h @@ -85,6 +85,8 @@ public: static const QString kErrorPrefixStr; private: + friend Q_ADDON_JSONSTREAM_EXPORT QDebug operator<<(QDebug, const SchemaError &); + QJsonObject m_data; }; |