Hemant Zope 3be4902444 [C] C generator refactored (#2463)
* New modified model header and body mustache for c client generator

* remove uncrustify from cmake as it is used during code generation, also remove valgrind as it is not used

* add function to encode and decode binary data

* update model mustache

* update api body and header mustache for handling all types of parameters

* update model mustache with variable names and address few more issues to generate working codes

* updated api body and header mustaches with support for various new parameters and fix some issues as per new changes in code flow structure

* update apiClient header and body mustache as per new modifications for handling binary data and few more stuff

* updated samples generated by new modified mustache

* update handling of file and binary data type to binary_t

* update samples with recent commit on master regarding c-generator

* update cmakelist which was ignored by .openapi-generator-ignore, cleanup external folder

* update CMakeList mustache to show how to use compiled libary to compile source files

* update samples with new cmake

* Add comments explaining what each command is doing inshort

* remove freeing of base path as it is not memory allocated

* update samples to free apiclient object when the requirement is over

* add missing cJSON delete to fix memory not freed bugs

* use uncrustify to beautify manual written test code
2019-04-15 11:27:34 +08:00

43 lines
866 B
C

/*
* pet.h
*
* A pet for sale in the pet store
*/
#ifndef _pet_H_
#define _pet_H_
#include <string.h>
#include "../external/cJSON.h"
#include "../include/list.h"
#include "../include/keyValuePair.h"
#include "category.h"
#include "tag.h"
typedef enum { available, pending, sold } status_e;
char *status_ToString(status_e status);
status_e status_FromString(char *status);
typedef struct pet_t {
long id; // numeric
category_t *category; // model
char *name; // string
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);
void pet_free(pet_t *pet);
pet_t *pet_parseFromJSON(cJSON *petJSON);
cJSON *pet_convertToJSON(pet_t *pet);
#endif /* _pet_H_ */