Json util module implementation file. More...
#include "cJSON/cJSON.h"
#include "json_util.h"
#include "mcl/mcl_json_util.h"
#include "definitions.h"
#include "log_util.h"
#include "memory.h"
#include "string_util.h"
Go to the source code of this file.
Functions | |
static void | _finish_json_item (json_t **json_item) |
static E_JSON_TYPE | _convert_mcl_json_type_to_json_type (E_MCL_JSON_TYPE mcl_json_type) |
void | json_util_initialize_json_library () |
This function initializes json library. More... | |
E_MCL_ERROR_CODE | mcl_json_util_initialize (E_MCL_JSON_TYPE json_type, mcl_json_t **root) |
This function initializes the given root json. More... | |
E_MCL_ERROR_CODE | json_util_initialize (E_JSON_TYPE json_type, json_t **root) |
This function initializes the given root json. More... | |
E_MCL_ERROR_CODE | mcl_json_util_start_array (mcl_json_t *root, const char *array_name, mcl_json_t **json_array) |
This function creates an array in root . More... | |
E_MCL_ERROR_CODE | json_util_start_array (json_t *root, const char *array_name, json_t **json_array) |
This function creates an array in root . More... | |
E_MCL_ERROR_CODE | mcl_json_util_get_array_item (mcl_json_t *array, int index, mcl_json_t **item) |
This function gets the item at given index from array . More... | |
E_MCL_ERROR_CODE | json_util_get_array_item (json_t *array, int index, json_t **item) |
This function gets the item at given index from array . More... | |
E_MCL_ERROR_CODE | mcl_json_util_get_array_size (mcl_json_t *array, mcl_size_t *size) |
This function returns the size of array . More... | |
void | json_util_get_array_size (json_t *array, mcl_size_t *size) |
This function returns the size of array . More... | |
E_MCL_ERROR_CODE | mcl_json_util_start_object (mcl_json_t *root, const char *object_name, mcl_json_t **json_object) |
This function creates an object in root . More... | |
E_MCL_ERROR_CODE | json_util_start_object (json_t *root, const char *object_name, json_t **json_object) |
This function creates an object in root . More... | |
E_MCL_ERROR_CODE | mcl_json_util_add_string (mcl_json_t *root, const char *object_name, const char *object_value) |
This function adds string to root which can be object or array. More... | |
E_MCL_ERROR_CODE | json_util_add_string (json_t *root, const char *object_name, const char *object_value) |
This function adds string to root which can be object or array. More... | |
E_MCL_ERROR_CODE | mcl_json_util_add_uint (mcl_json_t *root, const char *object_name, const mcl_size_t number) |
This function adds integer number to root which can be object or array. More... | |
E_MCL_ERROR_CODE | json_util_add_uint (json_t *root, const char *object_name, const mcl_size_t number) |
This function adds integer number to root which can be object or array. More... | |
E_MCL_ERROR_CODE | mcl_json_util_add_float (mcl_json_t *root, const char *object_name, const float number) |
This function adds floating number to root . More... | |
E_MCL_ERROR_CODE | json_util_add_float (json_t *root, const char *object_name, const float number) |
This function adds floating number to root . More... | |
E_MCL_ERROR_CODE | mcl_json_util_add_double (mcl_json_t *root, const char *object_name, const double number) |
This function adds double number to root which can be object or array. More... | |
E_MCL_ERROR_CODE | json_util_add_double (json_t *root, const char *object_name, const double number) |
This function adds double number to root which can be object or array. More... | |
E_MCL_ERROR_CODE | mcl_json_util_add_bool (mcl_json_t *root, const char *object_name, const mcl_bool_t bool_value) |
This function adds bool_value to root which can be object or array. More... | |
E_MCL_ERROR_CODE | json_util_add_bool (json_t *root, const char *object_name, const mcl_bool_t bool_value) |
This function adds bool_value to root which can be object or array. More... | |
E_MCL_ERROR_CODE | mcl_json_util_add_null (mcl_json_t *root, const char *object_name) |
This function adds null to root which can be object or array. More... | |
E_MCL_ERROR_CODE | json_util_add_null (json_t *root, const char *object_name) |
This function adds null to root which can be object or array. More... | |
E_MCL_ERROR_CODE | mcl_json_util_add_object (mcl_json_t *root, const char *object_name, mcl_json_t *object) |
This function adds object to root . More... | |
E_MCL_ERROR_CODE | json_util_add_object (json_t *root, const char *object_name, json_t *object) |
This function adds object to root . More... | |
E_MCL_ERROR_CODE | mcl_json_util_add_item_to_array (mcl_json_t *root, mcl_json_t *object) |
This function adds object to root array. More... | |
void | json_util_add_item_to_array (json_t *root, json_t *object) |
This function adds object to root array. More... | |
E_MCL_ERROR_CODE | mcl_json_util_get_object_item (mcl_json_t *json_parent, const char *child_name, mcl_json_t **json_child) |
This function gives the value of json_child object, when the child_name in json_parent object is given. More... | |
E_MCL_ERROR_CODE | json_util_get_object_item (json_t *json_parent, const char *child_name, json_t **json_child) |
This function gives the value of json_child object, when the child_name in json_parent object is given. More... | |
E_MCL_ERROR_CODE | mcl_json_util_has_child (mcl_json_t *root, mcl_bool_t *result) |
This function checks whether root object has child object or not. More... | |
mcl_bool_t | json_util_has_child (json_t *root) |
This function checks whether root object has child object or not. More... | |
E_MCL_ERROR_CODE | mcl_json_util_get_number_value (mcl_json_t *json, mcl_int32_t *number_value) |
This function gets the number value of a given json object. More... | |
void | json_util_get_number_value (json_t *json, mcl_int32_t *number_value) |
This function gets the number value of a given json object. More... | |
E_MCL_ERROR_CODE | mcl_json_util_get_double_value (mcl_json_t *json, double *double_value) |
This function gets the double value of a given json object. More... | |
void | json_util_get_double_value (json_t *json, double *double_value) |
This function gets the double value of a given json object. More... | |
E_MCL_ERROR_CODE | mcl_json_util_get_bool_value (mcl_json_t *json, mcl_bool_t *bool_value) |
This function gets the boolean value of a given json object. More... | |
void | json_util_get_bool_value (json_t *json, mcl_bool_t *bool_value) |
This function gets the boolean value of a given json object. More... | |
E_MCL_ERROR_CODE | mcl_json_util_get_string (mcl_json_t *json_item, char **string_value) |
This function gets the string value of a given json object. More... | |
E_MCL_ERROR_CODE | json_util_get_string (json_t *json_item, string_t **string_value) |
This function gets the string value of a given json object. More... | |
E_MCL_ERROR_CODE | mcl_json_util_to_string (mcl_json_t *root, char **json_string) |
This function gives the string of root in json format. More... | |
E_MCL_ERROR_CODE | json_util_to_string (json_t *root, char **json_string) |
This function gives the string of root in json format. More... | |
E_MCL_ERROR_CODE | mcl_json_util_parse (const char *json_string, mcl_json_t **root) |
This function parses the given string to the given json object. More... | |
E_MCL_ERROR_CODE | json_util_parse (const char *json_string, json_t **root) |
This function parses the given string to the given json object. More... | |
E_MCL_ERROR_CODE | json_util_parse_with_size (const char *json_string, mcl_size_t size, json_t **root) |
This function parses the given string to the given json object. More... | |
E_MCL_ERROR_CODE | json_util_duplicate (const json_t *source_json, mcl_bool_t with_children, json_t **duplicated_json) |
This function duplicates source_json as duplicated_json . More... | |
void | mcl_json_util_finish_array (mcl_json_t **json_array) |
This function destroys json_array data struct. But the array still exists in root json object. More... | |
void | json_util_finish_array (json_t **json_array) |
This function destroys json_array data struct. But the array still exists in root json object. More... | |
void | mcl_json_util_finish_object (mcl_json_t **json_object) |
This function destroys json_object data struct. But the object still exists in root json object. More... | |
void | json_util_finish_object (json_t **json_object) |
This function destroys json_object data struct. But the object still exists in root json object. More... | |
void | mcl_json_util_destroy (mcl_json_t **root) |
This function destroys root . More... | |
void | json_util_destroy (json_t **root) |
This function destroys root . More... | |
Variables | |
static cJSON_Hooks | cjson_hooks |
Json util module implementation file.
Definition in file json_util.c.
|
static |
Definition at line 888 of file json_util.c.
References JSON_ARRAY, JSON_NULL, JSON_OBJECT, MCL_JSON_ARRAY, MCL_JSON_OBJECT, MCL_VERBOSE, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by mcl_json_util_initialize().
|
static |
Definition at line 876 of file json_util.c.
References MCL_FREE, MCL_NULL, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by json_util_finish_array(), and json_util_finish_object().
E_MCL_ERROR_CODE json_util_add_bool | ( | json_t * | root, |
const char * | object_name, | ||
const mcl_bool_t | bool_value | ||
) |
This function adds bool_value
to root
which can be object or array.
[in] | root | Root json. It can be object or array. |
[in] | object_name | Name of the bool value which is going to be added to root . |
[in] | bool_value | Bool value to be added to root . |
object_name
is already used in root
as object name. root
type is array and object_name
is not null, or root
type is object and object_name
is null. Definition at line 406 of file json_util.c.
References ASSERT_CODE_MESSAGE, json_util_get_object_item(), MCL_FREE, MCL_INVALID_PARAMETER, MCL_JSON_NAME_DUPLICATION, MCL_NON_EXISTING_JSON_CHILD, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by mcl_json_util_add_bool().
E_MCL_ERROR_CODE json_util_add_double | ( | json_t * | root, |
const char * | object_name, | ||
const double | number | ||
) |
This function adds double number to root
which can be object or array.
[in] | root | Root json. It can be object or array. |
[in] | object_name | Name of the name/value pair which is going to be added to root . |
[in] | number | Value of the name/value pair which is going to be added to root . |
object_name
is already used in root
as object name. root
type is array and object_name
is not null, or root
type is object and object_name
is null. Definition at line 358 of file json_util.c.
References ASSERT_CODE_MESSAGE, json_util_get_object_item(), MCL_FREE, MCL_INVALID_PARAMETER, MCL_JSON_NAME_DUPLICATION, MCL_NON_EXISTING_JSON_CHILD, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _create_self_issued_jwt_payload(), and mcl_json_util_add_double().
E_MCL_ERROR_CODE json_util_add_float | ( | json_t * | root, |
const char * | object_name, | ||
const float | number | ||
) |
This function adds floating number to root
.
[in] | root | Root json object. |
[in] | object_name | Name of the name/value pair which is going to be added to root . |
[in] | number | Value of the name/value pair which is going to be added to root . |
Definition at line 329 of file json_util.c.
References MCL_OPERATION_IS_NOT_SUPPORTED, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by mcl_json_util_add_float().
This function adds object
to root
array.
[in] | root | Root json array. |
[in] | object | object which is going to be added to root array. |
Definition at line 540 of file json_util.c.
References json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _add_data_source_configuration_data_points(), _add_data_source_configuration_data_sources(), _add_event(), _add_key_to_keys_array(), _add_time_series_payload_values_objects(), _add_time_series_value_set(), and mcl_json_util_add_item_to_array().
E_MCL_ERROR_CODE json_util_add_null | ( | json_t * | root, |
const char * | object_name | ||
) |
This function adds null to root
which can be object or array.
[in] | root | Root json. It can be object or array. |
[in] | object_name | Name of the null value which is going to be added to root . |
object_name
is already used in root
as object name. root
type is array and object_name
is not null, or root
type is object and object_name
is null. Definition at line 454 of file json_util.c.
References ASSERT_CODE_MESSAGE, json_util_get_object_item(), MCL_FREE, MCL_INVALID_PARAMETER, MCL_JSON_NAME_DUPLICATION, MCL_NON_EXISTING_JSON_CHILD, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by mcl_json_util_add_null().
E_MCL_ERROR_CODE json_util_add_object | ( | json_t * | root, |
const char * | object_name, | ||
json_t * | object | ||
) |
This function adds object
to root
.
[in] | root | Root json object. |
[in] | object_name | Name of object which is going to be going to be added to root . |
[in] | object | object which is going to be added to root . |
object_name
is already used in root
as object name. Definition at line 504 of file json_util.c.
References ASSERT_CODE_MESSAGE, json_util_get_object_item(), MCL_FREE, MCL_JSON_NAME_DUPLICATION, MCL_NON_EXISTING_JSON_CHILD, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _add_data_source_configuration_data_points(), _add_data_source_configuration_data_sources(), _add_event(), _add_item_meta_details(), _add_item_meta_payload_details(), and mcl_json_util_add_object().
E_MCL_ERROR_CODE json_util_add_string | ( | json_t * | root, |
const char * | object_name, | ||
const char * | object_value | ||
) |
This function adds string to root
which can be object or array.
root
is array, object_name
must be null.[in] | root | Root json. It can be object or array. |
[in] | object_name | Name of the name/value pair which is going to be added to root . |
[in] | object_value | Value of the name/value pair which is going to be added to root . |
object_name
is already used in root
as object name. root
type is array and object_name
is not null, or root
type is object and object_name
is null. Definition at line 237 of file json_util.c.
References ASSERT_CODE_MESSAGE, json_util_get_object_item(), MCL_FREE, MCL_INVALID_PARAMETER, MCL_JSON_NAME_DUPLICATION, MCL_NON_EXISTING_JSON_CHILD, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _add_data_source_configuration_data_points(), _add_data_source_configuration_data_sources(), _add_event(), _add_item_meta_payload(), _add_schema_to_jwt(), _add_string_field_to_object(), _add_time_series_payload_values_objects(), _add_time_series_value_set(), _compose_rsa_key_rotation_json(), _compose_rsa_onboarding_json(), _create_self_issued_jwt_header(), _create_self_issued_jwt_payload(), json_from_data_source_configuration_payload(), and mcl_json_util_add_string().
E_MCL_ERROR_CODE json_util_add_uint | ( | json_t * | root, |
const char * | object_name, | ||
const mcl_size_t | number | ||
) |
This function adds integer number to root
which can be object or array.
root
is array, object_name
must be null.[in] | root | Root json. It can be object or array. |
[in] | object_name | Name of the name/value pair which is going to be added to root . |
[in] | number | Value of the name/value pair which is going to be added to root . |
object_name
is already used in root
as object name. root
type is array and object_name
is not null, or root
type is object and object_name
is null. Definition at line 285 of file json_util.c.
References ASSERT_CODE_MESSAGE, json_util_get_object_item(), MCL_FREE, MCL_INVALID_PARAMETER, MCL_JSON_NAME_DUPLICATION, MCL_NON_EXISTING_JSON_CHILD, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _add_event(), and mcl_json_util_add_uint().
void json_util_destroy | ( | json_t ** | root | ) |
This function destroys root
.
root
is destroyed, all child json objects in root
are also destroyed.[out] | root | Root json object. |
Definition at line 863 of file json_util.c.
References MCL_FREE, MCL_NULL, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _add_data_source_configuration_data_points(), _add_data_source_configuration_data_sources(), _add_event(), _add_item_meta_details(), _add_item_meta_payload_details(), _add_time_series_payload_values_objects(), _add_time_series_value_set(), _compose_rsa_key_rotation_json(), _compose_rsa_onboarding_json(), _create_self_issued_jwt_header(), _create_self_issued_jwt_payload(), _destroy_data_point(), _destroy_data_source(), _process_registration_response_rsa_3072(), _process_registration_response_shared_secret(), custom_data_destroy(), event_destroy(), http_processor_get_access_token(), json_from_data_source_configuration_payload(), json_from_event_payload(), json_from_item_meta(), json_from_time_series_payload(), jwt_destroy(), mcl_event_set_option(), and mcl_json_util_destroy().
E_MCL_ERROR_CODE json_util_duplicate | ( | const json_t * | source_json, |
mcl_bool_t | with_children, | ||
json_t ** | duplicated_json | ||
) |
This function duplicates source_json
as duplicated_json
.
[in] | source_json | Json object to be duplicated. |
[in] | with_children | If it is true, duplicate with children. Otherwise, only root is duplicated. |
[out] | duplicated_json | Duplicated json from source_json . |
Definition at line 805 of file json_util.c.
References ASSERT_CODE_MESSAGE, ASSERT_STATEMENT_CODE_MESSAGE, MCL_FREE, MCL_NEW, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _add_data_source_configuration_data_points(), _add_data_source_configuration_data_sources(), _add_event(), _add_item_meta_payload_details(), mcl_custom_data_set_meta_details(), mcl_data_source_configuration_add_data_point(), mcl_data_source_configuration_add_data_source(), and mcl_event_set_option().
void json_util_finish_array | ( | json_t ** | json_array | ) |
This function destroys json_array
data struct. But the array still exists in root json object.
json_array
from root, mcl_json_util_destroy must be called for root json object.[out] | json_array | Json array which exists in root . |
Definition at line 827 of file json_util.c.
References _finish_json_item(), VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _add_data_source_configuration_data_points(), _add_data_source_configuration_data_sources(), _add_schema_to_jwt(), _add_time_series_payload_values_array(), and mcl_json_util_finish_array().
void json_util_finish_object | ( | json_t ** | json_object | ) |
This function destroys json_object
data struct. But the object still exists in root json object.
json_object
from root, mcl_json_util_destroy must be called for root json object.[out] | json_object | Json object which exists in root . |
Definition at line 845 of file json_util.c.
References _finish_json_item(), VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _add_data_source_configuration_data_points(), _add_data_source_configuration_data_sources(), _add_event(), _add_item_meta_details(), _add_item_meta_payload(), _add_item_meta_payload_details(), _add_time_series_payload_values_objects(), _add_time_series_value_set(), _compose_rsa_key_rotation_json(), _compose_rsa_onboarding_json(), and mcl_json_util_finish_object().
E_MCL_ERROR_CODE json_util_get_array_item | ( | json_t * | array, |
int | index, | ||
json_t ** | item | ||
) |
This function gets the item at given index from array
.
[in] | array | Array json object. |
[in] | index | Index of the item to get from array . |
[out] | item | Result json object item. |
Definition at line 141 of file json_util.c.
References ASSERT_CODE_MESSAGE, ASSERT_STATEMENT_CODE_MESSAGE, MCL_FAIL, MCL_FREE, MCL_NEW, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, MCL_TRUE, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by mcl_json_util_get_array_item().
void json_util_get_array_size | ( | json_t * | array, |
mcl_size_t * | size | ||
) |
This function returns the size of array
.
[in] | array | Array json object. |
[out] | size | Size of array . |
Definition at line 173 of file json_util.c.
References json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by mcl_json_util_get_array_size().
void json_util_get_bool_value | ( | json_t * | json, |
mcl_bool_t * | bool_value | ||
) |
This function gets the boolean value of a given json object.
[in] | json | Root object of bool_value . |
[in] | bool_value | Value of json . |
Definition at line 673 of file json_util.c.
References MCL_FALSE, MCL_TRUE, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by mcl_json_util_get_bool_value().
void json_util_get_double_value | ( | json_t * | json, |
double * | double_value | ||
) |
This function gets the double value of a given json object.
[in] | json | Root object of double_value . |
[in] | double_value | Value of json . |
Definition at line 651 of file json_util.c.
References json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by mcl_json_util_get_double_value().
void json_util_get_number_value | ( | json_t * | json, |
mcl_int32_t * | number_value | ||
) |
This function gets the number value of a given json object.
[in] | json | Root object of number_value . |
[in] | number_value | Value of json . |
Definition at line 629 of file json_util.c.
References json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by mcl_json_util_get_number_value().
E_MCL_ERROR_CODE json_util_get_object_item | ( | json_t * | json_parent, |
const char * | child_name, | ||
json_t ** | json_child | ||
) |
This function gives the value of json_child
object, when the child_name
in json_parent
object is given.
[in] | json_parent | Root json object of json_child . |
[in] | child_name | Name of the json_child object. |
[out] | json_child | The json object which is going to be received. New memory space will be allocated for this parameter. Ownership passed to caller. Caller must free the space of json_child with MCL_FREE(*json_child). |
json_child
doesn't exist in json_parent
. Definition at line 565 of file json_util.c.
References ASSERT_CODE_MESSAGE, MCL_FREE, MCL_NEW, MCL_NON_EXISTING_JSON_CHILD, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _process_registration_response_rsa_3072(), _process_registration_response_shared_secret(), http_processor_get_access_token(), json_util_add_bool(), json_util_add_double(), json_util_add_null(), json_util_add_object(), json_util_add_string(), json_util_add_uint(), json_util_start_array(), json_util_start_object(), and mcl_json_util_get_object_item().
E_MCL_ERROR_CODE json_util_get_string | ( | json_t * | json_item, |
string_t ** | string_value | ||
) |
This function gets the string value of a given json object.
[in] | json_item | Root object of string_value . |
[in] | string_value | String value of json_item . New memory space will be allocated for this parameter. Ownership passed to caller. Caller must free the space. |
Definition at line 711 of file json_util.c.
References ASSERT_CODE_MESSAGE, MCL_OK, MCL_OUT_OF_MEMORY, json_t::root_handle, string_initialize_new(), VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _process_registration_response_rsa_3072(), _process_registration_response_shared_secret(), http_processor_get_access_token(), and mcl_json_util_get_string().
mcl_bool_t json_util_has_child | ( | json_t * | root | ) |
This function checks whether root object has child object or not.
[in] | root | Json object which is going to be checked whether it has child or not. |
Definition at line 600 of file json_util.c.
References MCL_FALSE, MCL_NULL, MCL_TRUE, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _add_item_meta_details(), _add_item_meta_payload_details(), and mcl_json_util_has_child().
E_MCL_ERROR_CODE json_util_initialize | ( | E_JSON_TYPE | json_type, |
json_t ** | root | ||
) |
This function initializes the given root
json.
[in] | json_type | Type of the json. |
[out] | root | Root json. |
Definition at line 53 of file json_util.c.
References ASSERT_CODE_MESSAGE, ASSERT_STATEMENT_CODE_MESSAGE, JSON_ARRAY, JSON_OBJECT, MCL_FREE, MCL_NEW, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, MCL_VERBOSE, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _add_data_source_configuration_data_points(), _add_data_source_configuration_data_sources(), _add_event(), _add_item_meta_details(), _add_item_meta_payload_details(), _add_key_to_keys_array(), _add_time_series_payload_values_objects(), _add_time_series_value_set(), _compose_rsa_key_rotation_json(), _compose_rsa_onboarding_json(), _create_self_issued_jwt_header(), _create_self_issued_jwt_payload(), json_from_data_source_configuration_payload(), json_from_event_payload(), json_from_item_meta(), json_from_time_series_payload(), json_util_start_array(), json_util_start_object(), and mcl_json_util_initialize().
void json_util_initialize_json_library | ( | ) |
This function initializes json library.
Supplying malloc, realloc and free functions to cJSON is performed in this function.
Definition at line 28 of file json_util.c.
References cjson_hooks, DEBUG_ENTRY, DEBUG_LEAVE, memory_free(), and memory_malloc().
Referenced by http_processor_initialize().
E_MCL_ERROR_CODE json_util_parse | ( | const char * | json_string, |
json_t ** | root | ||
) |
This function parses the given string to the given json object.
[in] | json_string | String in json format. New memory space will be allocated for this parameter. Ownership passed to caller. Caller must free the space. |
[out] | root | json_string is going to be parsed to this root object. |
Definition at line 763 of file json_util.c.
References ASSERT_CODE_MESSAGE, ASSERT_STATEMENT_CODE_MESSAGE, MCL_FAIL, MCL_FREE, MCL_NEW, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by mcl_json_util_parse().
E_MCL_ERROR_CODE json_util_parse_with_size | ( | const char * | json_string, |
mcl_size_t | size, | ||
json_t ** | root | ||
) |
This function parses the given string to the given json object.
[in] | json_string | String in json format. New memory space will be allocated for this parameter. Ownership passed to caller. Caller must free the space. |
[in] | size | Size of the buffer. If json_string is null terminated, size must be zero. Otherwise size value must be size of json_string . |
[out] | root | json_string is going to be parsed to this root object. |
Definition at line 777 of file json_util.c.
References ASSERT_CODE_MESSAGE, ASSERT_STATEMENT_CODE_MESSAGE, MCL_FAIL, MCL_FREE, MCL_NEW, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _process_registration_response_rsa_3072(), _process_registration_response_shared_secret(), and http_processor_get_access_token().
E_MCL_ERROR_CODE json_util_start_array | ( | json_t * | root, |
const char * | array_name, | ||
json_t ** | json_array | ||
) |
This function creates an array in root
.
[in] | root | Root json object. |
[in] | array_name | Name of the array which is going to be created in root . |
[out] | json_array | Json array which is going to be created in root . |
array_name
is already used in root
as object name. Definition at line 100 of file json_util.c.
References ASSERT_CODE_MESSAGE, JSON_ARRAY, json_util_get_object_item(), json_util_initialize(), MCL_FREE, MCL_JSON_NAME_DUPLICATION, MCL_NON_EXISTING_JSON_CHILD, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _add_data_source_configuration_data_points(), _add_data_source_configuration_data_sources(), _add_schema_to_jwt(), _add_time_series_payload_values_array(), _compose_rsa_key_rotation_json(), _compose_rsa_onboarding_json(), and mcl_json_util_start_array().
E_MCL_ERROR_CODE json_util_start_object | ( | json_t * | root, |
const char * | object_name, | ||
json_t ** | json_object | ||
) |
This function creates an object in root
.
[in] | root | Root json object. |
[in] | object_name | Name of the object which is going to be created in root . |
[out] | json_object | Json object which is going to be created in root . |
object_name
is already used in root
as object name. Definition at line 198 of file json_util.c.
References ASSERT_CODE_MESSAGE, JSON_OBJECT, json_util_get_object_item(), json_util_initialize(), MCL_FREE, MCL_JSON_NAME_DUPLICATION, MCL_NON_EXISTING_JSON_CHILD, MCL_NULL, MCL_OK, MCL_OUT_OF_MEMORY, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _add_item_meta_payload(), _compose_rsa_key_rotation_json(), _compose_rsa_onboarding_json(), and mcl_json_util_start_object().
E_MCL_ERROR_CODE json_util_to_string | ( | json_t * | root, |
char ** | json_string | ||
) |
This function gives the string of root
in json format.
[in] | root | Root json object. |
[out] | json_string | The string of root in json format. |
Definition at line 737 of file json_util.c.
References ASSERT_CODE_MESSAGE, MCL_FAIL, MCL_NULL, MCL_OK, json_t::root_handle, VERBOSE_ENTRY, and VERBOSE_LEAVE.
Referenced by _compose_rsa_key_rotation_json(), _compose_rsa_onboarding_json(), json_from_data_source_configuration_payload(), json_from_event_payload(), json_from_item_meta(), json_from_time_series_payload(), jwt_get_token(), and mcl_json_util_to_string().
E_MCL_ERROR_CODE mcl_json_util_add_bool | ( | mcl_json_t * | root, |
const char * | object_name, | ||
const mcl_bool_t | bool_value | ||
) |
This function adds bool_value
to root
which can be object or array.
[in] | root | Root json. It can be object or array. |
[in] | object_name | Name of the bool value which is going to be added to root . |
[in] | bool_value | Bool value to be added to root . |
root
is NULL. object_name
is already used in root
as object name. root
type is array and object_name
is not null, or root
type is object and object_name
is null. Definition at line 392 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, and json_util_add_bool().
E_MCL_ERROR_CODE mcl_json_util_add_double | ( | mcl_json_t * | root, |
const char * | object_name, | ||
const double | number | ||
) |
This function adds double number to root
which can be object or array.
[in] | root | Root json. It can be object or array. |
[in] | object_name | Name of the name/value pair which is going to be added to root . |
[in] | number | Value of the name/value pair which is going to be added to root . |
root
is NULL. object_name
is already used in root
as object name. root
type is array and object_name
is not null, or root
type is object and object_name
is null. Definition at line 344 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, and json_util_add_double().
E_MCL_ERROR_CODE mcl_json_util_add_float | ( | mcl_json_t * | root, |
const char * | object_name, | ||
const float | number | ||
) |
This function adds floating number to root
.
[in] | root | Root json object. |
[in] | object_name | Name of the name/value pair which is going to be added to root . |
[in] | number | Value of the name/value pair which is going to be added to root . |
root
or object_name
is NULL. Definition at line 319 of file json_util.c.
References DEBUG_ENTRY, DEBUG_LEAVE, and json_util_add_float().
E_MCL_ERROR_CODE mcl_json_util_add_item_to_array | ( | mcl_json_t * | root, |
mcl_json_t * | object | ||
) |
This function adds object
to root
array.
[in] | root | Root json array. |
[in] | object | object which is going to be added to root array. |
root
, object_name
or object
is NULL. Definition at line 527 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, json_util_add_item_to_array(), and MCL_OK.
E_MCL_ERROR_CODE mcl_json_util_add_null | ( | mcl_json_t * | root, |
const char * | object_name | ||
) |
This function adds null to root
which can be object or array.
[in] | root | Root json. It can be object or array. |
[in] | object_name | Name of the null value which is going to be added to root . |
root
is NULL. object_name
is already used in root
as object name. root
type is array and object_name
is not null, or root
type is object and object_name
is null. Definition at line 440 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, and json_util_add_null().
E_MCL_ERROR_CODE mcl_json_util_add_object | ( | mcl_json_t * | root, |
const char * | object_name, | ||
mcl_json_t * | object | ||
) |
This function adds object
to root
.
[in] | root | Root json object. |
[in] | object_name | Name of object which is going to be going to be added to root . |
[in] | object | object which is going to be added to root . |
root
, object_name
or object
is NULL. object_name
is already used in root
as object name. Definition at line 488 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, json_util_add_object(), and MCL_OK.
E_MCL_ERROR_CODE mcl_json_util_add_string | ( | mcl_json_t * | root, |
const char * | object_name, | ||
const char * | object_value | ||
) |
This function adds string to root
which can be object or array.
root
is array, object_name
must be null.[in] | root | Root json. It can be object or array. |
[in] | object_name | Name of the name/value pair which is going to be added to root . |
[in] | object_value | Value of the name/value pair which is going to be added to root . |
root
or object_value
is NULL. object_name
is already used in root
as object name. root
type is array and object_name
is not null, or root
type is object and object_name
is null. Definition at line 222 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, and json_util_add_string().
E_MCL_ERROR_CODE mcl_json_util_add_uint | ( | mcl_json_t * | root, |
const char * | object_name, | ||
const mcl_size_t | number | ||
) |
This function adds integer number to root
which can be object or array.
root
is array, object_name
must be null.[in] | root | Root json. It can be object or array. |
[in] | object_name | Name of the name/value pair which is going to be added to root . |
[in] | number | Value of the name/value pair which is going to be added to root . |
root
is NULL. object_name
is already used in root
as object name. root
type is array and object_name
is not null, or root
type is object and object_name
is null. Definition at line 271 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, and json_util_add_uint().
void mcl_json_util_destroy | ( | mcl_json_t ** | root | ) |
This function destroys root
.
root
is destroyed, all child json objects in root
are also destroyed.[out] | root | Root json object. |
Definition at line 854 of file json_util.c.
References DEBUG_ENTRY, DEBUG_LEAVE, and json_util_destroy().
void mcl_json_util_finish_array | ( | mcl_json_t ** | json_array | ) |
This function destroys json_array
data struct. But the array still exists in root json object.
json_array
from root, mcl_json_util_destroy must be called for root json object.[out] | json_array | Json array which exists in root . |
Definition at line 818 of file json_util.c.
References DEBUG_ENTRY, DEBUG_LEAVE, and json_util_finish_array().
void mcl_json_util_finish_object | ( | mcl_json_t ** | json_object | ) |
This function destroys json_object
data struct. But the object still exists in root json object.
json_object
from root, mcl_json_util_destroy must be called for root json object.[out] | json_object | Json object which exists in root . |
Definition at line 836 of file json_util.c.
References DEBUG_ENTRY, DEBUG_LEAVE, and json_util_finish_object().
E_MCL_ERROR_CODE mcl_json_util_get_array_item | ( | mcl_json_t * | array, |
int | index, | ||
mcl_json_t ** | item | ||
) |
This function gets the item at given index from array
.
[in] | array | Array json object. |
[in] | index | Index of the item to get from array . |
[out] | item | Result json object item.New memory space will be allocated for this parameter. Ownership passed to caller. Caller must free the space using MCL_FREE(). |
Definition at line 126 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, and json_util_get_array_item().
E_MCL_ERROR_CODE mcl_json_util_get_array_size | ( | mcl_json_t * | array, |
mcl_size_t * | size | ||
) |
This function returns the size of array
.
[in] | array | Array json object. |
[out] | size | Size of array . |
Definition at line 160 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, json_util_get_array_size(), and MCL_OK.
E_MCL_ERROR_CODE mcl_json_util_get_bool_value | ( | mcl_json_t * | json, |
mcl_bool_t * | bool_value | ||
) |
This function gets the boolean value of a given json object.
[in] | json | Root object of bool_value . |
[in] | bool_value | Boolean value of json . |
json
or bool_value
is NULL. Definition at line 660 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, json_util_get_bool_value(), and MCL_OK.
E_MCL_ERROR_CODE mcl_json_util_get_double_value | ( | mcl_json_t * | json, |
double * | double_value | ||
) |
This function gets the double value of a given json object.
[in] | json | Root object of double_value . |
[in] | double_value | Value of json . |
json
or double_value
is NULL. Definition at line 638 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, json_util_get_double_value(), and MCL_OK.
E_MCL_ERROR_CODE mcl_json_util_get_number_value | ( | mcl_json_t * | json, |
mcl_int32_t * | number_value | ||
) |
This function gets the number value of a given json object.
[in] | json | Root object of number_value . |
[in] | number_value | Value of json . |
json
or number_value
is NULL. Definition at line 616 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, json_util_get_number_value(), and MCL_OK.
E_MCL_ERROR_CODE mcl_json_util_get_object_item | ( | mcl_json_t * | json_parent, |
const char * | child_name, | ||
mcl_json_t ** | json_child | ||
) |
This function gives the value of json_child
object, when the child_name
in json_parent
object is given.
[in] | json_parent | Root json object of json_child . |
[in] | child_name | Name of the json_child object. |
[out] | json_child | The json object which is going to be received. New memory space will be allocated for this parameter. Ownership passed to caller. Caller must free the space using MCL_FREE(). |
json_parent
, child_name
or json_child
is NULL. json_child
doesn't exist in json_parent
. Definition at line 549 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, and json_util_get_object_item().
E_MCL_ERROR_CODE mcl_json_util_get_string | ( | mcl_json_t * | json_item, |
char ** | string_value | ||
) |
This function gets the string value of a given json object.
[in] | json_item | Root object of string_value . |
[in] | string_value | String value of json_item . New memory space will be allocated for this parameter. Ownership passed to caller. Caller must free the space. |
json
or string_value
is NULL. Definition at line 689 of file json_util.c.
References ASSERT_CODE_MESSAGE, ASSERT_NOT_NULL, string_t::buffer, DEBUG_ENTRY, DEBUG_LEAVE, json_util_get_string(), MCL_FREE, MCL_NULL, and MCL_OK.
E_MCL_ERROR_CODE mcl_json_util_has_child | ( | mcl_json_t * | root, |
mcl_bool_t * | result | ||
) |
This function checks whether root object has child object or not.
[in] | root | Json object which is going to be checked whether it has child or not. |
[out] | result | This bool value is going to be made true, if @ root has child. Otherwise it is false. |
root
or result
is NULL. Definition at line 587 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, json_util_has_child(), and MCL_OK.
E_MCL_ERROR_CODE mcl_json_util_initialize | ( | E_MCL_JSON_TYPE | json_type, |
mcl_json_t ** | root | ||
) |
This function initializes the given root
json.
[in] | json_type | Type of the json. |
[out] | root | Root json. |
root
is NULL. Definition at line 39 of file json_util.c.
References _convert_mcl_json_type_to_json_type(), ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, and json_util_initialize().
E_MCL_ERROR_CODE mcl_json_util_parse | ( | const char * | json_string, |
mcl_json_t ** | root | ||
) |
This function parses the given string to the given json object.
[in] | json_string | String in json format. This given string must be null terminated. New memory space will be allocated for this parameter. Ownership passed to caller. Caller must free the space. |
[out] | root | json_string is going to be parsed to this root object. |
json_string
or root
is NULL. Definition at line 748 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, and json_util_parse().
E_MCL_ERROR_CODE mcl_json_util_start_array | ( | mcl_json_t * | root, |
const char * | array_name, | ||
mcl_json_t ** | json_array | ||
) |
This function creates an array in root
.
[in] | root | Root json object. |
[in] | array_name | Name of the array which is going to be created in root . |
[out] | json_array | Json array which is going to be created in root . |
root
, array_name
or json_array
is NULL. array_name
is already used in root
as object name. Definition at line 84 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, and json_util_start_array().
E_MCL_ERROR_CODE mcl_json_util_start_object | ( | mcl_json_t * | root, |
const char * | object_name, | ||
mcl_json_t ** | json_object | ||
) |
This function creates an object in root
.
[in] | root | Root json object. |
[in] | object_name | Name of the object which is going to be created in root . |
[out] | json_object | Json object which is going to be created in root . |
root
, object_name
or json_object
is NULL. object_name
is already used in root
as object name. Definition at line 182 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, and json_util_start_object().
E_MCL_ERROR_CODE mcl_json_util_to_string | ( | mcl_json_t * | root, |
char ** | json_string | ||
) |
This function gives the string of root
in json format.
[in] | root | Root json object. |
[out] | json_string | The string of root in json format. New memory space will be allocated for this parameter. Ownership passed to caller. Caller must free the space. |
root
or json_string
is NULL. Definition at line 722 of file json_util.c.
References ASSERT_NOT_NULL, DEBUG_ENTRY, DEBUG_LEAVE, and json_util_to_string().
|
static |
Definition at line 26 of file json_util.c.
Referenced by json_util_initialize_json_library().