Files
openapi-generator/samples/client/petstore/tizen/client/SamiStoreApi.cpp
2015-02-05 11:34:23 -08:00

266 lines
6.4 KiB
C++

#include "SamiStoreApi.h"
#include "SamiHelpers.h"
#include "SamiError.h"
using namespace Tizen::Base;
namespace Swagger {
SamiStoreApi::SamiStoreApi() {
}
SamiStoreApi::~SamiStoreApi() {
}
void
getInventoryProcessor(HttpResponse* pHttpResponse, void (* handler)(void*, SamiError*)) {
int code = pHttpResponse->GetHttpStatusCode();
if(code >= 200 && code < 300) {
ByteBuffer* pBuffer = pHttpResponse->ReadBodyN();
IJsonValue* pJson = JsonParser::ParseN(*pBuffer);
HashMap* out = new HashMap();
jsonToValue(out, pJson, L"HashMap*", L"Integer");
if (pJson) {
if (pJson->GetType() == JSON_TYPE_OBJECT) {
JsonObject* pObject = static_cast< JsonObject* >(pJson);
pObject->RemoveAll(true);
}
else if (pJson->GetType() == JSON_TYPE_ARRAY) {
JsonArray* pArray = static_cast< JsonArray* >(pJson);
pArray->RemoveAll(true);
}
handler(out, null);
}
else {
SamiError* error = new SamiError(0, new String(L"No parsable response received"));
handler(null, error);
}
}
else {
SamiError* error = new SamiError(code, new String(pHttpResponse->GetStatusText()));
handler(null, error);
}
}
HashMap*
SamiStoreApi::getInventoryWithCompletion( void (* success)(HashMap*, SamiError*)) {
client = new SamiApiClient();
client->success(&getInventoryProcessor, (void(*)(void*, SamiError*))success);
HashMap* headerParams = new HashMap(SingleObjectDeleter);
headerParams->Construct();
HashMap* queryParams = new HashMap(SingleObjectDeleter);
queryParams->Construct();
String* mBody = null;
String url(L"/store/inventory");
client->execute(SamiStoreApi::getBasePath(), url, "GET", (IMap*)queryParams, mBody, (IMap*)headerParams, null, L"application/json");
return null;
}
void
placeOrderProcessor(HttpResponse* pHttpResponse, void (* handler)(void*, SamiError*)) {
int code = pHttpResponse->GetHttpStatusCode();
if(code >= 200 && code < 300) {
ByteBuffer* pBuffer = pHttpResponse->ReadBodyN();
IJsonValue* pJson = JsonParser::ParseN(*pBuffer);
SamiOrder* out = new SamiOrder();
jsonToValue(out, pJson, L"SamiOrder*", L"SamiOrder");
if (pJson) {
if (pJson->GetType() == JSON_TYPE_OBJECT) {
JsonObject* pObject = static_cast< JsonObject* >(pJson);
pObject->RemoveAll(true);
}
else if (pJson->GetType() == JSON_TYPE_ARRAY) {
JsonArray* pArray = static_cast< JsonArray* >(pJson);
pArray->RemoveAll(true);
}
handler(out, null);
}
else {
SamiError* error = new SamiError(0, new String(L"No parsable response received"));
handler(null, error);
}
}
else {
SamiError* error = new SamiError(code, new String(pHttpResponse->GetStatusText()));
handler(null, error);
}
}
SamiOrder*
SamiStoreApi::placeOrderWithCompletion(SamiOrder* body, void (* success)(SamiOrder*, SamiError*)) {
client = new SamiApiClient();
client->success(&placeOrderProcessor, (void(*)(void*, SamiError*))success);
HashMap* headerParams = new HashMap(SingleObjectDeleter);
headerParams->Construct();
HashMap* queryParams = new HashMap(SingleObjectDeleter);
queryParams->Construct();
String* mBody = null;
if(body != null) {
mBody = new String(body->asJson());
headerParams->Add(new String("Content-Type"), new String("application/json"));
}
String url(L"/store/order");
client->execute(SamiStoreApi::getBasePath(), url, "POST", (IMap*)queryParams, mBody, (IMap*)headerParams, null, L"application/json");
return null;
}
void
getOrderByIdProcessor(HttpResponse* pHttpResponse, void (* handler)(void*, SamiError*)) {
int code = pHttpResponse->GetHttpStatusCode();
if(code >= 200 && code < 300) {
ByteBuffer* pBuffer = pHttpResponse->ReadBodyN();
IJsonValue* pJson = JsonParser::ParseN(*pBuffer);
SamiOrder* out = new SamiOrder();
jsonToValue(out, pJson, L"SamiOrder*", L"SamiOrder");
if (pJson) {
if (pJson->GetType() == JSON_TYPE_OBJECT) {
JsonObject* pObject = static_cast< JsonObject* >(pJson);
pObject->RemoveAll(true);
}
else if (pJson->GetType() == JSON_TYPE_ARRAY) {
JsonArray* pArray = static_cast< JsonArray* >(pJson);
pArray->RemoveAll(true);
}
handler(out, null);
}
else {
SamiError* error = new SamiError(0, new String(L"No parsable response received"));
handler(null, error);
}
}
else {
SamiError* error = new SamiError(code, new String(pHttpResponse->GetStatusText()));
handler(null, error);
}
}
SamiOrder*
SamiStoreApi::getOrderByIdWithCompletion(String* orderId, void (* success)(SamiOrder*, SamiError*)) {
client = new SamiApiClient();
client->success(&getOrderByIdProcessor, (void(*)(void*, SamiError*))success);
HashMap* headerParams = new HashMap(SingleObjectDeleter);
headerParams->Construct();
HashMap* queryParams = new HashMap(SingleObjectDeleter);
queryParams->Construct();
String* mBody = null;
String url(L"/store/order/{orderId}");
String s_orderId(L"{");
s_orderId.Append(L"orderId");
s_orderId.Append(L"}");
url.Replace(s_orderId, stringify(orderId, L"String*"));
client->execute(SamiStoreApi::getBasePath(), url, "GET", (IMap*)queryParams, mBody, (IMap*)headerParams, null, L"application/json");
return null;
}
void
deleteOrderProcessor(HttpResponse* pHttpResponse, void (* handler)(void*, SamiError*)) {
int code = pHttpResponse->GetHttpStatusCode();
if(code >= 200 && code < 300) {
handler(null, null);
}
else {
SamiError* error = new SamiError(code, new String(pHttpResponse->GetStatusText()));
handler(error, null);
}
}
void
SamiStoreApi::deleteOrderWithCompletion(String* orderId, void(*success)(SamiError*)) {
client = new SamiApiClient();
client->success(&deleteOrderProcessor, (void(*)(void*, SamiError*))success);
HashMap* headerParams = new HashMap(SingleObjectDeleter);
headerParams->Construct();
HashMap* queryParams = new HashMap(SingleObjectDeleter);
queryParams->Construct();
String* mBody = null;
String url(L"/store/order/{orderId}");
String s_orderId(L"{");
s_orderId.Append(L"orderId");
s_orderId.Append(L"}");
url.Replace(s_orderId, stringify(orderId, L"String*"));
client->execute(SamiStoreApi::getBasePath(), url, "DELETE", (IMap*)queryParams, mBody, (IMap*)headerParams, null, L"application/json");
}
} /* namespace Swagger */