#include <QJsonDocument> #include <QJsonObject> #include "RequestError.h" namespace hws { RequestError::RequestError() : mMessageText(), mBaseMessageText(), mCode(-1), mSeverity(-1) { } RequestError::RequestError(const QString & messageText, const QString & baseMessageText, int code, short severity) : mMessageText(messageText), mBaseMessageText(baseMessageText), mCode(code), mSeverity(severity) { } RequestError::RequestError(const RequestError & error) : mMessageText(error.messageText()), mBaseMessageText(error.baseMessageText()), mCode(error.code()), mSeverity(error.severity()) { } RequestError::~RequestError() { } RequestError & RequestError::operator=(const RequestError & e) { setMessageText(e.messageText()); setBaseMessageText(e.baseMessageText()); setCode(e.code()); setSeverity(e.severity()); return *this; } const QString & RequestError::messageText() const { return mMessageText; } void RequestError::setMessageText(const QString & t) { mMessageText = t; } const QString & RequestError::baseMessageText() const { return mBaseMessageText; } void RequestError::setBaseMessageText(const QString & t) { mBaseMessageText = t; } int RequestError::code() const { return mCode; } void RequestError::setCode(int c) { mCode = c; } short RequestError::severity() const { return mSeverity; } void RequestError::setSeverity(short s) { mSeverity = s; } RequestErrorPtr parseRequestError(QByteArray data) { QJsonDocument doc; QJsonParseError error; doc.fromJson(data, &error); RequestErrorPtr requestError; if (error.error != QJsonParseError::NoError && doc.isObject()) { QJsonObject object = doc.object(); if (!object.contains("code")) return requestError; int requestCode = object["code"].toInt(); QString messageText; if (object.contains("messageText")) messageText = object["messageText"].toString(); QString baseMessageText; if (object.contains("baseMessageText")) baseMessageText = object["baseMessageText"].toString(); short severity = -1; if (object.contains("severity")) severity = static_cast<short>(object["severity"].toInt()); requestError.reset( new RequestError(messageText, baseMessageText, requestCode, severity)); } return requestError; } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 15688 | Doug Scheirer |
Populate -o //guest/perforce_software/helix-web-services/... //guest/doug_scheirer/helix-web-services/.... |
||
//guest/perforce_software/helix-web-services/main/build/helix_web_services_client_qt/hws/RequestError.cpp | |||||
#1 | 14050 | tjuricek | Prep versioned release directory for inclusion into Helix Sync app. |