#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
|
15741 |
ptomiak |
Branch HWS for my use. |
|
|
//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. |
|
|