etherealjoy 0bf430a803 Qt5cpp Add support for nested containers (#7340)
* Disable creation of empty json fields and fields for primitives which were not set, but using default values
modelnamePrefix will be the one passed from command line or SWG if none

* Updates after review
Also common http files are splitted
Update Petstore examples

* Small Fixes for cleaning up arrays of arrays/maps

* Changes
- Api Body pass by Reference, avoid seg fault due to deletion of auto constructed object passed as parameter.
- Support Maps and Arrays upto a depth of 2
- Refactor Helpers to handle Maps and simplify code

* Remove size check due to possible incorrect type

* Update PetStore Examples for Qt5 C++ and small fixes for QDate/QDateTime

* Updates after review. Fixes typo and remove usage of auto keyword.

* Restored usage of auto keyword.
2018-01-14 17:47:54 +08:00

150 lines
3.2 KiB
C++

/**
* Swagger Petstore
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
*
* OpenAPI spec version: 1.0.0
* Contact: apiteam@swagger.io
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
#include "SWGApiResponse.h"
#include "SWGHelpers.h"
#include <QJsonDocument>
#include <QJsonArray>
#include <QObject>
#include <QDebug>
namespace Swagger {
SWGApiResponse::SWGApiResponse(QString* json) {
init();
this->fromJson(*json);
}
SWGApiResponse::SWGApiResponse() {
init();
}
SWGApiResponse::~SWGApiResponse() {
this->cleanup();
}
void
SWGApiResponse::init() {
code = 0;
m_code_isSet = false;
type = new QString("");
m_type_isSet = false;
message = new QString("");
m_message_isSet = false;
}
void
SWGApiResponse::cleanup() {
if(type != nullptr) {
delete type;
}
if(message != nullptr) {
delete message;
}
}
SWGApiResponse*
SWGApiResponse::fromJson(QString &json) {
QByteArray array (json.toStdString().c_str());
QJsonDocument doc = QJsonDocument::fromJson(array);
QJsonObject jsonObject = doc.object();
this->fromJsonObject(jsonObject);
return this;
}
void
SWGApiResponse::fromJsonObject(QJsonObject &pJson) {
::Swagger::setValue(&code, pJson["code"], "qint32", "");
::Swagger::setValue(&type, pJson["type"], "QString", "QString");
::Swagger::setValue(&message, pJson["message"], "QString", "QString");
}
QString
SWGApiResponse::asJson ()
{
QJsonObject* obj = this->asJsonObject();
QJsonDocument doc(*obj);
QByteArray bytes = doc.toJson();
return QString(bytes);
}
QJsonObject*
SWGApiResponse::asJsonObject() {
QJsonObject* obj = new QJsonObject();
if(m_code_isSet){
obj->insert("code", QJsonValue(code));
}
if(type != nullptr && *type != QString("")){
toJsonValue(QString("type"), type, obj, QString("QString"));
}
if(message != nullptr && *message != QString("")){
toJsonValue(QString("message"), message, obj, QString("QString"));
}
return obj;
}
qint32
SWGApiResponse::getCode() {
return code;
}
void
SWGApiResponse::setCode(qint32 code) {
this->code = code;
this->m_code_isSet = true;
}
QString*
SWGApiResponse::getType() {
return type;
}
void
SWGApiResponse::setType(QString* type) {
this->type = type;
this->m_type_isSet = true;
}
QString*
SWGApiResponse::getMessage() {
return message;
}
void
SWGApiResponse::setMessage(QString* message) {
this->message = message;
this->m_message_isSet = true;
}
bool
SWGApiResponse::isSet(){
bool isObjectUpdated = false;
do{
if(m_code_isSet){ isObjectUpdated = true; break;}
if(type != nullptr && *type != QString("")){ isObjectUpdated = true; break;}
if(message != nullptr && *message != QString("")){ isObjectUpdated = true; break;}
}while(false);
return isObjectUpdated;
}
}