forked from loafle/openapi-generator-original
* Correction to C support for additional_properties * TAB to SPACE in one file
This commit is contained in:
parent
e09417d25c
commit
96c1bda608
@ -255,7 +255,7 @@ void {{classname}}_free({{classname}}_t *{{classname}}) {
|
||||
{{/isListContainer}}
|
||||
{{#isMapContainer}}
|
||||
list_ForEach(listEntry, {{classname}}->{{baseName}}) {
|
||||
keyValuePair_t *localMapKeyPair = (keyValuePair_t*) listEntry->data;
|
||||
keyValuePair_t *localKeyValue = (keyValuePair_t*) listEntry->data;
|
||||
free (localKeyValue->key);
|
||||
free (localKeyValue->value);
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
4.2.1-SNAPSHOT
|
||||
4.2.2-SNAPSHOT
|
@ -63,27 +63,28 @@ install(TARGETS ${pkgName} DESTINATION ${CMAKE_INSTALL_PREFIX})
|
||||
set(SRCS "")
|
||||
set(HDRS "")
|
||||
|
||||
# This section shows how to use the above compiled libary to compile the source files
|
||||
# set source files
|
||||
set(SRCS
|
||||
unit-tests/manual-PetAPI.c
|
||||
unit-tests/manual-StoreAPI.c
|
||||
unit-tests/manual-UserAPI.c
|
||||
unit-tests/manual-order.c
|
||||
unit-tests/manual-user.c)
|
||||
|
||||
#set header files
|
||||
set(HDRS
|
||||
)
|
||||
## This section shows how to use the above compiled libary to compile the source files
|
||||
## set source files
|
||||
#set(SRCS
|
||||
# unit-tests/manual-PetAPI.c
|
||||
# unit-tests/manual-StoreAPI.c
|
||||
# unit-tests/manual-UserAPI.c
|
||||
# unit-tests/manual-order.c
|
||||
# unit-tests/manual-user.c)
|
||||
|
||||
# loop over all files in SRCS variable
|
||||
foreach(SOURCE_FILE ${SRCS})
|
||||
# Get only the file name from the file as add_executable doesnot support executable with slash("/")
|
||||
get_filename_component(FILE_NAME_ONLY ${SOURCE_FILE} NAME_WE)
|
||||
# Remove .c from the file name and set it as executable name
|
||||
string( REPLACE ".c" "" EXECUTABLE_FILE ${FILE_NAME_ONLY})
|
||||
# Add executable for every source file in SRCS
|
||||
add_executable(unit-${EXECUTABLE_FILE} ${SOURCE_FILE})
|
||||
# Link above created libary to executable and dependent libary curl
|
||||
target_link_libraries(unit-${EXECUTABLE_FILE} ${CURL_LIBRARIES} ${pkgName} )
|
||||
endforeach(SOURCE_FILE ${SRCS})
|
||||
##set header files
|
||||
#set(HDRS
|
||||
#)
|
||||
|
||||
## loop over all files in SRCS variable
|
||||
#foreach(SOURCE_FILE ${SRCS})
|
||||
# # Get only the file name from the file as add_executable doesnot support executable with slash("/")
|
||||
# get_filename_component(FILE_NAME_ONLY ${SOURCE_FILE} NAME_WE)
|
||||
# # Remove .c from the file name and set it as executable name
|
||||
# string( REPLACE ".c" "" EXECUTABLE_FILE ${FILE_NAME_ONLY})
|
||||
# # Add executable for every source file in SRCS
|
||||
# add_executable(unit-${EXECUTABLE_FILE} ${SOURCE_FILE})
|
||||
# # Link above created libary to executable and dependent libary curl
|
||||
# target_link_libraries(unit-${EXECUTABLE_FILE} ${CURL_LIBRARIES} ${pkgName} )
|
||||
#endforeach(SOURCE_FILE ${SRCS})
|
||||
|
@ -6,14 +6,16 @@
|
||||
|
||||
#define MAX_BUFFER_LENGTH 4096
|
||||
#define intToStr(dst, src) \
|
||||
do { \
|
||||
char dst[256]; \
|
||||
snprintf(dst, 256, "%ld", (long int) (src)); \
|
||||
} while(0)
|
||||
do {\
|
||||
char dst[256];\
|
||||
snprintf(dst, 256, "%ld", (long int)(src));\
|
||||
}while(0)
|
||||
|
||||
// Add a new pet to the store
|
||||
//
|
||||
void PetAPI_addPet(apiClient_t *apiClient, pet_t *body) {
|
||||
void
|
||||
PetAPI_addPet(apiClient_t *apiClient ,pet_t * body)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -22,7 +24,7 @@ void PetAPI_addPet(apiClient_t *apiClient, pet_t *body) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/pet") + 1;
|
||||
long sizeOfPath = strlen("/pet")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/pet");
|
||||
|
||||
@ -31,14 +33,14 @@ void PetAPI_addPet(apiClient_t *apiClient, pet_t *body) {
|
||||
|
||||
// Body Param
|
||||
cJSON *localVarSingleItemJSON_body;
|
||||
if(body != NULL) {
|
||||
// string
|
||||
if (body != NULL)
|
||||
{
|
||||
//string
|
||||
localVarSingleItemJSON_body = pet_convertToJSON(body);
|
||||
localVarBodyParameters =
|
||||
cJSON_Print(localVarSingleItemJSON_body);
|
||||
localVarBodyParameters = cJSON_Print(localVarSingleItemJSON_body);
|
||||
}
|
||||
list_addElement(localVarContentType, "application/json"); // consumes
|
||||
list_addElement(localVarContentType, "application/xml"); // consumes
|
||||
list_addElement(localVarContentType,"application/json"); //consumes
|
||||
list_addElement(localVarContentType,"application/xml"); //consumes
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
localVarQueryParameters,
|
||||
@ -49,12 +51,12 @@ void PetAPI_addPet(apiClient_t *apiClient, pet_t *body) {
|
||||
localVarBodyParameters,
|
||||
"POST");
|
||||
|
||||
if(apiClient->response_code == 405) {
|
||||
printf("%s\n", "Invalid input");
|
||||
if (apiClient->response_code == 405) {
|
||||
printf("%s\n","Invalid input");
|
||||
}
|
||||
// No return type
|
||||
//No return type
|
||||
end:
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -65,11 +67,14 @@ end:
|
||||
free(localVarPath);
|
||||
cJSON_Delete(localVarSingleItemJSON_body);
|
||||
free(localVarBodyParameters);
|
||||
|
||||
}
|
||||
|
||||
// Deletes a pet
|
||||
//
|
||||
void PetAPI_deletePet(apiClient_t *apiClient, long petId, char *api_key) {
|
||||
void
|
||||
PetAPI_deletePet(apiClient_t *apiClient ,long petId ,char * api_key)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = list_create();
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -78,40 +83,36 @@ void PetAPI_deletePet(apiClient_t *apiClient, long petId, char *api_key) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/pet/{petId}") + 1;
|
||||
long sizeOfPath = strlen("/pet/{petId}")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/pet/{petId}");
|
||||
|
||||
|
||||
// Path Params
|
||||
long sizeOfPathParams_petId = sizeof(petId) + 3 + strlen("{ petId }");
|
||||
if(petId == 0) {
|
||||
long sizeOfPathParams_petId = sizeof(petId)+3 + strlen("{ petId }");
|
||||
if(petId == 0){
|
||||
goto end;
|
||||
}
|
||||
char *localVarToReplace_petId = malloc(sizeOfPathParams_petId);
|
||||
snprintf(localVarToReplace_petId, sizeOfPathParams_petId, "{%s}",
|
||||
"petId");
|
||||
char* localVarToReplace_petId = malloc(sizeOfPathParams_petId);
|
||||
snprintf(localVarToReplace_petId, sizeOfPathParams_petId, "{%s}", "petId");
|
||||
|
||||
char localVarBuff_petId[256];
|
||||
intToStr(localVarBuff_petId, petId);
|
||||
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_petId,
|
||||
localVarBuff_petId);
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_petId, localVarBuff_petId);
|
||||
|
||||
|
||||
|
||||
|
||||
// header parameters
|
||||
char *keyHeader_api_key;
|
||||
char *valueHeader_api_key;
|
||||
char * valueHeader_api_key;
|
||||
keyValuePair_t *keyPairHeader_api_key = 0;
|
||||
if(api_key) {
|
||||
if (api_key) {
|
||||
keyHeader_api_key = strdup("api_key");
|
||||
valueHeader_api_key = strdup((api_key));
|
||||
keyPairHeader_api_key = keyValuePair_create(keyHeader_api_key,
|
||||
valueHeader_api_key);
|
||||
list_addElement(localVarHeaderParameters,
|
||||
keyPairHeader_api_key);
|
||||
keyPairHeader_api_key = keyValuePair_create(keyHeader_api_key, valueHeader_api_key);
|
||||
list_addElement(localVarHeaderParameters,keyPairHeader_api_key);
|
||||
}
|
||||
|
||||
apiClient_invoke(apiClient,
|
||||
@ -124,12 +125,12 @@ void PetAPI_deletePet(apiClient_t *apiClient, long petId, char *api_key) {
|
||||
localVarBodyParameters,
|
||||
"DELETE");
|
||||
|
||||
if(apiClient->response_code == 400) {
|
||||
printf("%s\n", "Invalid pet value");
|
||||
if (apiClient->response_code == 400) {
|
||||
printf("%s\n","Invalid pet value");
|
||||
}
|
||||
// No return type
|
||||
//No return type
|
||||
end:
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -142,13 +143,16 @@ end:
|
||||
free(keyHeader_api_key);
|
||||
free(valueHeader_api_key);
|
||||
free(keyPairHeader_api_key);
|
||||
|
||||
}
|
||||
|
||||
// Finds Pets by status
|
||||
//
|
||||
// Multiple status values can be provided with comma separated strings
|
||||
//
|
||||
list_t *PetAPI_findPetsByStatus(apiClient_t *apiClient, list_t *status) {
|
||||
list_t*
|
||||
PetAPI_findPetsByStatus(apiClient_t *apiClient ,list_t * status)
|
||||
{
|
||||
list_t *localVarQueryParameters = list_create();
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -157,7 +161,7 @@ list_t *PetAPI_findPetsByStatus(apiClient_t *apiClient, list_t *status) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/pet/findByStatus") + 1;
|
||||
long sizeOfPath = strlen("/pet/findByStatus")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/pet/findByStatus");
|
||||
|
||||
@ -165,11 +169,12 @@ list_t *PetAPI_findPetsByStatus(apiClient_t *apiClient, list_t *status) {
|
||||
|
||||
|
||||
// query parameters
|
||||
if(status) {
|
||||
list_addElement(localVarQueryParameters, status);
|
||||
if (status)
|
||||
{
|
||||
list_addElement(localVarQueryParameters,status);
|
||||
}
|
||||
list_addElement(localVarHeaderType, "application/xml"); // produces
|
||||
list_addElement(localVarHeaderType, "application/json"); // produces
|
||||
list_addElement(localVarHeaderType,"application/xml"); //produces
|
||||
list_addElement(localVarHeaderType,"application/json"); //produces
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
localVarQueryParameters,
|
||||
@ -180,31 +185,32 @@ list_t *PetAPI_findPetsByStatus(apiClient_t *apiClient, list_t *status) {
|
||||
localVarBodyParameters,
|
||||
"GET");
|
||||
|
||||
if(apiClient->response_code == 200) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 200) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
if(apiClient->response_code == 400) {
|
||||
printf("%s\n", "Invalid status value");
|
||||
if (apiClient->response_code == 400) {
|
||||
printf("%s\n","Invalid status value");
|
||||
}
|
||||
cJSON *PetAPIlocalVarJSON = cJSON_Parse(apiClient->dataReceived);
|
||||
if(!cJSON_IsArray(PetAPIlocalVarJSON)) {
|
||||
return 0; // nonprimitive container
|
||||
return 0;//nonprimitive container
|
||||
}
|
||||
list_t *elementToReturn = list_create();
|
||||
cJSON *VarJSON;
|
||||
cJSON_ArrayForEach(VarJSON, PetAPIlocalVarJSON)
|
||||
{
|
||||
if(!cJSON_IsObject(VarJSON)) {
|
||||
if(!cJSON_IsObject(VarJSON))
|
||||
{
|
||||
// return 0;
|
||||
}
|
||||
char *localVarJSONToChar = cJSON_Print(VarJSON);
|
||||
list_addElement(elementToReturn, localVarJSONToChar);
|
||||
list_addElement(elementToReturn , localVarJSONToChar);
|
||||
}
|
||||
|
||||
cJSON_Delete(PetAPIlocalVarJSON);
|
||||
cJSON_Delete(VarJSON);
|
||||
// return type
|
||||
if(apiClient->dataReceived) {
|
||||
cJSON_Delete( PetAPIlocalVarJSON);
|
||||
cJSON_Delete( VarJSON);
|
||||
//return type
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
list_free(localVarQueryParameters);
|
||||
@ -216,13 +222,16 @@ list_t *PetAPI_findPetsByStatus(apiClient_t *apiClient, list_t *status) {
|
||||
return elementToReturn;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
// Finds Pets by tags
|
||||
//
|
||||
// Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||
//
|
||||
list_t *PetAPI_findPetsByTags(apiClient_t *apiClient, list_t *tags) {
|
||||
list_t*
|
||||
PetAPI_findPetsByTags(apiClient_t *apiClient ,list_t * tags)
|
||||
{
|
||||
list_t *localVarQueryParameters = list_create();
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -231,7 +240,7 @@ list_t *PetAPI_findPetsByTags(apiClient_t *apiClient, list_t *tags) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/pet/findByTags") + 1;
|
||||
long sizeOfPath = strlen("/pet/findByTags")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/pet/findByTags");
|
||||
|
||||
@ -239,11 +248,12 @@ list_t *PetAPI_findPetsByTags(apiClient_t *apiClient, list_t *tags) {
|
||||
|
||||
|
||||
// query parameters
|
||||
if(tags) {
|
||||
list_addElement(localVarQueryParameters, tags);
|
||||
if (tags)
|
||||
{
|
||||
list_addElement(localVarQueryParameters,tags);
|
||||
}
|
||||
list_addElement(localVarHeaderType, "application/xml"); // produces
|
||||
list_addElement(localVarHeaderType, "application/json"); // produces
|
||||
list_addElement(localVarHeaderType,"application/xml"); //produces
|
||||
list_addElement(localVarHeaderType,"application/json"); //produces
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
localVarQueryParameters,
|
||||
@ -254,31 +264,32 @@ list_t *PetAPI_findPetsByTags(apiClient_t *apiClient, list_t *tags) {
|
||||
localVarBodyParameters,
|
||||
"GET");
|
||||
|
||||
if(apiClient->response_code == 200) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 200) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
if(apiClient->response_code == 400) {
|
||||
printf("%s\n", "Invalid tag value");
|
||||
if (apiClient->response_code == 400) {
|
||||
printf("%s\n","Invalid tag value");
|
||||
}
|
||||
cJSON *PetAPIlocalVarJSON = cJSON_Parse(apiClient->dataReceived);
|
||||
if(!cJSON_IsArray(PetAPIlocalVarJSON)) {
|
||||
return 0; // nonprimitive container
|
||||
return 0;//nonprimitive container
|
||||
}
|
||||
list_t *elementToReturn = list_create();
|
||||
cJSON *VarJSON;
|
||||
cJSON_ArrayForEach(VarJSON, PetAPIlocalVarJSON)
|
||||
{
|
||||
if(!cJSON_IsObject(VarJSON)) {
|
||||
if(!cJSON_IsObject(VarJSON))
|
||||
{
|
||||
// return 0;
|
||||
}
|
||||
char *localVarJSONToChar = cJSON_Print(VarJSON);
|
||||
list_addElement(elementToReturn, localVarJSONToChar);
|
||||
list_addElement(elementToReturn , localVarJSONToChar);
|
||||
}
|
||||
|
||||
cJSON_Delete(PetAPIlocalVarJSON);
|
||||
cJSON_Delete(VarJSON);
|
||||
// return type
|
||||
if(apiClient->dataReceived) {
|
||||
cJSON_Delete( PetAPIlocalVarJSON);
|
||||
cJSON_Delete( VarJSON);
|
||||
//return type
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
list_free(localVarQueryParameters);
|
||||
@ -290,13 +301,16 @@ list_t *PetAPI_findPetsByTags(apiClient_t *apiClient, list_t *tags) {
|
||||
return elementToReturn;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
// Find pet by ID
|
||||
//
|
||||
// Returns a single pet
|
||||
//
|
||||
pet_t *PetAPI_getPetById(apiClient_t *apiClient, long petId) {
|
||||
pet_t*
|
||||
PetAPI_getPetById(apiClient_t *apiClient ,long petId)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -305,30 +319,28 @@ pet_t *PetAPI_getPetById(apiClient_t *apiClient, long petId) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/pet/{petId}") + 1;
|
||||
long sizeOfPath = strlen("/pet/{petId}")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/pet/{petId}");
|
||||
|
||||
|
||||
// Path Params
|
||||
long sizeOfPathParams_petId = sizeof(petId) + 3 + strlen("{ petId }");
|
||||
if(petId == 0) {
|
||||
long sizeOfPathParams_petId = sizeof(petId)+3 + strlen("{ petId }");
|
||||
if(petId == 0){
|
||||
goto end;
|
||||
}
|
||||
char *localVarToReplace_petId = malloc(sizeOfPathParams_petId);
|
||||
snprintf(localVarToReplace_petId, sizeOfPathParams_petId, "{%s}",
|
||||
"petId");
|
||||
char* localVarToReplace_petId = malloc(sizeOfPathParams_petId);
|
||||
snprintf(localVarToReplace_petId, sizeOfPathParams_petId, "{%s}", "petId");
|
||||
|
||||
char localVarBuff_petId[256];
|
||||
intToStr(localVarBuff_petId, petId);
|
||||
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_petId,
|
||||
localVarBuff_petId);
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_petId, localVarBuff_petId);
|
||||
|
||||
|
||||
|
||||
list_addElement(localVarHeaderType, "application/xml"); // produces
|
||||
list_addElement(localVarHeaderType, "application/json"); // produces
|
||||
list_addElement(localVarHeaderType,"application/xml"); //produces
|
||||
list_addElement(localVarHeaderType,"application/json"); //produces
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
localVarQueryParameters,
|
||||
@ -339,16 +351,16 @@ pet_t *PetAPI_getPetById(apiClient_t *apiClient, long petId) {
|
||||
localVarBodyParameters,
|
||||
"GET");
|
||||
|
||||
if(apiClient->response_code == 200) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 200) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
if(apiClient->response_code == 400) {
|
||||
printf("%s\n", "Invalid ID supplied");
|
||||
if (apiClient->response_code == 400) {
|
||||
printf("%s\n","Invalid ID supplied");
|
||||
}
|
||||
if(apiClient->response_code == 404) {
|
||||
printf("%s\n", "Pet not found");
|
||||
if (apiClient->response_code == 404) {
|
||||
printf("%s\n","Pet not found");
|
||||
}
|
||||
// nonprimitive not container
|
||||
//nonprimitive not container
|
||||
cJSON *PetAPIlocalVarJSON = cJSON_Parse(apiClient->dataReceived);
|
||||
pet_t *elementToReturn = pet_parseFromJSON(PetAPIlocalVarJSON);
|
||||
cJSON_Delete(PetAPIlocalVarJSON);
|
||||
@ -356,8 +368,8 @@ pet_t *PetAPI_getPetById(apiClient_t *apiClient, long petId) {
|
||||
// return 0;
|
||||
}
|
||||
|
||||
// return type
|
||||
if(apiClient->dataReceived) {
|
||||
//return type
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -370,11 +382,14 @@ pet_t *PetAPI_getPetById(apiClient_t *apiClient, long petId) {
|
||||
return elementToReturn;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
// Update an existing pet
|
||||
//
|
||||
void PetAPI_updatePet(apiClient_t *apiClient, pet_t *body) {
|
||||
void
|
||||
PetAPI_updatePet(apiClient_t *apiClient ,pet_t * body)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -383,7 +398,7 @@ void PetAPI_updatePet(apiClient_t *apiClient, pet_t *body) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/pet") + 1;
|
||||
long sizeOfPath = strlen("/pet")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/pet");
|
||||
|
||||
@ -392,14 +407,14 @@ void PetAPI_updatePet(apiClient_t *apiClient, pet_t *body) {
|
||||
|
||||
// Body Param
|
||||
cJSON *localVarSingleItemJSON_body;
|
||||
if(body != NULL) {
|
||||
// string
|
||||
if (body != NULL)
|
||||
{
|
||||
//string
|
||||
localVarSingleItemJSON_body = pet_convertToJSON(body);
|
||||
localVarBodyParameters =
|
||||
cJSON_Print(localVarSingleItemJSON_body);
|
||||
localVarBodyParameters = cJSON_Print(localVarSingleItemJSON_body);
|
||||
}
|
||||
list_addElement(localVarContentType, "application/json"); // consumes
|
||||
list_addElement(localVarContentType, "application/xml"); // consumes
|
||||
list_addElement(localVarContentType,"application/json"); //consumes
|
||||
list_addElement(localVarContentType,"application/xml"); //consumes
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
localVarQueryParameters,
|
||||
@ -410,18 +425,18 @@ void PetAPI_updatePet(apiClient_t *apiClient, pet_t *body) {
|
||||
localVarBodyParameters,
|
||||
"PUT");
|
||||
|
||||
if(apiClient->response_code == 400) {
|
||||
printf("%s\n", "Invalid ID supplied");
|
||||
if (apiClient->response_code == 400) {
|
||||
printf("%s\n","Invalid ID supplied");
|
||||
}
|
||||
if(apiClient->response_code == 404) {
|
||||
printf("%s\n", "Pet not found");
|
||||
if (apiClient->response_code == 404) {
|
||||
printf("%s\n","Pet not found");
|
||||
}
|
||||
if(apiClient->response_code == 405) {
|
||||
printf("%s\n", "Validation exception");
|
||||
if (apiClient->response_code == 405) {
|
||||
printf("%s\n","Validation exception");
|
||||
}
|
||||
// No return type
|
||||
//No return type
|
||||
end:
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -432,12 +447,14 @@ end:
|
||||
free(localVarPath);
|
||||
cJSON_Delete(localVarSingleItemJSON_body);
|
||||
free(localVarBodyParameters);
|
||||
|
||||
}
|
||||
|
||||
// Updates a pet in the store with form data
|
||||
//
|
||||
void PetAPI_updatePetWithForm(apiClient_t *apiClient, long petId, char *name,
|
||||
char *status) {
|
||||
void
|
||||
PetAPI_updatePetWithForm(apiClient_t *apiClient ,long petId ,char * name ,char * status)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = list_create();
|
||||
@ -446,54 +463,51 @@ void PetAPI_updatePetWithForm(apiClient_t *apiClient, long petId, char *name,
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/pet/{petId}") + 1;
|
||||
long sizeOfPath = strlen("/pet/{petId}")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/pet/{petId}");
|
||||
|
||||
|
||||
// Path Params
|
||||
long sizeOfPathParams_petId = sizeof(petId) + 3 + strlen("{ petId }");
|
||||
if(petId == 0) {
|
||||
long sizeOfPathParams_petId = sizeof(petId)+3 + strlen("{ petId }");
|
||||
if(petId == 0){
|
||||
goto end;
|
||||
}
|
||||
char *localVarToReplace_petId = malloc(sizeOfPathParams_petId);
|
||||
snprintf(localVarToReplace_petId, sizeOfPathParams_petId, "{%s}",
|
||||
"petId");
|
||||
char* localVarToReplace_petId = malloc(sizeOfPathParams_petId);
|
||||
snprintf(localVarToReplace_petId, sizeOfPathParams_petId, "{%s}", "petId");
|
||||
|
||||
char localVarBuff_petId[256];
|
||||
intToStr(localVarBuff_petId, petId);
|
||||
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_petId,
|
||||
localVarBuff_petId);
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_petId, localVarBuff_petId);
|
||||
|
||||
|
||||
|
||||
|
||||
// form parameters
|
||||
char *keyForm_name;
|
||||
char *valueForm_name;
|
||||
char * valueForm_name;
|
||||
keyValuePair_t *keyPairForm_name = 0;
|
||||
if(name != NULL) {
|
||||
if (name != NULL)
|
||||
{
|
||||
keyForm_name = strdup("name");
|
||||
valueForm_name = strdup((name));
|
||||
keyPairForm_name = keyValuePair_create(keyForm_name,
|
||||
valueForm_name);
|
||||
list_addElement(localVarFormParameters, keyPairForm_name);
|
||||
keyPairForm_name = keyValuePair_create(keyForm_name,valueForm_name);
|
||||
list_addElement(localVarFormParameters,keyPairForm_name);
|
||||
}
|
||||
|
||||
// form parameters
|
||||
char *keyForm_status;
|
||||
char *valueForm_status;
|
||||
char * valueForm_status;
|
||||
keyValuePair_t *keyPairForm_status = 0;
|
||||
if(status != NULL) {
|
||||
if (status != NULL)
|
||||
{
|
||||
keyForm_status = strdup("status");
|
||||
valueForm_status = strdup((status));
|
||||
keyPairForm_status = keyValuePair_create(keyForm_status,
|
||||
valueForm_status);
|
||||
list_addElement(localVarFormParameters, keyPairForm_status);
|
||||
keyPairForm_status = keyValuePair_create(keyForm_status,valueForm_status);
|
||||
list_addElement(localVarFormParameters,keyPairForm_status);
|
||||
}
|
||||
list_addElement(localVarContentType,
|
||||
"application/x-www-form-urlencoded"); // consumes
|
||||
list_addElement(localVarContentType,"application/x-www-form-urlencoded"); //consumes
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
localVarQueryParameters,
|
||||
@ -504,12 +518,12 @@ void PetAPI_updatePetWithForm(apiClient_t *apiClient, long petId, char *name,
|
||||
localVarBodyParameters,
|
||||
"POST");
|
||||
|
||||
if(apiClient->response_code == 405) {
|
||||
printf("%s\n", "Invalid input");
|
||||
if (apiClient->response_code == 405) {
|
||||
printf("%s\n","Invalid input");
|
||||
}
|
||||
// No return type
|
||||
//No return type
|
||||
end:
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -525,12 +539,14 @@ end:
|
||||
free(keyForm_status);
|
||||
free(valueForm_status);
|
||||
keyValuePair_free(keyPairForm_status);
|
||||
|
||||
}
|
||||
|
||||
// uploads an image
|
||||
//
|
||||
api_response_t *PetAPI_uploadFile(apiClient_t *apiClient, long petId,
|
||||
char *additionalMetadata, binary_t *file) {
|
||||
api_response_t*
|
||||
PetAPI_uploadFile(apiClient_t *apiClient ,long petId ,char * additionalMetadata ,binary_t* file)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = list_create();
|
||||
@ -539,56 +555,52 @@ api_response_t *PetAPI_uploadFile(apiClient_t *apiClient, long petId,
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/pet/{petId}/uploadImage") + 1;
|
||||
long sizeOfPath = strlen("/pet/{petId}/uploadImage")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/pet/{petId}/uploadImage");
|
||||
|
||||
|
||||
// Path Params
|
||||
long sizeOfPathParams_petId = sizeof(petId) + 3 + strlen("{ petId }");
|
||||
if(petId == 0) {
|
||||
long sizeOfPathParams_petId = sizeof(petId)+3 + strlen("{ petId }");
|
||||
if(petId == 0){
|
||||
goto end;
|
||||
}
|
||||
char *localVarToReplace_petId = malloc(sizeOfPathParams_petId);
|
||||
snprintf(localVarToReplace_petId, sizeOfPathParams_petId, "{%s}",
|
||||
"petId");
|
||||
char* localVarToReplace_petId = malloc(sizeOfPathParams_petId);
|
||||
snprintf(localVarToReplace_petId, sizeOfPathParams_petId, "{%s}", "petId");
|
||||
|
||||
char localVarBuff_petId[256];
|
||||
intToStr(localVarBuff_petId, petId);
|
||||
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_petId,
|
||||
localVarBuff_petId);
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_petId, localVarBuff_petId);
|
||||
|
||||
|
||||
|
||||
|
||||
// form parameters
|
||||
char *keyForm_additionalMetadata;
|
||||
char *valueForm_additionalMetadata;
|
||||
char * valueForm_additionalMetadata;
|
||||
keyValuePair_t *keyPairForm_additionalMetadata = 0;
|
||||
if(additionalMetadata != NULL) {
|
||||
if (additionalMetadata != NULL)
|
||||
{
|
||||
keyForm_additionalMetadata = strdup("additionalMetadata");
|
||||
valueForm_additionalMetadata = strdup((additionalMetadata));
|
||||
keyPairForm_additionalMetadata = keyValuePair_create(
|
||||
keyForm_additionalMetadata,
|
||||
valueForm_additionalMetadata);
|
||||
list_addElement(localVarFormParameters,
|
||||
keyPairForm_additionalMetadata);
|
||||
keyPairForm_additionalMetadata = keyValuePair_create(keyForm_additionalMetadata,valueForm_additionalMetadata);
|
||||
list_addElement(localVarFormParameters,keyPairForm_additionalMetadata);
|
||||
}
|
||||
|
||||
// form parameters
|
||||
char *keyForm_file;
|
||||
binary_t *valueForm_file;
|
||||
binary_t* valueForm_file;
|
||||
keyValuePair_t *keyPairForm_file = 0;
|
||||
if(file != NULL) {
|
||||
if (file != NULL)
|
||||
{
|
||||
keyForm_file = strdup("file");
|
||||
valueForm_file = file;
|
||||
keyPairForm_file = keyValuePair_create(keyForm_file,
|
||||
&valueForm_file);
|
||||
list_addElement(localVarFormParameters, keyPairForm_file); // file adding
|
||||
keyPairForm_file = keyValuePair_create(keyForm_file, &valueForm_file);
|
||||
list_addElement(localVarFormParameters,keyPairForm_file); //file adding
|
||||
}
|
||||
list_addElement(localVarHeaderType, "application/json"); // produces
|
||||
list_addElement(localVarContentType, "multipart/form-data"); // consumes
|
||||
list_addElement(localVarHeaderType,"application/json"); //produces
|
||||
list_addElement(localVarContentType,"multipart/form-data"); //consumes
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
localVarQueryParameters,
|
||||
@ -599,20 +611,19 @@ api_response_t *PetAPI_uploadFile(apiClient_t *apiClient, long petId,
|
||||
localVarBodyParameters,
|
||||
"POST");
|
||||
|
||||
if(apiClient->response_code == 200) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 200) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
// nonprimitive not container
|
||||
//nonprimitive not container
|
||||
cJSON *PetAPIlocalVarJSON = cJSON_Parse(apiClient->dataReceived);
|
||||
api_response_t *elementToReturn = api_response_parseFromJSON(
|
||||
PetAPIlocalVarJSON);
|
||||
api_response_t *elementToReturn = api_response_parseFromJSON(PetAPIlocalVarJSON);
|
||||
cJSON_Delete(PetAPIlocalVarJSON);
|
||||
if(elementToReturn == NULL) {
|
||||
// return 0;
|
||||
}
|
||||
|
||||
// return type
|
||||
if(apiClient->dataReceived) {
|
||||
//return type
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -632,4 +643,6 @@ api_response_t *PetAPI_uploadFile(apiClient_t *apiClient, long petId,
|
||||
return elementToReturn;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
|
@ -10,47 +10,55 @@
|
||||
|
||||
// Add a new pet to the store
|
||||
//
|
||||
void PetAPI_addPet(apiClient_t *apiClient, pet_t *body);
|
||||
void
|
||||
PetAPI_addPet(apiClient_t *apiClient ,pet_t * body);
|
||||
|
||||
|
||||
// Deletes a pet
|
||||
//
|
||||
void PetAPI_deletePet(apiClient_t *apiClient, long petId, char *api_key);
|
||||
void
|
||||
PetAPI_deletePet(apiClient_t *apiClient ,long petId ,char * api_key);
|
||||
|
||||
|
||||
// Finds Pets by status
|
||||
//
|
||||
// Multiple status values can be provided with comma separated strings
|
||||
//
|
||||
list_t *PetAPI_findPetsByStatus(apiClient_t *apiClient, list_t *status);
|
||||
list_t*
|
||||
PetAPI_findPetsByStatus(apiClient_t *apiClient ,list_t * status);
|
||||
|
||||
|
||||
// Finds Pets by tags
|
||||
//
|
||||
// Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||
//
|
||||
list_t *PetAPI_findPetsByTags(apiClient_t *apiClient, list_t *tags);
|
||||
list_t*
|
||||
PetAPI_findPetsByTags(apiClient_t *apiClient ,list_t * tags);
|
||||
|
||||
|
||||
// Find pet by ID
|
||||
//
|
||||
// Returns a single pet
|
||||
//
|
||||
pet_t *PetAPI_getPetById(apiClient_t *apiClient, long petId);
|
||||
pet_t*
|
||||
PetAPI_getPetById(apiClient_t *apiClient ,long petId);
|
||||
|
||||
|
||||
// Update an existing pet
|
||||
//
|
||||
void PetAPI_updatePet(apiClient_t *apiClient, pet_t *body);
|
||||
void
|
||||
PetAPI_updatePet(apiClient_t *apiClient ,pet_t * body);
|
||||
|
||||
|
||||
// Updates a pet in the store with form data
|
||||
//
|
||||
void PetAPI_updatePetWithForm(apiClient_t *apiClient, long petId, char *name,
|
||||
char *status);
|
||||
void
|
||||
PetAPI_updatePetWithForm(apiClient_t *apiClient ,long petId ,char * name ,char * status);
|
||||
|
||||
|
||||
// uploads an image
|
||||
//
|
||||
api_response_t *PetAPI_uploadFile(apiClient_t *apiClient, long petId,
|
||||
char *additionalMetadata, binary_t *file);
|
||||
api_response_t*
|
||||
PetAPI_uploadFile(apiClient_t *apiClient ,long petId ,char * additionalMetadata ,binary_t* file);
|
||||
|
||||
|
||||
|
@ -6,16 +6,18 @@
|
||||
|
||||
#define MAX_BUFFER_LENGTH 4096
|
||||
#define intToStr(dst, src) \
|
||||
do { \
|
||||
char dst[256]; \
|
||||
snprintf(dst, 256, "%ld", (long int) (src)); \
|
||||
} while(0)
|
||||
do {\
|
||||
char dst[256];\
|
||||
snprintf(dst, 256, "%ld", (long int)(src));\
|
||||
}while(0)
|
||||
|
||||
// Delete purchase order by ID
|
||||
//
|
||||
// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||
//
|
||||
void StoreAPI_deleteOrder(apiClient_t *apiClient, char *orderId) {
|
||||
void
|
||||
StoreAPI_deleteOrder(apiClient_t *apiClient ,char * orderId)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -24,22 +26,20 @@ void StoreAPI_deleteOrder(apiClient_t *apiClient, char *orderId) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/store/order/{orderId}") + 1;
|
||||
long sizeOfPath = strlen("/store/order/{orderId}")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/store/order/{orderId}");
|
||||
|
||||
|
||||
// Path Params
|
||||
long sizeOfPathParams_orderId = strlen(orderId) + 3 + strlen(
|
||||
"{ orderId }");
|
||||
long sizeOfPathParams_orderId = strlen(orderId)+3 + strlen("{ orderId }");
|
||||
if(orderId == NULL) {
|
||||
goto end;
|
||||
}
|
||||
char *localVarToReplace_orderId = malloc(sizeOfPathParams_orderId);
|
||||
char* localVarToReplace_orderId = malloc(sizeOfPathParams_orderId);
|
||||
sprintf(localVarToReplace_orderId, "{%s}", "orderId");
|
||||
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_orderId,
|
||||
orderId);
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_orderId, orderId);
|
||||
|
||||
|
||||
apiClient_invoke(apiClient,
|
||||
@ -52,15 +52,15 @@ void StoreAPI_deleteOrder(apiClient_t *apiClient, char *orderId) {
|
||||
localVarBodyParameters,
|
||||
"DELETE");
|
||||
|
||||
if(apiClient->response_code == 400) {
|
||||
printf("%s\n", "Invalid ID supplied");
|
||||
if (apiClient->response_code == 400) {
|
||||
printf("%s\n","Invalid ID supplied");
|
||||
}
|
||||
if(apiClient->response_code == 404) {
|
||||
printf("%s\n", "Order not found");
|
||||
if (apiClient->response_code == 404) {
|
||||
printf("%s\n","Order not found");
|
||||
}
|
||||
// No return type
|
||||
//No return type
|
||||
end:
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -70,13 +70,16 @@ end:
|
||||
|
||||
free(localVarPath);
|
||||
free(localVarToReplace_orderId);
|
||||
|
||||
}
|
||||
|
||||
// Returns pet inventories by status
|
||||
//
|
||||
// Returns a map of status codes to quantities
|
||||
//
|
||||
list_t *StoreAPI_getInventory(apiClient_t *apiClient) {
|
||||
list_t*
|
||||
StoreAPI_getInventory(apiClient_t *apiClient)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -85,13 +88,13 @@ list_t *StoreAPI_getInventory(apiClient_t *apiClient) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/store/inventory") + 1;
|
||||
long sizeOfPath = strlen("/store/inventory")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/store/inventory");
|
||||
|
||||
|
||||
|
||||
list_addElement(localVarHeaderType, "application/json"); // produces
|
||||
list_addElement(localVarHeaderType,"application/json"); //produces
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
localVarQueryParameters,
|
||||
@ -102,23 +105,20 @@ list_t *StoreAPI_getInventory(apiClient_t *apiClient) {
|
||||
localVarBodyParameters,
|
||||
"GET");
|
||||
|
||||
if(apiClient->response_code == 200) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 200) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
// primitive reutrn type not simple
|
||||
//primitive reutrn type not simple
|
||||
cJSON *localVarJSON = cJSON_Parse(apiClient->dataReceived);
|
||||
cJSON *VarJSON;
|
||||
list_t *elementToReturn = list_create();
|
||||
cJSON_ArrayForEach(VarJSON, localVarJSON) {
|
||||
keyValuePair_t *keyPair =
|
||||
keyValuePair_create(strdup(
|
||||
VarJSON->string), cJSON_Print(
|
||||
VarJSON));
|
||||
cJSON_ArrayForEach(VarJSON, localVarJSON){
|
||||
keyValuePair_t *keyPair = keyValuePair_create(strdup(VarJSON->string), cJSON_Print(VarJSON));
|
||||
list_addElement(elementToReturn, keyPair);
|
||||
}
|
||||
cJSON_Delete(localVarJSON);
|
||||
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -130,13 +130,16 @@ list_t *StoreAPI_getInventory(apiClient_t *apiClient) {
|
||||
return elementToReturn;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
// Find purchase order by ID
|
||||
//
|
||||
// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||
//
|
||||
order_t *StoreAPI_getOrderById(apiClient_t *apiClient, long orderId) {
|
||||
order_t*
|
||||
StoreAPI_getOrderById(apiClient_t *apiClient ,long orderId)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -145,31 +148,28 @@ order_t *StoreAPI_getOrderById(apiClient_t *apiClient, long orderId) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/store/order/{orderId}") + 1;
|
||||
long sizeOfPath = strlen("/store/order/{orderId}")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/store/order/{orderId}");
|
||||
|
||||
|
||||
// Path Params
|
||||
long sizeOfPathParams_orderId = sizeof(orderId) + 3 + strlen(
|
||||
"{ orderId }");
|
||||
if(orderId == 0) {
|
||||
long sizeOfPathParams_orderId = sizeof(orderId)+3 + strlen("{ orderId }");
|
||||
if(orderId == 0){
|
||||
goto end;
|
||||
}
|
||||
char *localVarToReplace_orderId = malloc(sizeOfPathParams_orderId);
|
||||
snprintf(localVarToReplace_orderId, sizeOfPathParams_orderId, "{%s}",
|
||||
"orderId");
|
||||
char* localVarToReplace_orderId = malloc(sizeOfPathParams_orderId);
|
||||
snprintf(localVarToReplace_orderId, sizeOfPathParams_orderId, "{%s}", "orderId");
|
||||
|
||||
char localVarBuff_orderId[256];
|
||||
intToStr(localVarBuff_orderId, orderId);
|
||||
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_orderId,
|
||||
localVarBuff_orderId);
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_orderId, localVarBuff_orderId);
|
||||
|
||||
|
||||
|
||||
list_addElement(localVarHeaderType, "application/xml"); // produces
|
||||
list_addElement(localVarHeaderType, "application/json"); // produces
|
||||
list_addElement(localVarHeaderType,"application/xml"); //produces
|
||||
list_addElement(localVarHeaderType,"application/json"); //produces
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
localVarQueryParameters,
|
||||
@ -180,16 +180,16 @@ order_t *StoreAPI_getOrderById(apiClient_t *apiClient, long orderId) {
|
||||
localVarBodyParameters,
|
||||
"GET");
|
||||
|
||||
if(apiClient->response_code == 200) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 200) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
if(apiClient->response_code == 400) {
|
||||
printf("%s\n", "Invalid ID supplied");
|
||||
if (apiClient->response_code == 400) {
|
||||
printf("%s\n","Invalid ID supplied");
|
||||
}
|
||||
if(apiClient->response_code == 404) {
|
||||
printf("%s\n", "Order not found");
|
||||
if (apiClient->response_code == 404) {
|
||||
printf("%s\n","Order not found");
|
||||
}
|
||||
// nonprimitive not container
|
||||
//nonprimitive not container
|
||||
cJSON *StoreAPIlocalVarJSON = cJSON_Parse(apiClient->dataReceived);
|
||||
order_t *elementToReturn = order_parseFromJSON(StoreAPIlocalVarJSON);
|
||||
cJSON_Delete(StoreAPIlocalVarJSON);
|
||||
@ -197,8 +197,8 @@ order_t *StoreAPI_getOrderById(apiClient_t *apiClient, long orderId) {
|
||||
// return 0;
|
||||
}
|
||||
|
||||
// return type
|
||||
if(apiClient->dataReceived) {
|
||||
//return type
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -211,11 +211,14 @@ order_t *StoreAPI_getOrderById(apiClient_t *apiClient, long orderId) {
|
||||
return elementToReturn;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
// Place an order for a pet
|
||||
//
|
||||
order_t *StoreAPI_placeOrder(apiClient_t *apiClient, order_t *body) {
|
||||
order_t*
|
||||
StoreAPI_placeOrder(apiClient_t *apiClient ,order_t * body)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -224,7 +227,7 @@ order_t *StoreAPI_placeOrder(apiClient_t *apiClient, order_t *body) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/store/order") + 1;
|
||||
long sizeOfPath = strlen("/store/order")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/store/order");
|
||||
|
||||
@ -233,14 +236,14 @@ order_t *StoreAPI_placeOrder(apiClient_t *apiClient, order_t *body) {
|
||||
|
||||
// Body Param
|
||||
cJSON *localVarSingleItemJSON_body;
|
||||
if(body != NULL) {
|
||||
// string
|
||||
if (body != NULL)
|
||||
{
|
||||
//string
|
||||
localVarSingleItemJSON_body = order_convertToJSON(body);
|
||||
localVarBodyParameters =
|
||||
cJSON_Print(localVarSingleItemJSON_body);
|
||||
localVarBodyParameters = cJSON_Print(localVarSingleItemJSON_body);
|
||||
}
|
||||
list_addElement(localVarHeaderType, "application/xml"); // produces
|
||||
list_addElement(localVarHeaderType, "application/json"); // produces
|
||||
list_addElement(localVarHeaderType,"application/xml"); //produces
|
||||
list_addElement(localVarHeaderType,"application/json"); //produces
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
localVarQueryParameters,
|
||||
@ -251,13 +254,13 @@ order_t *StoreAPI_placeOrder(apiClient_t *apiClient, order_t *body) {
|
||||
localVarBodyParameters,
|
||||
"POST");
|
||||
|
||||
if(apiClient->response_code == 200) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 200) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
if(apiClient->response_code == 400) {
|
||||
printf("%s\n", "Invalid Order");
|
||||
if (apiClient->response_code == 400) {
|
||||
printf("%s\n","Invalid Order");
|
||||
}
|
||||
// nonprimitive not container
|
||||
//nonprimitive not container
|
||||
cJSON *StoreAPIlocalVarJSON = cJSON_Parse(apiClient->dataReceived);
|
||||
order_t *elementToReturn = order_parseFromJSON(StoreAPIlocalVarJSON);
|
||||
cJSON_Delete(StoreAPIlocalVarJSON);
|
||||
@ -265,8 +268,8 @@ order_t *StoreAPI_placeOrder(apiClient_t *apiClient, order_t *body) {
|
||||
// return 0;
|
||||
}
|
||||
|
||||
// return type
|
||||
if(apiClient->dataReceived) {
|
||||
//return type
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -280,4 +283,6 @@ order_t *StoreAPI_placeOrder(apiClient_t *apiClient, order_t *body) {
|
||||
return elementToReturn;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
|
@ -11,23 +11,29 @@
|
||||
//
|
||||
// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||
//
|
||||
void StoreAPI_deleteOrder(apiClient_t *apiClient, char *orderId);
|
||||
void
|
||||
StoreAPI_deleteOrder(apiClient_t *apiClient ,char * orderId);
|
||||
|
||||
|
||||
// Returns pet inventories by status
|
||||
//
|
||||
// Returns a map of status codes to quantities
|
||||
//
|
||||
list_t *StoreAPI_getInventory(apiClient_t *apiClient);
|
||||
list_t*
|
||||
StoreAPI_getInventory(apiClient_t *apiClient);
|
||||
|
||||
|
||||
// Find purchase order by ID
|
||||
//
|
||||
// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||
//
|
||||
order_t *StoreAPI_getOrderById(apiClient_t *apiClient, long orderId);
|
||||
order_t*
|
||||
StoreAPI_getOrderById(apiClient_t *apiClient ,long orderId);
|
||||
|
||||
|
||||
// Place an order for a pet
|
||||
//
|
||||
order_t *StoreAPI_placeOrder(apiClient_t *apiClient, order_t *body);
|
||||
order_t*
|
||||
StoreAPI_placeOrder(apiClient_t *apiClient ,order_t * body);
|
||||
|
||||
|
||||
|
@ -6,16 +6,18 @@
|
||||
|
||||
#define MAX_BUFFER_LENGTH 4096
|
||||
#define intToStr(dst, src) \
|
||||
do { \
|
||||
char dst[256]; \
|
||||
snprintf(dst, 256, "%ld", (long int) (src)); \
|
||||
} while(0)
|
||||
do {\
|
||||
char dst[256];\
|
||||
snprintf(dst, 256, "%ld", (long int)(src));\
|
||||
}while(0)
|
||||
|
||||
// Create user
|
||||
//
|
||||
// This can only be done by the logged in user.
|
||||
//
|
||||
void UserAPI_createUser(apiClient_t *apiClient, user_t *body) {
|
||||
void
|
||||
UserAPI_createUser(apiClient_t *apiClient ,user_t * body)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -24,7 +26,7 @@ void UserAPI_createUser(apiClient_t *apiClient, user_t *body) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/user") + 1;
|
||||
long sizeOfPath = strlen("/user")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/user");
|
||||
|
||||
@ -33,11 +35,11 @@ void UserAPI_createUser(apiClient_t *apiClient, user_t *body) {
|
||||
|
||||
// Body Param
|
||||
cJSON *localVarSingleItemJSON_body;
|
||||
if(body != NULL) {
|
||||
// string
|
||||
if (body != NULL)
|
||||
{
|
||||
//string
|
||||
localVarSingleItemJSON_body = user_convertToJSON(body);
|
||||
localVarBodyParameters =
|
||||
cJSON_Print(localVarSingleItemJSON_body);
|
||||
localVarBodyParameters = cJSON_Print(localVarSingleItemJSON_body);
|
||||
}
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
@ -49,12 +51,12 @@ void UserAPI_createUser(apiClient_t *apiClient, user_t *body) {
|
||||
localVarBodyParameters,
|
||||
"POST");
|
||||
|
||||
if(apiClient->response_code == 0) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 0) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
// No return type
|
||||
//No return type
|
||||
end:
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -65,11 +67,14 @@ end:
|
||||
free(localVarPath);
|
||||
cJSON_Delete(localVarSingleItemJSON_body);
|
||||
free(localVarBodyParameters);
|
||||
|
||||
}
|
||||
|
||||
// Creates list of users with given input array
|
||||
//
|
||||
void UserAPI_createUsersWithArrayInput(apiClient_t *apiClient, list_t *body) {
|
||||
void
|
||||
UserAPI_createUsersWithArrayInput(apiClient_t *apiClient ,list_t * body)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -78,7 +83,7 @@ void UserAPI_createUsersWithArrayInput(apiClient_t *apiClient, list_t *body) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/user/createWithArray") + 1;
|
||||
long sizeOfPath = strlen("/user/createWithArray")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/user/createWithArray");
|
||||
|
||||
@ -86,15 +91,16 @@ void UserAPI_createUsersWithArrayInput(apiClient_t *apiClient, list_t *body) {
|
||||
|
||||
|
||||
// Body Param
|
||||
// notstring
|
||||
//notstring
|
||||
cJSON *localVar_body;
|
||||
cJSON *localVarItemJSON_body;
|
||||
cJSON *localVarSingleItemJSON_body;
|
||||
if(body != NULL) {
|
||||
if (body != NULL)
|
||||
{
|
||||
localVarItemJSON_body = cJSON_CreateObject();
|
||||
localVarSingleItemJSON_body = cJSON_AddArrayToObject(
|
||||
localVarItemJSON_body, "body");
|
||||
if(localVarSingleItemJSON_body == NULL) {
|
||||
localVarSingleItemJSON_body = cJSON_AddArrayToObject(localVarItemJSON_body, "body");
|
||||
if (localVarSingleItemJSON_body == NULL)
|
||||
{
|
||||
// nonprimitive container
|
||||
|
||||
goto end;
|
||||
@ -105,11 +111,11 @@ void UserAPI_createUsersWithArrayInput(apiClient_t *apiClient, list_t *body) {
|
||||
list_ForEach(bodyBodyListEntry, body)
|
||||
{
|
||||
localVar_body = user_convertToJSON(bodyBodyListEntry->data);
|
||||
if(localVar_body == NULL) {
|
||||
if(localVar_body == NULL)
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(localVarSingleItemJSON_body,
|
||||
localVar_body);
|
||||
cJSON_AddItemToArray(localVarSingleItemJSON_body, localVar_body);
|
||||
localVarBodyParameters = cJSON_Print(localVarItemJSON_body);
|
||||
}
|
||||
apiClient_invoke(apiClient,
|
||||
@ -122,12 +128,12 @@ void UserAPI_createUsersWithArrayInput(apiClient_t *apiClient, list_t *body) {
|
||||
localVarBodyParameters,
|
||||
"POST");
|
||||
|
||||
if(apiClient->response_code == 0) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 0) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
// No return type
|
||||
//No return type
|
||||
end:
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -140,11 +146,14 @@ end:
|
||||
cJSON_Delete(localVarSingleItemJSON_body);
|
||||
cJSON_Delete(localVar_body);
|
||||
free(localVarBodyParameters);
|
||||
|
||||
}
|
||||
|
||||
// Creates list of users with given input array
|
||||
//
|
||||
void UserAPI_createUsersWithListInput(apiClient_t *apiClient, list_t *body) {
|
||||
void
|
||||
UserAPI_createUsersWithListInput(apiClient_t *apiClient ,list_t * body)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -153,7 +162,7 @@ void UserAPI_createUsersWithListInput(apiClient_t *apiClient, list_t *body) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/user/createWithList") + 1;
|
||||
long sizeOfPath = strlen("/user/createWithList")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/user/createWithList");
|
||||
|
||||
@ -161,15 +170,16 @@ void UserAPI_createUsersWithListInput(apiClient_t *apiClient, list_t *body) {
|
||||
|
||||
|
||||
// Body Param
|
||||
// notstring
|
||||
//notstring
|
||||
cJSON *localVar_body;
|
||||
cJSON *localVarItemJSON_body;
|
||||
cJSON *localVarSingleItemJSON_body;
|
||||
if(body != NULL) {
|
||||
if (body != NULL)
|
||||
{
|
||||
localVarItemJSON_body = cJSON_CreateObject();
|
||||
localVarSingleItemJSON_body = cJSON_AddArrayToObject(
|
||||
localVarItemJSON_body, "body");
|
||||
if(localVarSingleItemJSON_body == NULL) {
|
||||
localVarSingleItemJSON_body = cJSON_AddArrayToObject(localVarItemJSON_body, "body");
|
||||
if (localVarSingleItemJSON_body == NULL)
|
||||
{
|
||||
// nonprimitive container
|
||||
|
||||
goto end;
|
||||
@ -180,11 +190,11 @@ void UserAPI_createUsersWithListInput(apiClient_t *apiClient, list_t *body) {
|
||||
list_ForEach(bodyBodyListEntry, body)
|
||||
{
|
||||
localVar_body = user_convertToJSON(bodyBodyListEntry->data);
|
||||
if(localVar_body == NULL) {
|
||||
if(localVar_body == NULL)
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(localVarSingleItemJSON_body,
|
||||
localVar_body);
|
||||
cJSON_AddItemToArray(localVarSingleItemJSON_body, localVar_body);
|
||||
localVarBodyParameters = cJSON_Print(localVarItemJSON_body);
|
||||
}
|
||||
apiClient_invoke(apiClient,
|
||||
@ -197,12 +207,12 @@ void UserAPI_createUsersWithListInput(apiClient_t *apiClient, list_t *body) {
|
||||
localVarBodyParameters,
|
||||
"POST");
|
||||
|
||||
if(apiClient->response_code == 0) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 0) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
// No return type
|
||||
//No return type
|
||||
end:
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -215,13 +225,16 @@ end:
|
||||
cJSON_Delete(localVarSingleItemJSON_body);
|
||||
cJSON_Delete(localVar_body);
|
||||
free(localVarBodyParameters);
|
||||
|
||||
}
|
||||
|
||||
// Delete user
|
||||
//
|
||||
// This can only be done by the logged in user.
|
||||
//
|
||||
void UserAPI_deleteUser(apiClient_t *apiClient, char *username) {
|
||||
void
|
||||
UserAPI_deleteUser(apiClient_t *apiClient ,char * username)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -230,22 +243,20 @@ void UserAPI_deleteUser(apiClient_t *apiClient, char *username) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/user/{username}") + 1;
|
||||
long sizeOfPath = strlen("/user/{username}")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/user/{username}");
|
||||
|
||||
|
||||
// Path Params
|
||||
long sizeOfPathParams_username = strlen(username) + 3 + strlen(
|
||||
"{ username }");
|
||||
long sizeOfPathParams_username = strlen(username)+3 + strlen("{ username }");
|
||||
if(username == NULL) {
|
||||
goto end;
|
||||
}
|
||||
char *localVarToReplace_username = malloc(sizeOfPathParams_username);
|
||||
char* localVarToReplace_username = malloc(sizeOfPathParams_username);
|
||||
sprintf(localVarToReplace_username, "{%s}", "username");
|
||||
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_username,
|
||||
username);
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_username, username);
|
||||
|
||||
|
||||
apiClient_invoke(apiClient,
|
||||
@ -258,15 +269,15 @@ void UserAPI_deleteUser(apiClient_t *apiClient, char *username) {
|
||||
localVarBodyParameters,
|
||||
"DELETE");
|
||||
|
||||
if(apiClient->response_code == 400) {
|
||||
printf("%s\n", "Invalid username supplied");
|
||||
if (apiClient->response_code == 400) {
|
||||
printf("%s\n","Invalid username supplied");
|
||||
}
|
||||
if(apiClient->response_code == 404) {
|
||||
printf("%s\n", "User not found");
|
||||
if (apiClient->response_code == 404) {
|
||||
printf("%s\n","User not found");
|
||||
}
|
||||
// No return type
|
||||
//No return type
|
||||
end:
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -276,11 +287,14 @@ end:
|
||||
|
||||
free(localVarPath);
|
||||
free(localVarToReplace_username);
|
||||
|
||||
}
|
||||
|
||||
// Get user by user name
|
||||
//
|
||||
user_t *UserAPI_getUserByName(apiClient_t *apiClient, char *username) {
|
||||
user_t*
|
||||
UserAPI_getUserByName(apiClient_t *apiClient ,char * username)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -289,26 +303,24 @@ user_t *UserAPI_getUserByName(apiClient_t *apiClient, char *username) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/user/{username}") + 1;
|
||||
long sizeOfPath = strlen("/user/{username}")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/user/{username}");
|
||||
|
||||
|
||||
// Path Params
|
||||
long sizeOfPathParams_username = strlen(username) + 3 + strlen(
|
||||
"{ username }");
|
||||
long sizeOfPathParams_username = strlen(username)+3 + strlen("{ username }");
|
||||
if(username == NULL) {
|
||||
goto end;
|
||||
}
|
||||
char *localVarToReplace_username = malloc(sizeOfPathParams_username);
|
||||
char* localVarToReplace_username = malloc(sizeOfPathParams_username);
|
||||
sprintf(localVarToReplace_username, "{%s}", "username");
|
||||
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_username,
|
||||
username);
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_username, username);
|
||||
|
||||
|
||||
list_addElement(localVarHeaderType, "application/xml"); // produces
|
||||
list_addElement(localVarHeaderType, "application/json"); // produces
|
||||
list_addElement(localVarHeaderType,"application/xml"); //produces
|
||||
list_addElement(localVarHeaderType,"application/json"); //produces
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
localVarQueryParameters,
|
||||
@ -319,16 +331,16 @@ user_t *UserAPI_getUserByName(apiClient_t *apiClient, char *username) {
|
||||
localVarBodyParameters,
|
||||
"GET");
|
||||
|
||||
if(apiClient->response_code == 200) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 200) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
if(apiClient->response_code == 400) {
|
||||
printf("%s\n", "Invalid username supplied");
|
||||
if (apiClient->response_code == 400) {
|
||||
printf("%s\n","Invalid username supplied");
|
||||
}
|
||||
if(apiClient->response_code == 404) {
|
||||
printf("%s\n", "User not found");
|
||||
if (apiClient->response_code == 404) {
|
||||
printf("%s\n","User not found");
|
||||
}
|
||||
// nonprimitive not container
|
||||
//nonprimitive not container
|
||||
cJSON *UserAPIlocalVarJSON = cJSON_Parse(apiClient->dataReceived);
|
||||
user_t *elementToReturn = user_parseFromJSON(UserAPIlocalVarJSON);
|
||||
cJSON_Delete(UserAPIlocalVarJSON);
|
||||
@ -336,8 +348,8 @@ user_t *UserAPI_getUserByName(apiClient_t *apiClient, char *username) {
|
||||
// return 0;
|
||||
}
|
||||
|
||||
// return type
|
||||
if(apiClient->dataReceived) {
|
||||
//return type
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -350,12 +362,14 @@ user_t *UserAPI_getUserByName(apiClient_t *apiClient, char *username) {
|
||||
return elementToReturn;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
// Logs user into the system
|
||||
//
|
||||
char *UserAPI_loginUser(apiClient_t *apiClient, char *username,
|
||||
char *password) {
|
||||
char*
|
||||
UserAPI_loginUser(apiClient_t *apiClient ,char * username ,char * password)
|
||||
{
|
||||
list_t *localVarQueryParameters = list_create();
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -364,7 +378,7 @@ char *UserAPI_loginUser(apiClient_t *apiClient, char *username,
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/user/login") + 1;
|
||||
long sizeOfPath = strlen("/user/login")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/user/login");
|
||||
|
||||
@ -373,29 +387,29 @@ char *UserAPI_loginUser(apiClient_t *apiClient, char *username,
|
||||
|
||||
// query parameters
|
||||
char *keyQuery_username;
|
||||
char *valueQuery_username;
|
||||
char * valueQuery_username;
|
||||
keyValuePair_t *keyPairQuery_username = 0;
|
||||
if(username) {
|
||||
if (username)
|
||||
{
|
||||
keyQuery_username = strdup("username");
|
||||
valueQuery_username = strdup((username));
|
||||
keyPairQuery_username = keyValuePair_create(keyQuery_username,
|
||||
valueQuery_username);
|
||||
list_addElement(localVarQueryParameters, keyPairQuery_username);
|
||||
keyPairQuery_username = keyValuePair_create(keyQuery_username, valueQuery_username);
|
||||
list_addElement(localVarQueryParameters,keyPairQuery_username);
|
||||
}
|
||||
|
||||
// query parameters
|
||||
char *keyQuery_password;
|
||||
char *valueQuery_password;
|
||||
char * valueQuery_password;
|
||||
keyValuePair_t *keyPairQuery_password = 0;
|
||||
if(password) {
|
||||
if (password)
|
||||
{
|
||||
keyQuery_password = strdup("password");
|
||||
valueQuery_password = strdup((password));
|
||||
keyPairQuery_password = keyValuePair_create(keyQuery_password,
|
||||
valueQuery_password);
|
||||
list_addElement(localVarQueryParameters, keyPairQuery_password);
|
||||
keyPairQuery_password = keyValuePair_create(keyQuery_password, valueQuery_password);
|
||||
list_addElement(localVarQueryParameters,keyPairQuery_password);
|
||||
}
|
||||
list_addElement(localVarHeaderType, "application/xml"); // produces
|
||||
list_addElement(localVarHeaderType, "application/json"); // produces
|
||||
list_addElement(localVarHeaderType,"application/xml"); //produces
|
||||
list_addElement(localVarHeaderType,"application/json"); //produces
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
localVarQueryParameters,
|
||||
@ -406,16 +420,16 @@ char *UserAPI_loginUser(apiClient_t *apiClient, char *username,
|
||||
localVarBodyParameters,
|
||||
"GET");
|
||||
|
||||
if(apiClient->response_code == 200) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 200) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
if(apiClient->response_code == 400) {
|
||||
printf("%s\n", "Invalid username/password supplied");
|
||||
if (apiClient->response_code == 400) {
|
||||
printf("%s\n","Invalid username/password supplied");
|
||||
}
|
||||
// primitive reutrn type simple
|
||||
char *elementToReturn = strdup((char *) apiClient->dataReceived);
|
||||
//primitive reutrn type simple
|
||||
char* elementToReturn = strdup((char*)apiClient->dataReceived);
|
||||
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
list_free(localVarQueryParameters);
|
||||
@ -433,11 +447,14 @@ char *UserAPI_loginUser(apiClient_t *apiClient, char *username,
|
||||
return elementToReturn;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
// Logs out current logged in user session
|
||||
//
|
||||
void UserAPI_logoutUser(apiClient_t *apiClient) {
|
||||
void
|
||||
UserAPI_logoutUser(apiClient_t *apiClient)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -446,7 +463,7 @@ void UserAPI_logoutUser(apiClient_t *apiClient) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/user/logout") + 1;
|
||||
long sizeOfPath = strlen("/user/logout")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/user/logout");
|
||||
|
||||
@ -462,12 +479,12 @@ void UserAPI_logoutUser(apiClient_t *apiClient) {
|
||||
localVarBodyParameters,
|
||||
"GET");
|
||||
|
||||
if(apiClient->response_code == 0) {
|
||||
printf("%s\n", "successful operation");
|
||||
if (apiClient->response_code == 0) {
|
||||
printf("%s\n","successful operation");
|
||||
}
|
||||
// No return type
|
||||
//No return type
|
||||
end:
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -476,13 +493,16 @@ end:
|
||||
|
||||
|
||||
free(localVarPath);
|
||||
|
||||
}
|
||||
|
||||
// Updated user
|
||||
//
|
||||
// This can only be done by the logged in user.
|
||||
//
|
||||
void UserAPI_updateUser(apiClient_t *apiClient, char *username, user_t *body) {
|
||||
void
|
||||
UserAPI_updateUser(apiClient_t *apiClient ,char * username ,user_t * body)
|
||||
{
|
||||
list_t *localVarQueryParameters = NULL;
|
||||
list_t *localVarHeaderParameters = NULL;
|
||||
list_t *localVarFormParameters = NULL;
|
||||
@ -491,32 +511,30 @@ void UserAPI_updateUser(apiClient_t *apiClient, char *username, user_t *body) {
|
||||
char *localVarBodyParameters = NULL;
|
||||
|
||||
// create the path
|
||||
long sizeOfPath = strlen("/user/{username}") + 1;
|
||||
long sizeOfPath = strlen("/user/{username}")+1;
|
||||
char *localVarPath = malloc(sizeOfPath);
|
||||
snprintf(localVarPath, sizeOfPath, "/user/{username}");
|
||||
|
||||
|
||||
// Path Params
|
||||
long sizeOfPathParams_username = strlen(username) + 3 + strlen(
|
||||
"{ username }");
|
||||
long sizeOfPathParams_username = strlen(username)+3 + strlen("{ username }");
|
||||
if(username == NULL) {
|
||||
goto end;
|
||||
}
|
||||
char *localVarToReplace_username = malloc(sizeOfPathParams_username);
|
||||
char* localVarToReplace_username = malloc(sizeOfPathParams_username);
|
||||
sprintf(localVarToReplace_username, "{%s}", "username");
|
||||
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_username,
|
||||
username);
|
||||
localVarPath = strReplace(localVarPath, localVarToReplace_username, username);
|
||||
|
||||
|
||||
|
||||
// Body Param
|
||||
cJSON *localVarSingleItemJSON_body;
|
||||
if(body != NULL) {
|
||||
// string
|
||||
if (body != NULL)
|
||||
{
|
||||
//string
|
||||
localVarSingleItemJSON_body = user_convertToJSON(body);
|
||||
localVarBodyParameters =
|
||||
cJSON_Print(localVarSingleItemJSON_body);
|
||||
localVarBodyParameters = cJSON_Print(localVarSingleItemJSON_body);
|
||||
}
|
||||
apiClient_invoke(apiClient,
|
||||
localVarPath,
|
||||
@ -528,15 +546,15 @@ void UserAPI_updateUser(apiClient_t *apiClient, char *username, user_t *body) {
|
||||
localVarBodyParameters,
|
||||
"PUT");
|
||||
|
||||
if(apiClient->response_code == 400) {
|
||||
printf("%s\n", "Invalid user supplied");
|
||||
if (apiClient->response_code == 400) {
|
||||
printf("%s\n","Invalid user supplied");
|
||||
}
|
||||
if(apiClient->response_code == 404) {
|
||||
printf("%s\n", "User not found");
|
||||
if (apiClient->response_code == 404) {
|
||||
printf("%s\n","User not found");
|
||||
}
|
||||
// No return type
|
||||
//No return type
|
||||
end:
|
||||
if(apiClient->dataReceived) {
|
||||
if (apiClient->dataReceived) {
|
||||
free(apiClient->dataReceived);
|
||||
}
|
||||
|
||||
@ -548,4 +566,6 @@ end:
|
||||
free(localVarToReplace_username);
|
||||
cJSON_Delete(localVarSingleItemJSON_body);
|
||||
free(localVarBodyParameters);
|
||||
|
||||
}
|
||||
|
||||
|
@ -11,43 +11,53 @@
|
||||
//
|
||||
// This can only be done by the logged in user.
|
||||
//
|
||||
void UserAPI_createUser(apiClient_t *apiClient, user_t *body);
|
||||
void
|
||||
UserAPI_createUser(apiClient_t *apiClient ,user_t * body);
|
||||
|
||||
|
||||
// Creates list of users with given input array
|
||||
//
|
||||
void UserAPI_createUsersWithArrayInput(apiClient_t *apiClient, list_t *body);
|
||||
void
|
||||
UserAPI_createUsersWithArrayInput(apiClient_t *apiClient ,list_t * body);
|
||||
|
||||
|
||||
// Creates list of users with given input array
|
||||
//
|
||||
void UserAPI_createUsersWithListInput(apiClient_t *apiClient, list_t *body);
|
||||
void
|
||||
UserAPI_createUsersWithListInput(apiClient_t *apiClient ,list_t * body);
|
||||
|
||||
|
||||
// Delete user
|
||||
//
|
||||
// This can only be done by the logged in user.
|
||||
//
|
||||
void UserAPI_deleteUser(apiClient_t *apiClient, char *username);
|
||||
void
|
||||
UserAPI_deleteUser(apiClient_t *apiClient ,char * username);
|
||||
|
||||
|
||||
// Get user by user name
|
||||
//
|
||||
user_t *UserAPI_getUserByName(apiClient_t *apiClient, char *username);
|
||||
user_t*
|
||||
UserAPI_getUserByName(apiClient_t *apiClient ,char * username);
|
||||
|
||||
|
||||
// Logs user into the system
|
||||
//
|
||||
char *UserAPI_loginUser(apiClient_t *apiClient, char *username, char *password);
|
||||
char*
|
||||
UserAPI_loginUser(apiClient_t *apiClient ,char * username ,char * password);
|
||||
|
||||
|
||||
// Logs out current logged in user session
|
||||
//
|
||||
void UserAPI_logoutUser(apiClient_t *apiClient);
|
||||
void
|
||||
UserAPI_logoutUser(apiClient_t *apiClient);
|
||||
|
||||
|
||||
// Updated user
|
||||
//
|
||||
// This can only be done by the logged in user.
|
||||
//
|
||||
void UserAPI_updateUser(apiClient_t *apiClient, char *username, user_t *body);
|
||||
void
|
||||
UserAPI_updateUser(apiClient_t *apiClient ,char * username ,user_t * body);
|
||||
|
||||
|
||||
|
1597
samples/client/petstore/c/external/cJSON.c
vendored
1597
samples/client/petstore/c/external/cJSON.c
vendored
File diff suppressed because it is too large
Load Diff
198
samples/client/petstore/c/external/cJSON.h
vendored
198
samples/client/petstore/c/external/cJSON.h
vendored
@ -18,7 +18,7 @@
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
*/
|
||||
|
||||
#ifndef cJSON__h
|
||||
#define cJSON__h
|
||||
@ -50,7 +50,8 @@ extern "C"
|
||||
#define cJSON_StringIsConst 512
|
||||
|
||||
/* The cJSON structure: */
|
||||
typedef struct cJSON {
|
||||
typedef struct cJSON
|
||||
{
|
||||
/* next/prev allow you to walk array/object chains. Alternatively, use GetArraySize/GetArrayItem/GetObjectItem */
|
||||
struct cJSON *next;
|
||||
struct cJSON *prev;
|
||||
@ -71,44 +72,39 @@ typedef struct cJSON {
|
||||
char *string;
|
||||
} cJSON;
|
||||
|
||||
typedef struct cJSON_Hooks {
|
||||
typedef struct cJSON_Hooks
|
||||
{
|
||||
void *(*malloc_fn)(size_t sz);
|
||||
void (*free_fn)(void *ptr);
|
||||
} cJSON_Hooks;
|
||||
|
||||
typedef int cJSON_bool;
|
||||
|
||||
#if !defined(__WINDOWS__) && \
|
||||
(defined(WIN32) || \
|
||||
defined(WIN64) || \
|
||||
defined(_MSC_VER) || \
|
||||
defined(_WIN32))
|
||||
#if !defined(__WINDOWS__) && (defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32))
|
||||
#define __WINDOWS__
|
||||
#endif
|
||||
#ifdef __WINDOWS__
|
||||
|
||||
/* When compiling for windows, we specify a specific calling convention to avoid issues where we are being called from a project with a different default calling convention. For windows you have 2 define options:
|
||||
|
||||
CJSON_HIDE_SYMBOLS - Define this in the case where you don't want to ever dllexport symbols
|
||||
CJSON_EXPORT_SYMBOLS - Define this on library build when you want to dllexport symbols (default)
|
||||
CJSON_IMPORT_SYMBOLS - Define this if you want to dllimport symbol
|
||||
CJSON_HIDE_SYMBOLS - Define this in the case where you don't want to ever dllexport symbols
|
||||
CJSON_EXPORT_SYMBOLS - Define this on library build when you want to dllexport symbols (default)
|
||||
CJSON_IMPORT_SYMBOLS - Define this if you want to dllimport symbol
|
||||
|
||||
For *nix builds that support visibility attribute, you can define similar behavior by
|
||||
For *nix builds that support visibility attribute, you can define similar behavior by
|
||||
|
||||
setting default visibility to hidden by adding
|
||||
-fvisibility=hidden (for gcc)
|
||||
or
|
||||
-xldscope=hidden (for sun cc)
|
||||
to CFLAGS
|
||||
setting default visibility to hidden by adding
|
||||
-fvisibility=hidden (for gcc)
|
||||
or
|
||||
-xldscope=hidden (for sun cc)
|
||||
to CFLAGS
|
||||
|
||||
then using the CJSON_API_VISIBILITY flag to "export" the same symbols the way CJSON_EXPORT_SYMBOLS does
|
||||
then using the CJSON_API_VISIBILITY flag to "export" the same symbols the way CJSON_EXPORT_SYMBOLS does
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
/* export symbols by default, this is necessary for copy pasting the C and header file */
|
||||
#if !defined(CJSON_HIDE_SYMBOLS) && \
|
||||
!defined(CJSON_IMPORT_SYMBOLS) && \
|
||||
!defined(CJSON_EXPORT_SYMBOLS)
|
||||
#if !defined(CJSON_HIDE_SYMBOLS) && !defined(CJSON_IMPORT_SYMBOLS) && !defined(CJSON_EXPORT_SYMBOLS)
|
||||
#define CJSON_EXPORT_SYMBOLS
|
||||
#endif
|
||||
|
||||
@ -120,10 +116,7 @@ typedef int cJSON_bool;
|
||||
#define CJSON_PUBLIC(type) __declspec(dllimport) type __stdcall
|
||||
#endif
|
||||
#else /* !WIN32 */
|
||||
#if (defined(__GNUC__) || \
|
||||
defined(__SUNPRO_CC) || \
|
||||
defined(__SUNPRO_C)) && \
|
||||
defined(CJSON_API_VISIBILITY)
|
||||
#if (defined(__GNUC__) || defined(__SUNPRO_CC) || defined (__SUNPRO_C)) && defined(CJSON_API_VISIBILITY)
|
||||
#define CJSON_PUBLIC(type) __attribute__((visibility("default"))) type
|
||||
#else
|
||||
#define CJSON_PUBLIC(type) type
|
||||
@ -137,51 +130,43 @@ typedef int cJSON_bool;
|
||||
#endif
|
||||
|
||||
/* returns the version of cJSON as a string */
|
||||
CJSON_PUBLIC(const char *) cJSON_Version(void);
|
||||
CJSON_PUBLIC(const char*) cJSON_Version(void);
|
||||
|
||||
/* Supply malloc, realloc and free functions to cJSON */
|
||||
CJSON_PUBLIC(void) cJSON_InitHooks(cJSON_Hooks * hooks);
|
||||
CJSON_PUBLIC(void) cJSON_InitHooks(cJSON_Hooks* hooks);
|
||||
|
||||
/* Memory Management: the caller is always responsible to free the results from all variants of cJSON_Parse (with cJSON_Delete) and cJSON_Print (with stdlib free, cJSON_Hooks.free_fn, or cJSON_free as appropriate). The exception is cJSON_PrintPreallocated, where the caller has full responsibility of the buffer. */
|
||||
/* Supply a block of JSON, and this returns a cJSON object you can interrogate. */
|
||||
CJSON_PUBLIC(cJSON *) cJSON_Parse(const char *value);
|
||||
/* ParseWithOpts allows you to require (and check) that the JSON is null terminated, and to retrieve the pointer to the final byte parsed. */
|
||||
/* If you supply a ptr in return_parse_end and parsing fails, then return_parse_end will contain a pointer to the error so will match cJSON_GetErrorPtr(). */
|
||||
CJSON_PUBLIC(cJSON *) cJSON_ParseWithOpts(const char *value,
|
||||
const char **return_parse_end,
|
||||
cJSON_bool require_null_terminated);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_ParseWithOpts(const char *value, const char **return_parse_end, cJSON_bool require_null_terminated);
|
||||
|
||||
/* Render a cJSON entity to text for transfer/storage. */
|
||||
CJSON_PUBLIC(char *) cJSON_Print(const cJSON * item);
|
||||
CJSON_PUBLIC(char *) cJSON_Print(const cJSON *item);
|
||||
/* Render a cJSON entity to text for transfer/storage without any formatting. */
|
||||
CJSON_PUBLIC(char *) cJSON_PrintUnformatted(const cJSON * item);
|
||||
CJSON_PUBLIC(char *) cJSON_PrintUnformatted(const cJSON *item);
|
||||
/* Render a cJSON entity to text using a buffered strategy. prebuffer is a guess at the final size. guessing well reduces reallocation. fmt=0 gives unformatted, =1 gives formatted */
|
||||
CJSON_PUBLIC(char *) cJSON_PrintBuffered(const cJSON * item, int prebuffer,
|
||||
cJSON_bool fmt);
|
||||
CJSON_PUBLIC(char *) cJSON_PrintBuffered(const cJSON *item, int prebuffer, cJSON_bool fmt);
|
||||
/* Render a cJSON entity to text using a buffer already allocated in memory with given length. Returns 1 on success and 0 on failure. */
|
||||
/* NOTE: cJSON is not always 100% accurate in estimating how much memory it will use, so to be safe allocate 5 bytes more than you actually need */
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_PrintPreallocated(cJSON * item, char *buffer,
|
||||
const int length,
|
||||
const cJSON_bool format);
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_PrintPreallocated(cJSON *item, char *buffer, const int length, const cJSON_bool format);
|
||||
/* Delete a cJSON entity and all subentities. */
|
||||
CJSON_PUBLIC(void) cJSON_Delete(cJSON * c);
|
||||
CJSON_PUBLIC(void) cJSON_Delete(cJSON *c);
|
||||
|
||||
/* Returns the number of items in an array (or object). */
|
||||
CJSON_PUBLIC(int) cJSON_GetArraySize(const cJSON * array);
|
||||
CJSON_PUBLIC(int) cJSON_GetArraySize(const cJSON *array);
|
||||
/* Retrieve item number "index" from array "array". Returns NULL if unsuccessful. */
|
||||
CJSON_PUBLIC(cJSON *) cJSON_GetArrayItem(const cJSON * array, int index);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_GetArrayItem(const cJSON *array, int index);
|
||||
/* Get item "string" from object. Case insensitive. */
|
||||
CJSON_PUBLIC(cJSON *) cJSON_GetObjectItem(const cJSON * const object,
|
||||
const char *const string);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_GetObjectItemCaseSensitive(
|
||||
const cJSON * const object, const char *const string);
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_HasObjectItem(const cJSON * object,
|
||||
const char *string);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_GetObjectItem(const cJSON * const object, const char * const string);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_GetObjectItemCaseSensitive(const cJSON * const object, const char * const string);
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_HasObjectItem(const cJSON *object, const char *string);
|
||||
/* For analysing failed parses. This returns a pointer to the parse error. You'll probably need to look a few chars back to make sense of it. Defined when cJSON_Parse() returns 0. 0 when cJSON_Parse() succeeds. */
|
||||
CJSON_PUBLIC(const char *) cJSON_GetErrorPtr(void);
|
||||
|
||||
/* Check if the item is a string and return its valuestring */
|
||||
CJSON_PUBLIC(char *) cJSON_GetStringValue(cJSON * item);
|
||||
CJSON_PUBLIC(char *) cJSON_GetStringValue(cJSON *item);
|
||||
|
||||
/* These functions check the type of an item */
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_IsInvalid(const cJSON * const item);
|
||||
@ -212,8 +197,8 @@ CJSON_PUBLIC(cJSON *) cJSON_CreateObject(void);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_CreateStringReference(const char *string);
|
||||
/* Create an object/arrray that only references it's elements so
|
||||
* they will not be freed by cJSON_Delete */
|
||||
CJSON_PUBLIC(cJSON *) cJSON_CreateObjectReference(const cJSON * child);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_CreateArrayReference(const cJSON * child);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_CreateObjectReference(const cJSON *child);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_CreateArrayReference(const cJSON *child);
|
||||
|
||||
/* These utilities create an Array of count items. */
|
||||
CJSON_PUBLIC(cJSON *) cJSON_CreateIntArray(const int *numbers, int count);
|
||||
@ -222,109 +207,64 @@ CJSON_PUBLIC(cJSON *) cJSON_CreateDoubleArray(const double *numbers, int count);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_CreateStringArray(const char **strings, int count);
|
||||
|
||||
/* Append item to the specified array/object. */
|
||||
CJSON_PUBLIC(void) cJSON_AddItemToArray(cJSON * array, cJSON * item);
|
||||
CJSON_PUBLIC(void) cJSON_AddItemToObject(cJSON * object, const char *string,
|
||||
cJSON * item);
|
||||
CJSON_PUBLIC(void) cJSON_AddItemToArray(cJSON *array, cJSON *item);
|
||||
CJSON_PUBLIC(void) cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item);
|
||||
/* Use this when string is definitely const (i.e. a literal, or as good as), and will definitely survive the cJSON object.
|
||||
* WARNING: When this function was used, make sure to always check that (item->type & cJSON_StringIsConst) is zero before
|
||||
* writing to `item->string` */
|
||||
CJSON_PUBLIC(void) cJSON_AddItemToObjectCS(cJSON * object, const char *string,
|
||||
cJSON * item);
|
||||
CJSON_PUBLIC(void) cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJSON *item);
|
||||
/* Append reference to item to the specified array/object. Use this when you want to add an existing cJSON to a new cJSON, but don't want to corrupt your existing cJSON. */
|
||||
CJSON_PUBLIC(void) cJSON_AddItemReferenceToArray(cJSON * array, cJSON * item);
|
||||
CJSON_PUBLIC(void) cJSON_AddItemReferenceToObject(cJSON * object,
|
||||
const char *string,
|
||||
cJSON * item);
|
||||
CJSON_PUBLIC(void) cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item);
|
||||
CJSON_PUBLIC(void) cJSON_AddItemReferenceToObject(cJSON *object, const char *string, cJSON *item);
|
||||
|
||||
/* Remove/Detatch items from Arrays/Objects. */
|
||||
CJSON_PUBLIC(cJSON *) cJSON_DetachItemViaPointer(cJSON * parent,
|
||||
cJSON * const item);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromArray(cJSON * array, int which);
|
||||
CJSON_PUBLIC(void) cJSON_DeleteItemFromArray(cJSON * array, int which);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObject(cJSON * object,
|
||||
const char *string);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObjectCaseSensitive(cJSON * object,
|
||||
const char *string);
|
||||
CJSON_PUBLIC(void) cJSON_DeleteItemFromObject(cJSON * object,
|
||||
const char *string);
|
||||
CJSON_PUBLIC(void) cJSON_DeleteItemFromObjectCaseSensitive(cJSON * object,
|
||||
const char *string);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_DetachItemViaPointer(cJSON *parent, cJSON * const item);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromArray(cJSON *array, int which);
|
||||
CJSON_PUBLIC(void) cJSON_DeleteItemFromArray(cJSON *array, int which);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObject(cJSON *object, const char *string);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObjectCaseSensitive(cJSON *object, const char *string);
|
||||
CJSON_PUBLIC(void) cJSON_DeleteItemFromObject(cJSON *object, const char *string);
|
||||
CJSON_PUBLIC(void) cJSON_DeleteItemFromObjectCaseSensitive(cJSON *object, const char *string);
|
||||
|
||||
/* Update array items. */
|
||||
CJSON_PUBLIC(void) cJSON_InsertItemInArray(cJSON * array, int which,
|
||||
cJSON * newitem); /* Shifts pre-existing items to the right. */
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemViaPointer(cJSON * const parent,
|
||||
cJSON * const item,
|
||||
cJSON * replacement);
|
||||
CJSON_PUBLIC(void) cJSON_ReplaceItemInArray(cJSON * array, int which,
|
||||
cJSON * newitem);
|
||||
CJSON_PUBLIC(void) cJSON_ReplaceItemInObject(cJSON * object, const char *string,
|
||||
cJSON * newitem);
|
||||
CJSON_PUBLIC(void) cJSON_ReplaceItemInObjectCaseSensitive(cJSON * object,
|
||||
const char *string,
|
||||
cJSON * newitem);
|
||||
CJSON_PUBLIC(void) cJSON_InsertItemInArray(cJSON *array, int which, cJSON *newitem); /* Shifts pre-existing items to the right. */
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemViaPointer(cJSON * const parent, cJSON * const item, cJSON * replacement);
|
||||
CJSON_PUBLIC(void) cJSON_ReplaceItemInArray(cJSON *array, int which, cJSON *newitem);
|
||||
CJSON_PUBLIC(void) cJSON_ReplaceItemInObject(cJSON *object,const char *string,cJSON *newitem);
|
||||
CJSON_PUBLIC(void) cJSON_ReplaceItemInObjectCaseSensitive(cJSON *object,const char *string,cJSON *newitem);
|
||||
|
||||
/* Duplicate a cJSON item */
|
||||
CJSON_PUBLIC(cJSON *) cJSON_Duplicate(const cJSON * item, cJSON_bool recurse);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_Duplicate(const cJSON *item, cJSON_bool recurse);
|
||||
/* Duplicate will create a new, identical cJSON item to the one you pass, in new memory that will
|
||||
need to be released. With recurse!=0, it will duplicate any children connected to the item.
|
||||
The item->next and ->prev pointers are always zero on return from Duplicate. */
|
||||
need to be released. With recurse!=0, it will duplicate any children connected to the item.
|
||||
The item->next and ->prev pointers are always zero on return from Duplicate. */
|
||||
/* Recursively compare two cJSON items for equality. If either a or b is NULL or invalid, they will be considered unequal.
|
||||
* case_sensitive determines if object keys are treated case sensitive (1) or case insensitive (0) */
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_Compare(const cJSON * const a,
|
||||
const cJSON * const b,
|
||||
const cJSON_bool case_sensitive);
|
||||
CJSON_PUBLIC(cJSON_bool) cJSON_Compare(const cJSON * const a, const cJSON * const b, const cJSON_bool case_sensitive);
|
||||
|
||||
|
||||
CJSON_PUBLIC(void) cJSON_Minify(char *json);
|
||||
|
||||
/* Helper functions for creating and adding items to an object at the same time.
|
||||
* They return the added item or NULL on failure. */
|
||||
CJSON_PUBLIC(cJSON *) cJSON_AddNullToObject(cJSON * const object,
|
||||
const char *const name);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_AddTrueToObject(cJSON * const object,
|
||||
const char *const name);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_AddFalseToObject(cJSON * const object,
|
||||
const char *const name);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_AddBoolToObject(cJSON * const object,
|
||||
const char *const name,
|
||||
const cJSON_bool boolean);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_AddNumberToObject(cJSON * const object,
|
||||
const char *const name,
|
||||
const double number);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_AddStringToObject(cJSON * const object,
|
||||
const char *const name,
|
||||
const char *const string);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_AddRawToObject(cJSON * const object,
|
||||
const char *const name,
|
||||
const char *const raw);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_AddObjectToObject(cJSON * const object,
|
||||
const char *const name);
|
||||
CJSON_PUBLIC(cJSON *) cJSON_AddArrayToObject(cJSON * const object,
|
||||
const char *const name);
|
||||
CJSON_PUBLIC(cJSON*) cJSON_AddNullToObject(cJSON * const object, const char * const name);
|
||||
CJSON_PUBLIC(cJSON*) cJSON_AddTrueToObject(cJSON * const object, const char * const name);
|
||||
CJSON_PUBLIC(cJSON*) cJSON_AddFalseToObject(cJSON * const object, const char * const name);
|
||||
CJSON_PUBLIC(cJSON*) cJSON_AddBoolToObject(cJSON * const object, const char * const name, const cJSON_bool boolean);
|
||||
CJSON_PUBLIC(cJSON*) cJSON_AddNumberToObject(cJSON * const object, const char * const name, const double number);
|
||||
CJSON_PUBLIC(cJSON*) cJSON_AddStringToObject(cJSON * const object, const char * const name, const char * const string);
|
||||
CJSON_PUBLIC(cJSON*) cJSON_AddRawToObject(cJSON * const object, const char * const name, const char * const raw);
|
||||
CJSON_PUBLIC(cJSON*) cJSON_AddObjectToObject(cJSON * const object, const char * const name);
|
||||
CJSON_PUBLIC(cJSON*) cJSON_AddArrayToObject(cJSON * const object, const char * const name);
|
||||
|
||||
/* When assigning an integer value, it needs to be propagated to valuedouble too. */
|
||||
#define cJSON_SetIntValue(object, \
|
||||
number) ((object) ? (object)->valueint = \
|
||||
(object)->valuedouble = \
|
||||
(number) : (number))
|
||||
#define cJSON_SetIntValue(object, number) ((object) ? (object)->valueint = (object)->valuedouble = (number) : (number))
|
||||
/* helper for the cJSON_SetNumberValue macro */
|
||||
CJSON_PUBLIC(double) cJSON_SetNumberHelper(cJSON * object, double number);
|
||||
#define cJSON_SetNumberValue(object, \
|
||||
number) ((object != \
|
||||
NULL) ? cJSON_SetNumberHelper(object, \
|
||||
( \
|
||||
double) \
|
||||
number) : ( \
|
||||
number))
|
||||
CJSON_PUBLIC(double) cJSON_SetNumberHelper(cJSON *object, double number);
|
||||
#define cJSON_SetNumberValue(object, number) ((object != NULL) ? cJSON_SetNumberHelper(object, (double)number) : (number))
|
||||
|
||||
/* Macro for iterating over an array or object */
|
||||
#define cJSON_ArrayForEach(element, array) for(element = \
|
||||
(array != \
|
||||
NULL) ? (array)->child : \
|
||||
NULL; \
|
||||
element != NULL; \
|
||||
element = element->next)
|
||||
#define cJSON_ArrayForEach(element, array) for(element = (array != NULL) ? (array)->child : NULL; element != NULL; element = element->next)
|
||||
|
||||
/* malloc/free objects using the malloc/free functions that have been set with cJSON_InitHooks */
|
||||
CJSON_PUBLIC(void *) cJSON_malloc(size_t size);
|
||||
|
@ -17,20 +17,17 @@ typedef struct apiClient_t {
|
||||
char *accessToken;
|
||||
} apiClient_t;
|
||||
|
||||
typedef struct binary_t {
|
||||
uint8_t *data;
|
||||
typedef struct binary_t
|
||||
{
|
||||
uint8_t* data;
|
||||
unsigned int len;
|
||||
} binary_t;
|
||||
|
||||
apiClient_t *apiClient_create();
|
||||
apiClient_t* apiClient_create();
|
||||
|
||||
void apiClient_free(apiClient_t *apiClient);
|
||||
|
||||
void apiClient_invoke(apiClient_t *apiClient, char *operationParameter,
|
||||
list_t *queryParameters, list_t *headerParameters,
|
||||
list_t *formParameters, list_t *headerType,
|
||||
list_t *contentType, char *bodyParameters,
|
||||
char *requestType);
|
||||
void apiClient_invoke(apiClient_t *apiClient,char* operationParameter, list_t *queryParameters, list_t *headerParameters, list_t *formParameters,list_t *headerType,list_t *contentType, char *bodyParameters, char *requestType);
|
||||
|
||||
char *strReplace(char *orig, char *rep, char *with);
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
#ifndef _keyValuePair_H_
|
||||
#define _keyValuePair_H_
|
||||
|
||||
#include <string.h>
|
||||
#include<string.h>
|
||||
|
||||
typedef struct keyValuePair_t {
|
||||
char *key;
|
||||
void *value;
|
||||
char* key;
|
||||
void* value;
|
||||
} keyValuePair_t;
|
||||
|
||||
keyValuePair_t *keyValuePair_create(char *key, void *value);
|
||||
|
@ -9,9 +9,9 @@ typedef struct list_t list_t;
|
||||
typedef struct listEntry_t listEntry_t;
|
||||
|
||||
struct listEntry_t {
|
||||
listEntry_t *nextListEntry;
|
||||
listEntry_t *prevListEntry;
|
||||
void *data;
|
||||
listEntry_t* nextListEntry;
|
||||
listEntry_t* prevListEntry;
|
||||
void* data;
|
||||
};
|
||||
|
||||
typedef struct list_t {
|
||||
@ -21,28 +21,19 @@ typedef struct list_t {
|
||||
long count;
|
||||
} list_t;
|
||||
|
||||
#define list_ForEach(element, list) for(element = \
|
||||
(list != \
|
||||
NULL) ? (list)->firstEntry : \
|
||||
NULL; \
|
||||
element != NULL; \
|
||||
element = element->nextListEntry)
|
||||
#define list_ForEach(element, list) for(element = (list != NULL) ? (list)->firstEntry : NULL; element != NULL; element = element->nextListEntry)
|
||||
|
||||
list_t *list_create();
|
||||
void list_free(list_t *listToFree);
|
||||
list_t* list_create();
|
||||
void list_free(list_t* listToFree);
|
||||
|
||||
void list_addElement(list_t *list, void *dataToAddInList);
|
||||
listEntry_t *list_getElementAt(list_t *list, long indexOfElement);
|
||||
listEntry_t *list_getWithIndex(list_t *list, int index);
|
||||
void list_removeElement(list_t *list, listEntry_t *elementToRemove);
|
||||
void list_addElement(list_t* list, void* dataToAddInList);
|
||||
listEntry_t* list_getElementAt(list_t *list, long indexOfElement);
|
||||
listEntry_t* list_getWithIndex(list_t* list, int index);
|
||||
void list_removeElement(list_t* list, listEntry_t* elementToRemove);
|
||||
|
||||
void list_iterateThroughListForward(list_t *list, void (*operationToPerform)(
|
||||
listEntry_t *,
|
||||
void *), void *additionalDataNeededForCallbackFunction);
|
||||
void list_iterateThroughListBackward(list_t *list, void (*operationToPerform)(
|
||||
listEntry_t *,
|
||||
void *), void *additionalDataNeededForCallbackFunction);
|
||||
void list_iterateThroughListForward(list_t* list, void (*operationToPerform)(listEntry_t*, void*), void *additionalDataNeededForCallbackFunction);
|
||||
void list_iterateThroughListBackward(list_t* list, void (*operationToPerform)(listEntry_t*, void*), void *additionalDataNeededForCallbackFunction);
|
||||
|
||||
void listEntry_printAsInt(listEntry_t *listEntry, void *additionalData);
|
||||
void listEntry_printAsInt(listEntry_t* listEntry, void *additionalData);
|
||||
void listEntry_free(listEntry_t *listEntry, void *additionalData);
|
||||
#endif // INCLUDE_LIST_H
|
||||
|
@ -5,9 +5,13 @@
|
||||
|
||||
|
||||
|
||||
api_response_t *api_response_create(int code, char *type, char *message) {
|
||||
api_response_t *api_response_create(
|
||||
int code,
|
||||
char *type,
|
||||
char *message
|
||||
) {
|
||||
api_response_t *api_response_local_var = malloc(sizeof(api_response_t));
|
||||
if(!api_response_local_var) {
|
||||
if (!api_response_local_var) {
|
||||
return NULL;
|
||||
}
|
||||
api_response_local_var->code = code;
|
||||
@ -30,73 +34,68 @@ cJSON *api_response_convertToJSON(api_response_t *api_response) {
|
||||
|
||||
// api_response->code
|
||||
if(api_response->code) {
|
||||
if(cJSON_AddNumberToObject(item, "code",
|
||||
api_response->code) == NULL)
|
||||
{
|
||||
goto fail; // Numeric
|
||||
if(cJSON_AddNumberToObject(item, "code", api_response->code) == NULL) {
|
||||
goto fail; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// api_response->type
|
||||
if(api_response->type) {
|
||||
if(cJSON_AddStringToObject(item, "type",
|
||||
api_response->type) == NULL)
|
||||
{
|
||||
goto fail; // String
|
||||
if(cJSON_AddStringToObject(item, "type", api_response->type) == NULL) {
|
||||
goto fail; //String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// api_response->message
|
||||
if(api_response->message) {
|
||||
if(cJSON_AddStringToObject(item, "message",
|
||||
api_response->message) == NULL)
|
||||
{
|
||||
goto fail; // String
|
||||
if(cJSON_AddStringToObject(item, "message", api_response->message) == NULL) {
|
||||
goto fail; //String
|
||||
}
|
||||
}
|
||||
|
||||
return item;
|
||||
fail:
|
||||
if(item) {
|
||||
if (item) {
|
||||
cJSON_Delete(item);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
api_response_t *api_response_parseFromJSON(cJSON *api_responseJSON) {
|
||||
api_response_t *api_response_parseFromJSON(cJSON *api_responseJSON){
|
||||
|
||||
api_response_t *api_response_local_var = NULL;
|
||||
|
||||
// api_response->code
|
||||
cJSON *code =
|
||||
cJSON_GetObjectItemCaseSensitive(api_responseJSON, "code");
|
||||
if(code) {
|
||||
if(!cJSON_IsNumber(code)) {
|
||||
goto end; // Numeric
|
||||
cJSON *code = cJSON_GetObjectItemCaseSensitive(api_responseJSON, "code");
|
||||
if (code) {
|
||||
if(!cJSON_IsNumber(code))
|
||||
{
|
||||
goto end; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
// api_response->type
|
||||
cJSON *type =
|
||||
cJSON_GetObjectItemCaseSensitive(api_responseJSON, "type");
|
||||
if(type) {
|
||||
if(!cJSON_IsString(type)) {
|
||||
goto end; // String
|
||||
cJSON *type = cJSON_GetObjectItemCaseSensitive(api_responseJSON, "type");
|
||||
if (type) {
|
||||
if(!cJSON_IsString(type))
|
||||
{
|
||||
goto end; //String
|
||||
}
|
||||
}
|
||||
|
||||
// api_response->message
|
||||
cJSON *message = cJSON_GetObjectItemCaseSensitive(api_responseJSON,
|
||||
"message");
|
||||
if(message) {
|
||||
if(!cJSON_IsString(message)) {
|
||||
goto end; // String
|
||||
cJSON *message = cJSON_GetObjectItemCaseSensitive(api_responseJSON, "message");
|
||||
if (message) {
|
||||
if(!cJSON_IsString(message))
|
||||
{
|
||||
goto end; //String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
api_response_local_var = api_response_create(
|
||||
api_response_local_var = api_response_create (
|
||||
code ? code->valuedouble : 0,
|
||||
type ? strdup(type->valuestring) : NULL,
|
||||
message ? strdup(message->valuestring) : NULL
|
||||
@ -105,4 +104,5 @@ api_response_t *api_response_parseFromJSON(cJSON *api_responseJSON) {
|
||||
return api_response_local_var;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
@ -15,12 +15,17 @@
|
||||
|
||||
|
||||
typedef struct api_response_t {
|
||||
int code; // numeric
|
||||
int code; //numeric
|
||||
char *type; // string
|
||||
char *message; // string
|
||||
|
||||
} api_response_t;
|
||||
|
||||
api_response_t *api_response_create(int code, char *type, char *message);
|
||||
api_response_t *api_response_create(
|
||||
int code,
|
||||
char *type,
|
||||
char *message
|
||||
);
|
||||
|
||||
void api_response_free(api_response_t *api_response);
|
||||
|
||||
@ -29,3 +34,4 @@ api_response_t *api_response_parseFromJSON(cJSON *api_responseJSON);
|
||||
cJSON *api_response_convertToJSON(api_response_t *api_response);
|
||||
|
||||
#endif /* _api_response_H_ */
|
||||
|
||||
|
@ -5,9 +5,12 @@
|
||||
|
||||
|
||||
|
||||
category_t *category_create(long id, char *name) {
|
||||
category_t *category_create(
|
||||
long id,
|
||||
char *name
|
||||
) {
|
||||
category_t *category_local_var = malloc(sizeof(category_t));
|
||||
if(!category_local_var) {
|
||||
if (!category_local_var) {
|
||||
return NULL;
|
||||
}
|
||||
category_local_var->id = id;
|
||||
@ -29,49 +32,50 @@ cJSON *category_convertToJSON(category_t *category) {
|
||||
// category->id
|
||||
if(category->id) {
|
||||
if(cJSON_AddNumberToObject(item, "id", category->id) == NULL) {
|
||||
goto fail; // Numeric
|
||||
goto fail; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// category->name
|
||||
if(category->name) {
|
||||
if(cJSON_AddStringToObject(item, "name",
|
||||
category->name) == NULL)
|
||||
{
|
||||
goto fail; // String
|
||||
if(cJSON_AddStringToObject(item, "name", category->name) == NULL) {
|
||||
goto fail; //String
|
||||
}
|
||||
}
|
||||
|
||||
return item;
|
||||
fail:
|
||||
if(item) {
|
||||
if (item) {
|
||||
cJSON_Delete(item);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
category_t *category_parseFromJSON(cJSON *categoryJSON) {
|
||||
category_t *category_parseFromJSON(cJSON *categoryJSON){
|
||||
|
||||
category_t *category_local_var = NULL;
|
||||
|
||||
// category->id
|
||||
cJSON *id = cJSON_GetObjectItemCaseSensitive(categoryJSON, "id");
|
||||
if(id) {
|
||||
if(!cJSON_IsNumber(id)) {
|
||||
goto end; // Numeric
|
||||
if (id) {
|
||||
if(!cJSON_IsNumber(id))
|
||||
{
|
||||
goto end; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
// category->name
|
||||
cJSON *name = cJSON_GetObjectItemCaseSensitive(categoryJSON, "name");
|
||||
if(name) {
|
||||
if(!cJSON_IsString(name)) {
|
||||
goto end; // String
|
||||
if (name) {
|
||||
if(!cJSON_IsString(name))
|
||||
{
|
||||
goto end; //String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
category_local_var = category_create(
|
||||
category_local_var = category_create (
|
||||
id ? id->valuedouble : 0,
|
||||
name ? strdup(name->valuestring) : NULL
|
||||
);
|
||||
@ -79,4 +83,5 @@ category_t *category_parseFromJSON(cJSON *categoryJSON) {
|
||||
return category_local_var;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
@ -15,11 +15,15 @@
|
||||
|
||||
|
||||
typedef struct category_t {
|
||||
long id; // numeric
|
||||
long id; //numeric
|
||||
char *name; // string
|
||||
|
||||
} category_t;
|
||||
|
||||
category_t *category_create(long id, char *name);
|
||||
category_t *category_create(
|
||||
long id,
|
||||
char *name
|
||||
);
|
||||
|
||||
void category_free(category_t *category);
|
||||
|
||||
@ -28,3 +32,4 @@ category_t *category_parseFromJSON(cJSON *categoryJSON);
|
||||
cJSON *category_convertToJSON(category_t *category);
|
||||
|
||||
#endif /* _category_H_ */
|
||||
|
||||
|
@ -10,7 +10,7 @@ object_t *object_create() {
|
||||
}
|
||||
|
||||
void object_free(object_t *object) {
|
||||
free(object);
|
||||
free (object);
|
||||
}
|
||||
|
||||
cJSON *object_convertToJSON(object_t *object) {
|
||||
@ -22,7 +22,7 @@ fail:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
object_t *object_parseFromJSON(char *jsonString) {
|
||||
object_t *object_parseFromJSON(char *jsonString){
|
||||
object_t *object = NULL;
|
||||
|
||||
return object;
|
||||
|
@ -4,14 +4,14 @@
|
||||
#include "order.h"
|
||||
|
||||
|
||||
char *statusorder_ToString(status_e status) {
|
||||
char *statusArray[] = { "placed", "approved", "delivered" };
|
||||
char* statusorder_ToString(status_e status){
|
||||
char *statusArray[] = { "placed","approved","delivered" };
|
||||
return statusArray[status];
|
||||
}
|
||||
}
|
||||
|
||||
status_e statusorder_FromString(char *status) {
|
||||
status_e statusorder_FromString(char* status){
|
||||
int stringToReturn = 0;
|
||||
char *statusArray[] = { "placed", "approved", "delivered" };
|
||||
char *statusArray[] = { "placed","approved","delivered" };
|
||||
size_t sizeofArray = sizeof(statusArray) / sizeof(statusArray[0]);
|
||||
while(stringToReturn < sizeofArray) {
|
||||
if(strcmp(status, statusArray[stringToReturn]) == 0) {
|
||||
@ -20,12 +20,18 @@ status_e statusorder_FromString(char *status) {
|
||||
stringToReturn++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
order_t *order_create(long id, long petId, int quantity, char *shipDate,
|
||||
status_e status, int complete) {
|
||||
order_t *order_create(
|
||||
long id,
|
||||
long petId,
|
||||
int quantity,
|
||||
char *shipDate,
|
||||
status_e status,
|
||||
int complete
|
||||
) {
|
||||
order_t *order_local_var = malloc(sizeof(order_t));
|
||||
if(!order_local_var) {
|
||||
if (!order_local_var) {
|
||||
return NULL;
|
||||
}
|
||||
order_local_var->id = id;
|
||||
@ -51,126 +57,121 @@ cJSON *order_convertToJSON(order_t *order) {
|
||||
// order->id
|
||||
if(order->id) {
|
||||
if(cJSON_AddNumberToObject(item, "id", order->id) == NULL) {
|
||||
goto fail; // Numeric
|
||||
goto fail; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// order->petId
|
||||
if(order->petId) {
|
||||
if(cJSON_AddNumberToObject(item, "petId",
|
||||
order->petId) == NULL)
|
||||
{
|
||||
goto fail; // Numeric
|
||||
if(cJSON_AddNumberToObject(item, "petId", order->petId) == NULL) {
|
||||
goto fail; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// order->quantity
|
||||
if(order->quantity) {
|
||||
if(cJSON_AddNumberToObject(item, "quantity",
|
||||
order->quantity) == NULL)
|
||||
{
|
||||
goto fail; // Numeric
|
||||
if(cJSON_AddNumberToObject(item, "quantity", order->quantity) == NULL) {
|
||||
goto fail; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// order->shipDate
|
||||
if(order->shipDate) {
|
||||
if(cJSON_AddStringToObject(item, "shipDate",
|
||||
order->shipDate) == NULL)
|
||||
{
|
||||
goto fail; // Date-Time
|
||||
if(cJSON_AddStringToObject(item, "shipDate", order->shipDate) == NULL) {
|
||||
goto fail; //Date-Time
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// order->status
|
||||
|
||||
if(cJSON_AddStringToObject(item, "status",
|
||||
statusorder_ToString(order->status)) == NULL)
|
||||
if(cJSON_AddStringToObject(item, "status", statusorder_ToString(order->status)) == NULL)
|
||||
{
|
||||
goto fail; // Enum
|
||||
goto fail; //Enum
|
||||
}
|
||||
|
||||
|
||||
|
||||
// order->complete
|
||||
if(order->complete) {
|
||||
if(cJSON_AddBoolToObject(item, "complete",
|
||||
order->complete) == NULL)
|
||||
{
|
||||
goto fail; // Bool
|
||||
if(cJSON_AddBoolToObject(item, "complete", order->complete) == NULL) {
|
||||
goto fail; //Bool
|
||||
}
|
||||
}
|
||||
|
||||
return item;
|
||||
fail:
|
||||
if(item) {
|
||||
if (item) {
|
||||
cJSON_Delete(item);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
order_t *order_parseFromJSON(cJSON *orderJSON) {
|
||||
order_t *order_parseFromJSON(cJSON *orderJSON){
|
||||
|
||||
order_t *order_local_var = NULL;
|
||||
|
||||
// order->id
|
||||
cJSON *id = cJSON_GetObjectItemCaseSensitive(orderJSON, "id");
|
||||
if(id) {
|
||||
if(!cJSON_IsNumber(id)) {
|
||||
goto end; // Numeric
|
||||
if (id) {
|
||||
if(!cJSON_IsNumber(id))
|
||||
{
|
||||
goto end; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
// order->petId
|
||||
cJSON *petId = cJSON_GetObjectItemCaseSensitive(orderJSON, "petId");
|
||||
if(petId) {
|
||||
if(!cJSON_IsNumber(petId)) {
|
||||
goto end; // Numeric
|
||||
if (petId) {
|
||||
if(!cJSON_IsNumber(petId))
|
||||
{
|
||||
goto end; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
// order->quantity
|
||||
cJSON *quantity =
|
||||
cJSON_GetObjectItemCaseSensitive(orderJSON, "quantity");
|
||||
if(quantity) {
|
||||
if(!cJSON_IsNumber(quantity)) {
|
||||
goto end; // Numeric
|
||||
cJSON *quantity = cJSON_GetObjectItemCaseSensitive(orderJSON, "quantity");
|
||||
if (quantity) {
|
||||
if(!cJSON_IsNumber(quantity))
|
||||
{
|
||||
goto end; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
// order->shipDate
|
||||
cJSON *shipDate =
|
||||
cJSON_GetObjectItemCaseSensitive(orderJSON, "shipDate");
|
||||
if(shipDate) {
|
||||
if(!cJSON_IsString(shipDate)) {
|
||||
goto end; // DateTime
|
||||
cJSON *shipDate = cJSON_GetObjectItemCaseSensitive(orderJSON, "shipDate");
|
||||
if (shipDate) {
|
||||
if(!cJSON_IsString(shipDate))
|
||||
{
|
||||
goto end; //DateTime
|
||||
}
|
||||
}
|
||||
|
||||
// order->status
|
||||
cJSON *status = cJSON_GetObjectItemCaseSensitive(orderJSON, "status");
|
||||
status_e statusVariable;
|
||||
if(status) {
|
||||
if(!cJSON_IsString(status)) {
|
||||
goto end; // Enum
|
||||
if (status) {
|
||||
if(!cJSON_IsString(status))
|
||||
{
|
||||
goto end; //Enum
|
||||
}
|
||||
statusVariable = statusorder_FromString(status->valuestring);
|
||||
}
|
||||
|
||||
// order->complete
|
||||
cJSON *complete =
|
||||
cJSON_GetObjectItemCaseSensitive(orderJSON, "complete");
|
||||
if(complete) {
|
||||
if(!cJSON_IsBool(complete)) {
|
||||
goto end; // Bool
|
||||
cJSON *complete = cJSON_GetObjectItemCaseSensitive(orderJSON, "complete");
|
||||
if (complete) {
|
||||
if(!cJSON_IsBool(complete))
|
||||
{
|
||||
goto end; //Bool
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
order_local_var = order_create(
|
||||
order_local_var = order_create (
|
||||
id ? id->valuedouble : 0,
|
||||
petId ? petId->valuedouble : 0,
|
||||
quantity ? quantity->valuedouble : 0,
|
||||
@ -182,4 +183,5 @@ order_t *order_parseFromJSON(cJSON *orderJSON) {
|
||||
return order_local_var;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
@ -12,24 +12,31 @@
|
||||
#include "../include/list.h"
|
||||
#include "../include/keyValuePair.h"
|
||||
|
||||
typedef enum { placed, approved, delivered } status_e;
|
||||
typedef enum { placed, approved, delivered } status_e;
|
||||
|
||||
char *status_ToString(status_e status);
|
||||
char* status_ToString(status_e status);
|
||||
|
||||
status_e status_FromString(char *status);
|
||||
status_e status_FromString(char* status);
|
||||
|
||||
|
||||
typedef struct order_t {
|
||||
long id; // numeric
|
||||
long petId; // numeric
|
||||
int quantity; // numeric
|
||||
char *shipDate; // date time
|
||||
status_e status; // enum
|
||||
int complete; // boolean
|
||||
long id; //numeric
|
||||
long petId; //numeric
|
||||
int quantity; //numeric
|
||||
char *shipDate; //date time
|
||||
status_e status; //enum
|
||||
int complete; //boolean
|
||||
|
||||
} order_t;
|
||||
|
||||
order_t *order_create(long id, long petId, int quantity, char *shipDate,
|
||||
status_e status, int complete);
|
||||
order_t *order_create(
|
||||
long id,
|
||||
long petId,
|
||||
int quantity,
|
||||
char *shipDate,
|
||||
status_e status,
|
||||
int complete
|
||||
);
|
||||
|
||||
void order_free(order_t *order);
|
||||
|
||||
@ -38,3 +45,4 @@ order_t *order_parseFromJSON(cJSON *orderJSON);
|
||||
cJSON *order_convertToJSON(order_t *order);
|
||||
|
||||
#endif /* _order_H_ */
|
||||
|
||||
|
@ -4,14 +4,14 @@
|
||||
#include "pet.h"
|
||||
|
||||
|
||||
char *statuspet_ToString(status_e status) {
|
||||
char *statusArray[] = { "available", "pending", "sold" };
|
||||
char* statuspet_ToString(status_e status){
|
||||
char *statusArray[] = { "available","pending","sold" };
|
||||
return statusArray[status];
|
||||
}
|
||||
}
|
||||
|
||||
status_e statuspet_FromString(char *status) {
|
||||
status_e statuspet_FromString(char* status){
|
||||
int stringToReturn = 0;
|
||||
char *statusArray[] = { "available", "pending", "sold" };
|
||||
char *statusArray[] = { "available","pending","sold" };
|
||||
size_t sizeofArray = sizeof(statusArray) / sizeof(statusArray[0]);
|
||||
while(stringToReturn < sizeofArray) {
|
||||
if(strcmp(status, statusArray[stringToReturn]) == 0) {
|
||||
@ -20,12 +20,18 @@ status_e statuspet_FromString(char *status) {
|
||||
stringToReturn++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
pet_t *pet_create(long id, category_t *category, char *name, list_t *photoUrls,
|
||||
list_t *tags, status_e status) {
|
||||
pet_t *pet_create(
|
||||
long id,
|
||||
category_t *category,
|
||||
char *name,
|
||||
list_t *photoUrls,
|
||||
list_t *tags,
|
||||
status_e status
|
||||
) {
|
||||
pet_t *pet_local_var = malloc(sizeof(pet_t));
|
||||
if(!pet_local_var) {
|
||||
if (!pet_local_var) {
|
||||
return NULL;
|
||||
}
|
||||
pet_local_var->id = id;
|
||||
@ -60,17 +66,16 @@ cJSON *pet_convertToJSON(pet_t *pet) {
|
||||
// pet->id
|
||||
if(pet->id) {
|
||||
if(cJSON_AddNumberToObject(item, "id", pet->id) == NULL) {
|
||||
goto fail; // Numeric
|
||||
goto fail; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// pet->category
|
||||
if(pet->category) {
|
||||
cJSON *category_local_JSON = category_convertToJSON(
|
||||
pet->category);
|
||||
cJSON *category_local_JSON = category_convertToJSON(pet->category);
|
||||
if(category_local_JSON == NULL) {
|
||||
goto fail; // model
|
||||
goto fail; //model
|
||||
}
|
||||
cJSON_AddItemToObject(item, "category", category_local_JSON);
|
||||
if(item->child == NULL) {
|
||||
@ -80,30 +85,28 @@ cJSON *pet_convertToJSON(pet_t *pet) {
|
||||
|
||||
|
||||
// pet->name
|
||||
if(!pet->name) {
|
||||
if (!pet->name) {
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if(cJSON_AddStringToObject(item, "name", pet->name) == NULL) {
|
||||
goto fail; // String
|
||||
goto fail; //String
|
||||
}
|
||||
|
||||
|
||||
// pet->photoUrls
|
||||
if(!pet->photoUrls) {
|
||||
if (!pet->photoUrls) {
|
||||
goto fail;
|
||||
}
|
||||
|
||||
cJSON *photo_urls = cJSON_AddArrayToObject(item, "photoUrls");
|
||||
if(photo_urls == NULL) {
|
||||
goto fail; // primitive container
|
||||
goto fail; //primitive container
|
||||
}
|
||||
|
||||
listEntry_t *photo_urlsListEntry;
|
||||
list_ForEach(photo_urlsListEntry, pet->photoUrls) {
|
||||
if(cJSON_AddStringToObject(photo_urls, "",
|
||||
(char *) photo_urlsListEntry->data)
|
||||
== NULL)
|
||||
if(cJSON_AddStringToObject(photo_urls, "", (char*)photo_urlsListEntry->data) == NULL)
|
||||
{
|
||||
goto fail;
|
||||
}
|
||||
@ -114,14 +117,13 @@ cJSON *pet_convertToJSON(pet_t *pet) {
|
||||
if(pet->tags) {
|
||||
cJSON *tags = cJSON_AddArrayToObject(item, "tags");
|
||||
if(tags == NULL) {
|
||||
goto fail; // nonprimitive container
|
||||
goto fail; //nonprimitive container
|
||||
}
|
||||
|
||||
listEntry_t *tagsListEntry;
|
||||
if(pet->tags) {
|
||||
if (pet->tags) {
|
||||
list_ForEach(tagsListEntry, pet->tags) {
|
||||
cJSON *itemLocal = tag_convertToJSON(
|
||||
tagsListEntry->data);
|
||||
cJSON *itemLocal = tag_convertToJSON(tagsListEntry->data);
|
||||
if(itemLocal == NULL) {
|
||||
goto fail;
|
||||
}
|
||||
@ -133,54 +135,55 @@ cJSON *pet_convertToJSON(pet_t *pet) {
|
||||
|
||||
// pet->status
|
||||
|
||||
if(cJSON_AddStringToObject(item, "status",
|
||||
statuspet_ToString(pet->status)) == NULL)
|
||||
if(cJSON_AddStringToObject(item, "status", statuspet_ToString(pet->status)) == NULL)
|
||||
{
|
||||
goto fail; // Enum
|
||||
goto fail; //Enum
|
||||
}
|
||||
|
||||
|
||||
return item;
|
||||
fail:
|
||||
if(item) {
|
||||
if (item) {
|
||||
cJSON_Delete(item);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
pet_t *pet_parseFromJSON(cJSON *petJSON) {
|
||||
pet_t *pet_parseFromJSON(cJSON *petJSON){
|
||||
|
||||
pet_t *pet_local_var = NULL;
|
||||
|
||||
// pet->id
|
||||
cJSON *id = cJSON_GetObjectItemCaseSensitive(petJSON, "id");
|
||||
if(id) {
|
||||
if(!cJSON_IsNumber(id)) {
|
||||
goto end; // Numeric
|
||||
if (id) {
|
||||
if(!cJSON_IsNumber(id))
|
||||
{
|
||||
goto end; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
// pet->category
|
||||
cJSON *category = cJSON_GetObjectItemCaseSensitive(petJSON, "category");
|
||||
category_t *category_local_nonprim = NULL;
|
||||
if(category) {
|
||||
category_local_nonprim = category_parseFromJSON(category); // nonprimitive
|
||||
if (category) {
|
||||
category_local_nonprim = category_parseFromJSON(category); //nonprimitive
|
||||
}
|
||||
|
||||
// pet->name
|
||||
cJSON *name = cJSON_GetObjectItemCaseSensitive(petJSON, "name");
|
||||
if(!name) {
|
||||
if (!name) {
|
||||
goto end;
|
||||
}
|
||||
|
||||
|
||||
if(!cJSON_IsString(name)) {
|
||||
goto end; // String
|
||||
if(!cJSON_IsString(name))
|
||||
{
|
||||
goto end; //String
|
||||
}
|
||||
|
||||
// pet->photoUrls
|
||||
cJSON *photoUrls =
|
||||
cJSON_GetObjectItemCaseSensitive(petJSON, "photoUrls");
|
||||
if(!photoUrls) {
|
||||
cJSON *photoUrls = cJSON_GetObjectItemCaseSensitive(petJSON, "photoUrls");
|
||||
if (!photoUrls) {
|
||||
goto end;
|
||||
}
|
||||
|
||||
@ -188,37 +191,36 @@ pet_t *pet_parseFromJSON(cJSON *petJSON) {
|
||||
|
||||
cJSON *photo_urls_local;
|
||||
if(!cJSON_IsArray(photoUrls)) {
|
||||
goto end; // primitive container
|
||||
goto end;//primitive container
|
||||
}
|
||||
photo_urlsList = list_create();
|
||||
|
||||
cJSON_ArrayForEach(photo_urls_local, photoUrls)
|
||||
{
|
||||
if(!cJSON_IsString(photo_urls_local)) {
|
||||
if(!cJSON_IsString(photo_urls_local))
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
list_addElement(photo_urlsList,
|
||||
strdup(photo_urls_local->valuestring));
|
||||
list_addElement(photo_urlsList , strdup(photo_urls_local->valuestring));
|
||||
}
|
||||
|
||||
// pet->tags
|
||||
cJSON *tags = cJSON_GetObjectItemCaseSensitive(petJSON, "tags");
|
||||
list_t *tagsList;
|
||||
if(tags) {
|
||||
if (tags) {
|
||||
cJSON *tags_local_nonprimitive;
|
||||
if(!cJSON_IsArray(tags)) {
|
||||
goto end; // nonprimitive container
|
||||
if(!cJSON_IsArray(tags)){
|
||||
goto end; //nonprimitive container
|
||||
}
|
||||
|
||||
tagsList = list_create();
|
||||
|
||||
cJSON_ArrayForEach(tags_local_nonprimitive, tags)
|
||||
cJSON_ArrayForEach(tags_local_nonprimitive,tags )
|
||||
{
|
||||
if(!cJSON_IsObject(tags_local_nonprimitive)) {
|
||||
if(!cJSON_IsObject(tags_local_nonprimitive)){
|
||||
goto end;
|
||||
}
|
||||
tag_t *tagsItem = tag_parseFromJSON(
|
||||
tags_local_nonprimitive);
|
||||
tag_t *tagsItem = tag_parseFromJSON(tags_local_nonprimitive);
|
||||
|
||||
list_addElement(tagsList, tagsItem);
|
||||
}
|
||||
@ -227,15 +229,16 @@ pet_t *pet_parseFromJSON(cJSON *petJSON) {
|
||||
// pet->status
|
||||
cJSON *status = cJSON_GetObjectItemCaseSensitive(petJSON, "status");
|
||||
status_e statusVariable;
|
||||
if(status) {
|
||||
if(!cJSON_IsString(status)) {
|
||||
goto end; // Enum
|
||||
if (status) {
|
||||
if(!cJSON_IsString(status))
|
||||
{
|
||||
goto end; //Enum
|
||||
}
|
||||
statusVariable = statuspet_FromString(status->valuestring);
|
||||
}
|
||||
|
||||
|
||||
pet_local_var = pet_create(
|
||||
pet_local_var = pet_create (
|
||||
id ? id->valuedouble : 0,
|
||||
category ? category_local_nonprim : NULL,
|
||||
strdup(name->valuestring),
|
||||
@ -247,4 +250,5 @@ pet_t *pet_parseFromJSON(cJSON *petJSON) {
|
||||
return pet_local_var;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
@ -14,24 +14,31 @@
|
||||
#include "category.h"
|
||||
#include "tag.h"
|
||||
|
||||
typedef enum { available, pending, sold } status_e;
|
||||
typedef enum { available, pending, sold } status_e;
|
||||
|
||||
char *status_ToString(status_e status);
|
||||
char* status_ToString(status_e status);
|
||||
|
||||
status_e status_FromString(char *status);
|
||||
status_e status_FromString(char* status);
|
||||
|
||||
|
||||
typedef struct pet_t {
|
||||
long id; // numeric
|
||||
category_t *category; // model
|
||||
long id; //numeric
|
||||
category_t *category; //model
|
||||
char *name; // string
|
||||
list_t *photoUrls; // primitive container
|
||||
list_t *tags; // nonprimitive container
|
||||
status_e status; // enum
|
||||
list_t *photoUrls; //primitive container
|
||||
list_t *tags; //nonprimitive container
|
||||
status_e status; //enum
|
||||
|
||||
} pet_t;
|
||||
|
||||
pet_t *pet_create(long id, category_t *category, char *name, list_t *photoUrls,
|
||||
list_t *tags, status_e status);
|
||||
pet_t *pet_create(
|
||||
long id,
|
||||
category_t *category,
|
||||
char *name,
|
||||
list_t *photoUrls,
|
||||
list_t *tags,
|
||||
status_e status
|
||||
);
|
||||
|
||||
void pet_free(pet_t *pet);
|
||||
|
||||
@ -40,3 +47,4 @@ pet_t *pet_parseFromJSON(cJSON *petJSON);
|
||||
cJSON *pet_convertToJSON(pet_t *pet);
|
||||
|
||||
#endif /* _pet_H_ */
|
||||
|
||||
|
@ -5,9 +5,12 @@
|
||||
|
||||
|
||||
|
||||
tag_t *tag_create(long id, char *name) {
|
||||
tag_t *tag_create(
|
||||
long id,
|
||||
char *name
|
||||
) {
|
||||
tag_t *tag_local_var = malloc(sizeof(tag_t));
|
||||
if(!tag_local_var) {
|
||||
if (!tag_local_var) {
|
||||
return NULL;
|
||||
}
|
||||
tag_local_var->id = id;
|
||||
@ -29,7 +32,7 @@ cJSON *tag_convertToJSON(tag_t *tag) {
|
||||
// tag->id
|
||||
if(tag->id) {
|
||||
if(cJSON_AddNumberToObject(item, "id", tag->id) == NULL) {
|
||||
goto fail; // Numeric
|
||||
goto fail; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,39 +40,42 @@ cJSON *tag_convertToJSON(tag_t *tag) {
|
||||
// tag->name
|
||||
if(tag->name) {
|
||||
if(cJSON_AddStringToObject(item, "name", tag->name) == NULL) {
|
||||
goto fail; // String
|
||||
goto fail; //String
|
||||
}
|
||||
}
|
||||
|
||||
return item;
|
||||
fail:
|
||||
if(item) {
|
||||
if (item) {
|
||||
cJSON_Delete(item);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
tag_t *tag_parseFromJSON(cJSON *tagJSON) {
|
||||
tag_t *tag_parseFromJSON(cJSON *tagJSON){
|
||||
|
||||
tag_t *tag_local_var = NULL;
|
||||
|
||||
// tag->id
|
||||
cJSON *id = cJSON_GetObjectItemCaseSensitive(tagJSON, "id");
|
||||
if(id) {
|
||||
if(!cJSON_IsNumber(id)) {
|
||||
goto end; // Numeric
|
||||
if (id) {
|
||||
if(!cJSON_IsNumber(id))
|
||||
{
|
||||
goto end; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
// tag->name
|
||||
cJSON *name = cJSON_GetObjectItemCaseSensitive(tagJSON, "name");
|
||||
if(name) {
|
||||
if(!cJSON_IsString(name)) {
|
||||
goto end; // String
|
||||
if (name) {
|
||||
if(!cJSON_IsString(name))
|
||||
{
|
||||
goto end; //String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
tag_local_var = tag_create(
|
||||
tag_local_var = tag_create (
|
||||
id ? id->valuedouble : 0,
|
||||
name ? strdup(name->valuestring) : NULL
|
||||
);
|
||||
@ -77,4 +83,5 @@ tag_t *tag_parseFromJSON(cJSON *tagJSON) {
|
||||
return tag_local_var;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
@ -15,11 +15,15 @@
|
||||
|
||||
|
||||
typedef struct tag_t {
|
||||
long id; // numeric
|
||||
long id; //numeric
|
||||
char *name; // string
|
||||
|
||||
} tag_t;
|
||||
|
||||
tag_t *tag_create(long id, char *name);
|
||||
tag_t *tag_create(
|
||||
long id,
|
||||
char *name
|
||||
);
|
||||
|
||||
void tag_free(tag_t *tag);
|
||||
|
||||
@ -28,3 +32,4 @@ tag_t *tag_parseFromJSON(cJSON *tagJSON);
|
||||
cJSON *tag_convertToJSON(tag_t *tag);
|
||||
|
||||
#endif /* _tag_H_ */
|
||||
|
||||
|
@ -5,10 +5,18 @@
|
||||
|
||||
|
||||
|
||||
user_t *user_create(long id, char *username, char *firstName, char *lastName,
|
||||
char *email, char *password, char *phone, int userStatus) {
|
||||
user_t *user_create(
|
||||
long id,
|
||||
char *username,
|
||||
char *firstName,
|
||||
char *lastName,
|
||||
char *email,
|
||||
char *password,
|
||||
char *phone,
|
||||
int userStatus
|
||||
) {
|
||||
user_t *user_local_var = malloc(sizeof(user_t));
|
||||
if(!user_local_var) {
|
||||
if (!user_local_var) {
|
||||
return NULL;
|
||||
}
|
||||
user_local_var->id = id;
|
||||
@ -41,162 +49,152 @@ cJSON *user_convertToJSON(user_t *user) {
|
||||
// user->id
|
||||
if(user->id) {
|
||||
if(cJSON_AddNumberToObject(item, "id", user->id) == NULL) {
|
||||
goto fail; // Numeric
|
||||
goto fail; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// user->username
|
||||
if(user->username) {
|
||||
if(cJSON_AddStringToObject(item, "username",
|
||||
user->username) == NULL)
|
||||
{
|
||||
goto fail; // String
|
||||
if(cJSON_AddStringToObject(item, "username", user->username) == NULL) {
|
||||
goto fail; //String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// user->firstName
|
||||
if(user->firstName) {
|
||||
if(cJSON_AddStringToObject(item, "firstName",
|
||||
user->firstName) == NULL)
|
||||
{
|
||||
goto fail; // String
|
||||
if(cJSON_AddStringToObject(item, "firstName", user->firstName) == NULL) {
|
||||
goto fail; //String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// user->lastName
|
||||
if(user->lastName) {
|
||||
if(cJSON_AddStringToObject(item, "lastName",
|
||||
user->lastName) == NULL)
|
||||
{
|
||||
goto fail; // String
|
||||
if(cJSON_AddStringToObject(item, "lastName", user->lastName) == NULL) {
|
||||
goto fail; //String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// user->email
|
||||
if(user->email) {
|
||||
if(cJSON_AddStringToObject(item, "email",
|
||||
user->email) == NULL)
|
||||
{
|
||||
goto fail; // String
|
||||
if(cJSON_AddStringToObject(item, "email", user->email) == NULL) {
|
||||
goto fail; //String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// user->password
|
||||
if(user->password) {
|
||||
if(cJSON_AddStringToObject(item, "password",
|
||||
user->password) == NULL)
|
||||
{
|
||||
goto fail; // String
|
||||
if(cJSON_AddStringToObject(item, "password", user->password) == NULL) {
|
||||
goto fail; //String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// user->phone
|
||||
if(user->phone) {
|
||||
if(cJSON_AddStringToObject(item, "phone",
|
||||
user->phone) == NULL)
|
||||
{
|
||||
goto fail; // String
|
||||
if(cJSON_AddStringToObject(item, "phone", user->phone) == NULL) {
|
||||
goto fail; //String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// user->userStatus
|
||||
if(user->userStatus) {
|
||||
if(cJSON_AddNumberToObject(item, "userStatus",
|
||||
user->userStatus) == NULL)
|
||||
{
|
||||
goto fail; // Numeric
|
||||
if(cJSON_AddNumberToObject(item, "userStatus", user->userStatus) == NULL) {
|
||||
goto fail; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
return item;
|
||||
fail:
|
||||
if(item) {
|
||||
if (item) {
|
||||
cJSON_Delete(item);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
user_t *user_parseFromJSON(cJSON *userJSON) {
|
||||
user_t *user_parseFromJSON(cJSON *userJSON){
|
||||
|
||||
user_t *user_local_var = NULL;
|
||||
|
||||
// user->id
|
||||
cJSON *id = cJSON_GetObjectItemCaseSensitive(userJSON, "id");
|
||||
if(id) {
|
||||
if(!cJSON_IsNumber(id)) {
|
||||
goto end; // Numeric
|
||||
if (id) {
|
||||
if(!cJSON_IsNumber(id))
|
||||
{
|
||||
goto end; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
// user->username
|
||||
cJSON *username =
|
||||
cJSON_GetObjectItemCaseSensitive(userJSON, "username");
|
||||
if(username) {
|
||||
if(!cJSON_IsString(username)) {
|
||||
goto end; // String
|
||||
cJSON *username = cJSON_GetObjectItemCaseSensitive(userJSON, "username");
|
||||
if (username) {
|
||||
if(!cJSON_IsString(username))
|
||||
{
|
||||
goto end; //String
|
||||
}
|
||||
}
|
||||
|
||||
// user->firstName
|
||||
cJSON *firstName = cJSON_GetObjectItemCaseSensitive(userJSON,
|
||||
"firstName");
|
||||
if(firstName) {
|
||||
if(!cJSON_IsString(firstName)) {
|
||||
goto end; // String
|
||||
cJSON *firstName = cJSON_GetObjectItemCaseSensitive(userJSON, "firstName");
|
||||
if (firstName) {
|
||||
if(!cJSON_IsString(firstName))
|
||||
{
|
||||
goto end; //String
|
||||
}
|
||||
}
|
||||
|
||||
// user->lastName
|
||||
cJSON *lastName =
|
||||
cJSON_GetObjectItemCaseSensitive(userJSON, "lastName");
|
||||
if(lastName) {
|
||||
if(!cJSON_IsString(lastName)) {
|
||||
goto end; // String
|
||||
cJSON *lastName = cJSON_GetObjectItemCaseSensitive(userJSON, "lastName");
|
||||
if (lastName) {
|
||||
if(!cJSON_IsString(lastName))
|
||||
{
|
||||
goto end; //String
|
||||
}
|
||||
}
|
||||
|
||||
// user->email
|
||||
cJSON *email = cJSON_GetObjectItemCaseSensitive(userJSON, "email");
|
||||
if(email) {
|
||||
if(!cJSON_IsString(email)) {
|
||||
goto end; // String
|
||||
if (email) {
|
||||
if(!cJSON_IsString(email))
|
||||
{
|
||||
goto end; //String
|
||||
}
|
||||
}
|
||||
|
||||
// user->password
|
||||
cJSON *password =
|
||||
cJSON_GetObjectItemCaseSensitive(userJSON, "password");
|
||||
if(password) {
|
||||
if(!cJSON_IsString(password)) {
|
||||
goto end; // String
|
||||
cJSON *password = cJSON_GetObjectItemCaseSensitive(userJSON, "password");
|
||||
if (password) {
|
||||
if(!cJSON_IsString(password))
|
||||
{
|
||||
goto end; //String
|
||||
}
|
||||
}
|
||||
|
||||
// user->phone
|
||||
cJSON *phone = cJSON_GetObjectItemCaseSensitive(userJSON, "phone");
|
||||
if(phone) {
|
||||
if(!cJSON_IsString(phone)) {
|
||||
goto end; // String
|
||||
if (phone) {
|
||||
if(!cJSON_IsString(phone))
|
||||
{
|
||||
goto end; //String
|
||||
}
|
||||
}
|
||||
|
||||
// user->userStatus
|
||||
cJSON *userStatus = cJSON_GetObjectItemCaseSensitive(userJSON,
|
||||
"userStatus");
|
||||
if(userStatus) {
|
||||
if(!cJSON_IsNumber(userStatus)) {
|
||||
goto end; // Numeric
|
||||
cJSON *userStatus = cJSON_GetObjectItemCaseSensitive(userJSON, "userStatus");
|
||||
if (userStatus) {
|
||||
if(!cJSON_IsNumber(userStatus))
|
||||
{
|
||||
goto end; //Numeric
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
user_local_var = user_create(
|
||||
user_local_var = user_create (
|
||||
id ? id->valuedouble : 0,
|
||||
username ? strdup(username->valuestring) : NULL,
|
||||
firstName ? strdup(firstName->valuestring) : NULL,
|
||||
@ -210,4 +208,5 @@ user_t *user_parseFromJSON(cJSON *userJSON) {
|
||||
return user_local_var;
|
||||
end:
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
@ -15,18 +15,27 @@
|
||||
|
||||
|
||||
typedef struct user_t {
|
||||
long id; // numeric
|
||||
long id; //numeric
|
||||
char *username; // string
|
||||
char *firstName; // string
|
||||
char *lastName; // string
|
||||
char *email; // string
|
||||
char *password; // string
|
||||
char *phone; // string
|
||||
int userStatus; // numeric
|
||||
int userStatus; //numeric
|
||||
|
||||
} user_t;
|
||||
|
||||
user_t *user_create(long id, char *username, char *firstName, char *lastName,
|
||||
char *email, char *password, char *phone, int userStatus);
|
||||
user_t *user_create(
|
||||
long id,
|
||||
char *username,
|
||||
char *firstName,
|
||||
char *lastName,
|
||||
char *email,
|
||||
char *password,
|
||||
char *phone,
|
||||
int userStatus
|
||||
);
|
||||
|
||||
void user_free(user_t *user);
|
||||
|
||||
@ -35,3 +44,4 @@ user_t *user_parseFromJSON(cJSON *userJSON);
|
||||
cJSON *user_convertToJSON(user_t *user);
|
||||
|
||||
#endif /* _user_H_ */
|
||||
|
||||
|
@ -40,7 +40,8 @@ void replaceSpaceWithPlus(char *stringToProcess) {
|
||||
}
|
||||
}
|
||||
|
||||
char *assembleTargetUrl(char *basePath, char *operationParameter,
|
||||
char *assembleTargetUrl(char *basePath,
|
||||
char *operationParameter,
|
||||
list_t *queryParameters) {
|
||||
int neededBufferSizeForQueryParameters = 0;
|
||||
listEntry_t *listEntry;
|
||||
@ -125,10 +126,14 @@ int lengthOfKeyPair(keyValuePair_t *keyPair) {
|
||||
}
|
||||
|
||||
|
||||
void apiClient_invoke(apiClient_t *apiClient, char *operationParameter,
|
||||
list_t *queryParameters, list_t *headerParameters,
|
||||
list_t *formParameters, list_t *headerType,
|
||||
list_t *contentType, char *bodyParameters,
|
||||
void apiClient_invoke(apiClient_t *apiClient,
|
||||
char *operationParameter,
|
||||
list_t *queryParameters,
|
||||
list_t *headerParameters,
|
||||
list_t *formParameters,
|
||||
list_t *headerType,
|
||||
list_t *contentType,
|
||||
char *bodyParameters,
|
||||
char *requestType) {
|
||||
CURL *handle = curl_easy_init();
|
||||
CURLcode res;
|
||||
@ -283,18 +288,16 @@ void apiClient_invoke(apiClient_t *apiClient, char *operationParameter,
|
||||
}
|
||||
}
|
||||
// this would only be generated for apiKey authentication
|
||||
if(apiClient->apiKeys != NULL) {
|
||||
if (apiClient->apiKeys != NULL)
|
||||
{
|
||||
list_ForEach(listEntry, apiClient->apiKeys) {
|
||||
keyValuePair_t *apiKey = listEntry->data;
|
||||
if((apiKey->key != NULL) &&
|
||||
(apiKey->value != NULL) )
|
||||
{
|
||||
char *headerValueToWrite =
|
||||
assembleHeaderField(
|
||||
apiKey->key,
|
||||
apiKey->value);
|
||||
curl_slist_append(headers,
|
||||
headerValueToWrite);
|
||||
char *headerValueToWrite = assembleHeaderField(
|
||||
apiKey->key, apiKey->value);
|
||||
curl_slist_append(headers, headerValueToWrite);
|
||||
free(headerValueToWrite);
|
||||
}
|
||||
}
|
||||
@ -338,17 +341,15 @@ void apiClient_invoke(apiClient_t *apiClient, char *operationParameter,
|
||||
}
|
||||
|
||||
if(res == CURLE_OK) {
|
||||
curl_easy_getinfo(handle, CURLINFO_RESPONSE_CODE,
|
||||
&apiClient->response_code);
|
||||
curl_easy_getinfo(handle, CURLINFO_RESPONSE_CODE, &apiClient->response_code);
|
||||
} else {
|
||||
char *url, *ip, *scheme;
|
||||
char *url,*ip,*scheme;
|
||||
long port;
|
||||
curl_easy_getinfo(handle, CURLINFO_EFFECTIVE_URL, &url);
|
||||
curl_easy_getinfo(handle, CURLINFO_PRIMARY_IP, &ip);
|
||||
curl_easy_getinfo(handle, CURLINFO_PRIMARY_PORT, &port);
|
||||
curl_easy_getinfo(handle, CURLINFO_SCHEME, &scheme);
|
||||
fprintf(stderr,
|
||||
"curl_easy_perform() failed\n\nURL: %s\nIP: %s\nPORT: %li\nSCHEME: %s\nStrERROR: %s\n", url, ip, port, scheme,
|
||||
fprintf(stderr, "curl_easy_perform() failed\n\nURL: %s\nIP: %s\nPORT: %li\nSCHEME: %s\nStrERROR: %s\n",url,ip,port,scheme,
|
||||
curl_easy_strerror(res));
|
||||
}
|
||||
|
||||
@ -376,8 +377,7 @@ char *strReplace(char *orig, char *rep, char *with) {
|
||||
int count; // number of replacements
|
||||
|
||||
// sanity checks and initialization
|
||||
if(!orig ||
|
||||
!rep)
|
||||
if(!orig || !rep)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@ -419,42 +419,39 @@ char *strReplace(char *orig, char *rep, char *with) {
|
||||
return result;
|
||||
}
|
||||
|
||||
char *sbi_base64encode(const void *b64_encode_this,
|
||||
int encode_this_many_bytes) {
|
||||
char *sbi_base64encode (const void *b64_encode_this, int encode_this_many_bytes){
|
||||
#ifdef OPENSSL
|
||||
BIO *b64_bio, *mem_bio; // Declares two OpenSSL BIOs: a base64 filter and a memory BIO.
|
||||
BUF_MEM *mem_bio_mem_ptr; // Pointer to a "memory BIO" structure holding our base64 data.
|
||||
b64_bio = BIO_new(BIO_f_base64()); // Initialize our base64 filter BIO.
|
||||
mem_bio = BIO_new(BIO_s_mem()); // Initialize our memory sink BIO.
|
||||
BIO_push(b64_bio, mem_bio); // Link the BIOs by creating a filter-sink BIO chain.
|
||||
BIO_set_flags(b64_bio, BIO_FLAGS_BASE64_NO_NL); // No newlines every 64 characters or less.
|
||||
BIO_write(b64_bio, b64_encode_this, encode_this_many_bytes); // Records base64 encoded data.
|
||||
BIO_flush(b64_bio); // Flush data. Necessary for b64 encoding, because of pad characters.
|
||||
BIO_get_mem_ptr(mem_bio, &mem_bio_mem_ptr); // Store address of mem_bio's memory structure.
|
||||
BIO_set_close(mem_bio, BIO_NOCLOSE); // Permit access to mem_ptr after BIOs are destroyed.
|
||||
BIO_free_all(b64_bio); // Destroys all BIOs in chain, starting with b64 (i.e. the 1st one).
|
||||
BUF_MEM_grow(mem_bio_mem_ptr, (*mem_bio_mem_ptr).length + 1); // Makes space for end null.
|
||||
(*mem_bio_mem_ptr).data[(*mem_bio_mem_ptr).length] = '\0'; // Adds null-terminator to tail.
|
||||
return (*mem_bio_mem_ptr).data; // Returns base-64 encoded data. (See: "buf_mem_st" struct).
|
||||
BIO *b64_bio, *mem_bio; //Declares two OpenSSL BIOs: a base64 filter and a memory BIO.
|
||||
BUF_MEM *mem_bio_mem_ptr; //Pointer to a "memory BIO" structure holding our base64 data.
|
||||
b64_bio = BIO_new(BIO_f_base64()); //Initialize our base64 filter BIO.
|
||||
mem_bio = BIO_new(BIO_s_mem()); //Initialize our memory sink BIO.
|
||||
BIO_push(b64_bio, mem_bio); //Link the BIOs by creating a filter-sink BIO chain.
|
||||
BIO_set_flags(b64_bio, BIO_FLAGS_BASE64_NO_NL); //No newlines every 64 characters or less.
|
||||
BIO_write(b64_bio, b64_encode_this, encode_this_many_bytes); //Records base64 encoded data.
|
||||
BIO_flush(b64_bio); //Flush data. Necessary for b64 encoding, because of pad characters.
|
||||
BIO_get_mem_ptr(mem_bio, &mem_bio_mem_ptr); //Store address of mem_bio's memory structure.
|
||||
BIO_set_close(mem_bio, BIO_NOCLOSE); //Permit access to mem_ptr after BIOs are destroyed.
|
||||
BIO_free_all(b64_bio); //Destroys all BIOs in chain, starting with b64 (i.e. the 1st one).
|
||||
BUF_MEM_grow(mem_bio_mem_ptr, (*mem_bio_mem_ptr).length + 1); //Makes space for end null.
|
||||
(*mem_bio_mem_ptr).data[(*mem_bio_mem_ptr).length] = '\0'; //Adds null-terminator to tail.
|
||||
return (*mem_bio_mem_ptr).data; //Returns base-64 encoded data. (See: "buf_mem_st" struct).
|
||||
#endif
|
||||
}
|
||||
|
||||
char *sbi_base64decode(const void *b64_decode_this,
|
||||
int decode_this_many_bytes) {
|
||||
char *sbi_base64decode (const void *b64_decode_this, int decode_this_many_bytes){
|
||||
#ifdef OPENSSL
|
||||
BIO *b64_bio, *mem_bio; // Declares two OpenSSL BIOs: a base64 filter and a memory BIO.
|
||||
char *base64_decoded = calloc( (decode_this_many_bytes * 3) / 4 + 1,
|
||||
sizeof(char) ); // +1 = null.
|
||||
b64_bio = BIO_new(BIO_f_base64()); // Initialize our base64 filter BIO.
|
||||
mem_bio = BIO_new(BIO_s_mem()); // Initialize our memory source BIO.
|
||||
BIO_write(mem_bio, b64_decode_this, decode_this_many_bytes); // Base64 data saved in source.
|
||||
BIO_push(b64_bio, mem_bio); // Link the BIOs by creating a filter-source BIO chain.
|
||||
BIO_set_flags(b64_bio, BIO_FLAGS_BASE64_NO_NL); // Don't require trailing newlines.
|
||||
int decoded_byte_index = 0; // Index where the next base64_decoded byte should be written.
|
||||
while(0 < BIO_read(b64_bio, base64_decoded + decoded_byte_index, 1) ) { // Read byte-by-byte.
|
||||
decoded_byte_index++; // Increment the index until read of BIO decoded data is complete.
|
||||
} // Once we're done reading decoded data, BIO_read returns -1 even though there's no error.
|
||||
BIO_free_all(b64_bio); // Destroys all BIOs in chain, starting with b64 (i.e. the 1st one).
|
||||
return base64_decoded; // Returns base-64 decoded data with trailing null terminator.
|
||||
BIO *b64_bio, *mem_bio; //Declares two OpenSSL BIOs: a base64 filter and a memory BIO.
|
||||
char *base64_decoded = calloc( (decode_this_many_bytes*3)/4+1, sizeof(char) ); //+1 = null.
|
||||
b64_bio = BIO_new(BIO_f_base64()); //Initialize our base64 filter BIO.
|
||||
mem_bio = BIO_new(BIO_s_mem()); //Initialize our memory source BIO.
|
||||
BIO_write(mem_bio, b64_decode_this, decode_this_many_bytes); //Base64 data saved in source.
|
||||
BIO_push(b64_bio, mem_bio); //Link the BIOs by creating a filter-source BIO chain.
|
||||
BIO_set_flags(b64_bio, BIO_FLAGS_BASE64_NO_NL); //Don't require trailing newlines.
|
||||
int decoded_byte_index = 0; //Index where the next base64_decoded byte should be written.
|
||||
while ( 0 < BIO_read(b64_bio, base64_decoded+decoded_byte_index, 1) ){ //Read byte-by-byte.
|
||||
decoded_byte_index++; //Increment the index until read of BIO decoded data is complete.
|
||||
} //Once we're done reading decoded data, BIO_read returns -1 even though there's no error.
|
||||
BIO_free_all(b64_bio); //Destroys all BIOs in chain, starting with b64 (i.e. the 1st one).
|
||||
return base64_decoded; //Returns base-64 decoded data with trailing null terminator.
|
||||
#endif
|
||||
}
|
||||
|
@ -35,7 +35,8 @@ list_t *list_create() {
|
||||
return createdList;
|
||||
}
|
||||
|
||||
void list_iterateThroughListForward(list_t *list, void (*operationToPerform)(
|
||||
void list_iterateThroughListForward(list_t *list,
|
||||
void (*operationToPerform)(
|
||||
listEntry_t *,
|
||||
void *callbackFunctionUsedData),
|
||||
void *additionalDataNeededForCallbackFunction)
|
||||
@ -61,7 +62,8 @@ void list_iterateThroughListForward(list_t *list, void (*operationToPerform)(
|
||||
}
|
||||
}
|
||||
|
||||
void list_iterateThroughListBackward(list_t *list, void (*operationToPerform)(
|
||||
void list_iterateThroughListBackward(list_t *list,
|
||||
void (*operationToPerform)(
|
||||
listEntry_t *,
|
||||
void *callbackFunctionUsedData),
|
||||
void *additionalDataNeededForCallbackFunction)
|
||||
|
Loading…
x
Reference in New Issue
Block a user