Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -153,10 +153,10 @@ static {{classname}}_t *{{classname}}_create_internal(
{{/isPrimitiveType}}
{{#isPrimitiveType}}
{{#isNumeric}}
{{datatype}} {{name}}{{^-last}},{{/-last}}
{{datatype}} *{{name}}{{^-last}},{{/-last}}
{{/isNumeric}}
{{#isBoolean}}
{{datatype}} {{name}}{{^-last}},{{/-last}}
{{datatype}} *{{name}}{{^-last}},{{/-last}}
{{/isBoolean}}
{{#isEnum}}
{{#isString}}
Expand Down Expand Up @@ -201,11 +201,11 @@ static {{classname}}_t *{{classname}}_create_internal(
if (!{{classname}}_local_var) {
return NULL;
}
memset({{classname}}_local_var, 0, sizeof({{classname}}_t));
{{classname}}_local_var->_library_owned = 1;
{{#vars}}
{{classname}}_local_var->{{{name}}} = {{{name}}};
{{/vars}}

{{classname}}_local_var->_library_owned = 1;
return {{classname}}_local_var;
}

Expand Down Expand Up @@ -243,10 +243,10 @@ __attribute__((deprecated)) {{classname}}_t *{{classname}}_create(
{{/isPrimitiveType}}
{{#isPrimitiveType}}
{{#isNumeric}}
{{datatype}} {{name}}{{^-last}},{{/-last}}
{{datatype}} *{{name}}{{^-last}},{{/-last}}
{{/isNumeric}}
{{#isBoolean}}
{{datatype}} {{name}}{{^-last}},{{/-last}}
{{datatype}} *{{name}}{{^-last}},{{/-last}}
{{/isBoolean}}
{{#isEnum}}
{{#isString}}
Expand Down Expand Up @@ -287,11 +287,57 @@ __attribute__((deprecated)) {{classname}}_t *{{classname}}_create(
{{/isContainer}}
{{/vars}}
) {
return {{classname}}_create_internal (
{{#vars}}
{{#isPrimitiveType}}
{{#isNumeric}}
{{datatype}} *{{name}}_copy = NULL;
if ({{{name}}}) {
{{name}}_copy = malloc(sizeof({{datatype}}));
if ({{name}}_copy) *{{name}}_copy = *{{{name}}};
}
{{/isNumeric}}
{{#isBoolean}}
{{datatype}} *{{name}}_copy = NULL;
if ({{{name}}}) {
{{name}}_copy = malloc(sizeof({{datatype}}));
if ({{name}}_copy) *{{name}}_copy = *{{{name}}};
}
{{/isBoolean}}
{{/isPrimitiveType}}
{{/vars}}
{{classname}}_t *result = {{classname}}_create_internal (
{{#vars}}
{{#isPrimitiveType}}
{{#isNumeric}}
{{name}}_copy{{^-last}},{{/-last}}
{{/isNumeric}}
{{#isBoolean}}
{{name}}_copy{{^-last}},{{/-last}}
{{/isBoolean}}
{{^isNumeric}}
{{^isBoolean}}
{{name}}{{^-last}},{{/-last}}
{{/isBoolean}}
{{/isNumeric}}
{{/isPrimitiveType}}
{{^isPrimitiveType}}
{{name}}{{^-last}},{{/-last}}
{{/isPrimitiveType}}
{{/vars}}
);
if (!result) {
{{#vars}}
{{#isPrimitiveType}}
{{#isNumeric}}
free({{name}}_copy);
{{/isNumeric}}
{{#isBoolean}}
free({{name}}_copy);
{{/isBoolean}}
{{/isPrimitiveType}}
{{/vars}}
}
return result;
}

void {{classname}}_free({{classname}}_t *{{classname}}) {
Expand Down Expand Up @@ -344,6 +390,18 @@ void {{classname}}_free({{classname}}_t *{{classname}}) {
{{/isFreeFormObject}}
{{/isPrimitiveType}}
{{#isPrimitiveType}}
{{#isNumeric}}
if ({{{classname}}}->{{{name}}}) {
free({{{classname}}}->{{{name}}});
{{classname}}->{{name}} = NULL;
}
{{/isNumeric}}
{{#isBoolean}}
if ({{{classname}}}->{{{name}}}) {
free({{{classname}}}->{{{name}}});
{{classname}}->{{name}} = NULL;
}
{{/isBoolean}}
{{^isEnum}}
{{#isString}}
if ({{{classname}}}->{{{name}}}) {
Expand Down Expand Up @@ -454,12 +512,12 @@ cJSON *{{classname}}_convertToJSON({{classname}}_t *{{classname}}) {
{{^isContainer}}
{{#isPrimitiveType}}
{{#isNumeric}}
if(cJSON_AddNumberToObject(item, "{{{baseName}}}", {{{classname}}}->{{{name}}}) == NULL) {
if(cJSON_AddNumberToObject(item, "{{{baseName}}}", *{{{classname}}}->{{{name}}}) == NULL) {
goto fail; //Numeric
}
{{/isNumeric}}
{{#isBoolean}}
if(cJSON_AddBoolToObject(item, "{{{baseName}}}", {{{classname}}}->{{{name}}}) == NULL) {
if(cJSON_AddBoolToObject(item, "{{{baseName}}}", *{{{classname}}}->{{{name}}}) == NULL) {
goto fail; //Bool
}
{{/isBoolean}}
Expand Down Expand Up @@ -699,6 +757,44 @@ fail:

{{/isFreeFormObject}}
{{/isModel}}
{{#isUuid}}
char *{{name}}_local_str = NULL;

{{/isUuid}}
{{#isEmail}}
char *{{name}}_local_str = NULL;

{{/isEmail}}
{{/isPrimitiveType}}
{{#isPrimitiveType}}
{{#isNumeric}}
// define the local variable for {{{classname}}}->{{{name}}}
{{datatype}} *{{name}}_local_var = NULL;

{{/isNumeric}}
{{#isBoolean}}
// define the local variable for {{{classname}}}->{{{name}}}
{{datatype}} *{{name}}_local_var = NULL;

{{/isBoolean}}
{{^isEnum}}
{{#isString}}
char *{{name}}_local_str = NULL;

{{/isString}}
{{/isEnum}}
{{#isByteArray}}
char *{{name}}_local_str = NULL;

{{/isByteArray}}
{{#isDate}}
char *{{name}}_local_str = NULL;

{{/isDate}}
{{#isDateTime}}
char *{{name}}_local_str = NULL;

{{/isDateTime}}
{{/isPrimitiveType}}
{{/isContainer}}
{{/vars}}
Expand All @@ -722,13 +818,25 @@ fail:
{
goto end; //Numeric
}
{{name}}_local_var = malloc(sizeof({{datatype}}));
if(!{{name}}_local_var)
{
goto end;
}
*{{name}}_local_var = {{{name}}}->valuedouble;
{{/isNumeric}}
{{#isBoolean}}
{{^required}}if ({{{name}}}) { {{/required}}
if(!cJSON_IsBool({{{name}}}))
{
goto end; //Bool
}
{{name}}_local_var = malloc(sizeof({{datatype}}));
if(!{{name}}_local_var)
{
goto end;
}
*{{name}}_local_var = {{{name}}}->valueint;
{{/isBoolean}}
{{#isEnum}}
{{#isString}}
Expand Down Expand Up @@ -948,6 +1056,35 @@ fail:

{{/vars}}

{{#vars}}
{{^isContainer}}
{{^isPrimitiveType}}
{{#isUuid}}
if ({{{name}}}) {{name}}_local_str = strdup({{{name}}}->valuestring);
{{/isUuid}}
{{#isEmail}}
if ({{{name}}}) {{name}}_local_str = strdup({{{name}}}->valuestring);
{{/isEmail}}
{{/isPrimitiveType}}
{{#isPrimitiveType}}
{{^isEnum}}
{{#isString}}
if ({{{name}}} && !cJSON_IsNull({{{name}}})) {{name}}_local_str = strdup({{{name}}}->valuestring);
{{/isString}}
{{/isEnum}}
{{#isByteArray}}
if ({{{name}}}) {{name}}_local_str = strdup({{{name}}}->valuestring);
{{/isByteArray}}
{{#isDate}}
if ({{{name}}}) {{name}}_local_str = strdup({{{name}}}->valuestring);
{{/isDate}}
{{#isDateTime}}
if ({{{name}}} && !cJSON_IsNull({{{name}}})) {{name}}_local_str = strdup({{{name}}}->valuestring);
{{/isDateTime}}
{{/isPrimitiveType}}
{{/isContainer}}
{{/vars}}

{{classname}}_local_var = {{classname}}_create_internal (
{{#vars}}
{{^isContainer}}
Expand All @@ -966,21 +1103,21 @@ fail:
{{/isFreeFormObject}}
{{/isModel}}
{{#isUuid}}
{{^required}}{{{name}}} ? {{/required}}strdup({{{name}}}->valuestring){{^required}} : NULL{{/required}}{{^-last}},{{/-last}}
{{name}}_local_str{{^-last}},{{/-last}}
{{/isUuid}}
{{#isEmail}}
{{^required}}{{{name}}} ? {{/required}}strdup({{{name}}}->valuestring){{^required}} : NULL{{/required}}{{^-last}},{{/-last}}
{{name}}_local_str{{^-last}},{{/-last}}
{{/isEmail}}
{{#isFreeFormObject}}
{{^required}}{{{name}}} ? {{/required}}{{{name}}}_local_object{{^required}} : NULL{{/required}}{{^-last}},{{/-last}}
{{/isFreeFormObject}}
{{/isPrimitiveType}}
{{#isPrimitiveType}}
{{#isNumeric}}
{{^required}}{{{name}}} ? {{/required}}{{{name}}}->valuedouble{{^required}} : 0{{/required}}{{^-last}},{{/-last}}
{{name}}_local_var{{^-last}},{{/-last}}
{{/isNumeric}}
{{#isBoolean}}
{{^required}}{{{name}}} ? {{/required}}{{{name}}}->valueint{{^required}} : 0{{/required}}{{^-last}},{{/-last}}
{{name}}_local_var{{^-last}},{{/-last}}
{{/isBoolean}}
{{#isEnum}}
{{#isString}}
Expand All @@ -989,20 +1126,20 @@ fail:
{{/isEnum}}
{{^isEnum}}
{{#isString}}
{{^required}}{{{name}}} && !cJSON_IsNull({{{name}}}) ? {{/required}}strdup({{{name}}}->valuestring){{^required}} : NULL{{/required}}{{^-last}},{{/-last}}
{{name}}_local_str{{^-last}},{{/-last}}
{{/isString}}
{{/isEnum}}
{{#isByteArray}}
{{^required}}{{{name}}} ? {{/required}}strdup({{{name}}}->valuestring){{^required}} : NULL{{/required}}{{^-last}},{{/-last}}
{{name}}_local_str{{^-last}},{{/-last}}
{{/isByteArray}}
{{#isBinary}}
{{^required}}{{{name}}} ? {{/required}}decoded_str_{{{name}}}{{^required}} : NULL{{/required}}{{^-last}},{{/-last}}
{{/isBinary}}
{{#isDate}}
{{^required}}{{{name}}} ? {{/required}}strdup({{{name}}}->valuestring){{^required}} : NULL{{/required}}{{^-last}},{{/-last}}
{{name}}_local_str{{^-last}},{{/-last}}
{{/isDate}}
{{#isDateTime}}
{{^required}}{{{name}}} && !cJSON_IsNull({{{name}}}) ? {{/required}}strdup({{{name}}}->valuestring){{^required}} : NULL{{/required}}{{^-last}},{{/-last}}
{{name}}_local_str{{^-last}},{{/-last}}
{{/isDateTime}}
{{/isPrimitiveType}}
{{/isContainer}}
Expand All @@ -1022,6 +1159,10 @@ fail:
{{/vars}}
);

if (!{{classname}}_local_var) {
goto end;
}

return {{classname}}_local_var;
end:
{{#vars}}
Expand All @@ -1045,6 +1186,58 @@ end:
}
{{/isFreeFormObject}}
{{/isModel}}
{{#isUuid}}
if ({{{name}}}_local_str) {
free({{{name}}}_local_str);
{{{name}}}_local_str = NULL;
}
{{/isUuid}}
{{#isEmail}}
if ({{{name}}}_local_str) {
free({{{name}}}_local_str);
{{{name}}}_local_str = NULL;
}
{{/isEmail}}
{{/isPrimitiveType}}
{{#isPrimitiveType}}
{{#isNumeric}}
if ({{{name}}}_local_var) {
free({{{name}}}_local_var);
{{{name}}}_local_var = NULL;
}
{{/isNumeric}}
{{#isBoolean}}
if ({{{name}}}_local_var) {
free({{{name}}}_local_var);
{{{name}}}_local_var = NULL;
}
{{/isBoolean}}
{{^isEnum}}
{{#isString}}
if ({{{name}}}_local_str) {
free({{{name}}}_local_str);
{{{name}}}_local_str = NULL;
}
{{/isString}}
{{/isEnum}}
{{#isByteArray}}
if ({{{name}}}_local_str) {
free({{{name}}}_local_str);
{{{name}}}_local_str = NULL;
}
{{/isByteArray}}
{{#isDate}}
if ({{{name}}}_local_str) {
free({{{name}}}_local_str);
{{{name}}}_local_str = NULL;
}
{{/isDate}}
{{#isDateTime}}
if ({{{name}}}_local_str) {
free({{{name}}}_local_str);
{{{name}}}_local_str = NULL;
}
{{/isDateTime}}
{{/isPrimitiveType}}
{{/isContainer}}
{{#isContainer}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,10 +110,10 @@ typedef struct {{classname}}_t {
{{/isPrimitiveType}}
{{#isPrimitiveType}}
{{#isNumeric}}
{{datatype}} {{name}}; //numeric
{{datatype}} *{{name}}; //numeric
{{/isNumeric}}
{{#isBoolean}}
{{datatype}} {{name}}; //boolean
{{datatype}} *{{name}}; //boolean
{{/isBoolean}}
{{#isEnum}}
{{#isString}}
Expand Down Expand Up @@ -191,10 +191,10 @@ __attribute__((deprecated)) {{classname}}_t *{{classname}}_create(
{{/isPrimitiveType}}
{{#isPrimitiveType}}
{{#isNumeric}}
{{datatype}} {{name}}{{^-last}},{{/-last}}
{{datatype}} *{{name}}{{^-last}},{{/-last}}
{{/isNumeric}}
{{#isBoolean}}
{{datatype}} {{name}}{{^-last}},{{/-last}}
{{datatype}} *{{name}}{{^-last}},{{/-last}}
{{/isBoolean}}
{{#isEnum}}
{{#isString}}
Expand Down
Loading
Loading