mcl_json_util.h
Go to the documentation of this file.
1 
11 #ifndef MCL_JSON_UTIL_H_
12 #define MCL_JSON_UTIL_H_
13 
15 
16 #ifdef __cplusplus
17 extern "C"
18 {
19 #endif
20 
24 typedef void mcl_json_t;
25 
29 typedef enum E_MCL_JSON_TYPE
30 {
34 
39 
52 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_initialize(E_MCL_JSON_TYPE json_type, mcl_json_t **root);
53 
68 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_start_array(mcl_json_t *root, const char *array_name, mcl_json_t **json_array);
69 
84 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_array_item(mcl_json_t *array, int index, mcl_json_t **item);
85 
99 
114 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_start_object(mcl_json_t *root, const char *object_name, mcl_json_t **json_object);
115 
133 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_string(mcl_json_t *root, const char *object_name, const char *object_value);
134 
152 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_uint(mcl_json_t *root, const char *object_name, const mcl_size_t number);
153 
169 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_double(mcl_json_t *root, const char *object_name, const double number);
170 
186 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_bool(mcl_json_t *root, const char *object_name, const mcl_bool_t bool_value);
187 
202 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_null(mcl_json_t *root, const char *object_name);
203 
218 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_object(mcl_json_t *root, const char *object_name, mcl_json_t *object);
219 
231 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_item_to_array(mcl_json_t *root, mcl_json_t *object);
232 
247 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_object_item(mcl_json_t *json_parent, const char *child_name, mcl_json_t **json_child);
248 
260 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_has_child(mcl_json_t *root, mcl_bool_t *result);
261 
276 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_number_value(mcl_json_t *json, mcl_int32_t *number_value);
277 
290 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_double_value(mcl_json_t *json, double *double_value);
291 
304 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_bool_value(mcl_json_t *json, mcl_bool_t *bool_value);
305 
319 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_string(mcl_json_t *json, char **string_value);
320 
333 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_to_string(mcl_json_t *root, char **json_string);
334 
351 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_parse(const char *json_string, mcl_size_t buffer_size, mcl_json_t **root);
352 
365 extern MCL_CORE_EXPORT mcl_error_t mcl_json_util_duplicate(const mcl_json_t *source_json, mcl_json_t **duplicated_json);
366 
374 extern MCL_CORE_EXPORT void mcl_json_util_destroy(mcl_json_t **root);
375 
376 #ifdef __cplusplus
377 }
378 #endif
379 
380 #endif //MCL_JSON_UTIL_H_
MCL_CORE_EXPORT mcl_error_t mcl_json_util_start_object(mcl_json_t *root, const char *object_name, mcl_json_t **json_object)
Definition: json_util.c:208
size_t mcl_size_t
int32_t mcl_int32_t
MCL_CORE_EXPORT mcl_error_t mcl_json_util_initialize(E_MCL_JSON_TYPE json_type, mcl_json_t **root)
Definition: json_util.c:41
MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_double(mcl_json_t *root, const char *object_name, const double number)
Definition: json_util.c:348
void mcl_json_t
Definition: mcl_json_util.h:24
Json object.
Definition: mcl_json_util.h:32
mcl_int32_t mcl_error_t
MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_bool(mcl_json_t *root, const char *object_name, const mcl_bool_t bool_value)
Definition: json_util.c:376
Json array.
Definition: mcl_json_util.h:31
MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_null(mcl_json_t *root, const char *object_name)
Definition: json_util.c:439
MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_number_value(mcl_json_t *json, mcl_int32_t *number_value)
Definition: json_util.c:633
MCL_CORE_EXPORT mcl_error_t mcl_json_util_parse(const char *json_string, mcl_size_t buffer_size, mcl_json_t **root)
Definition: json_util.c:827
MCL_CORE_EXPORT mcl_error_t mcl_json_util_has_child(mcl_json_t *root, mcl_bool_t *result)
Definition: json_util.c:600
MCL_CORE_EXPORT mcl_error_t mcl_json_util_start_array(mcl_json_t *root, const char *array_name, mcl_json_t **json_array)
Definition: json_util.c:89
MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_string(mcl_json_t *root, const char *object_name, const char *object_value)
Definition: json_util.c:256
MCL_CORE_EXPORT void mcl_json_util_destroy(mcl_json_t **root)
Definition: json_util.c:904
MCL_CORE_EXPORT void mcl_json_util_library_initialize(void)
Definition: json_util.c:21
E_MCL_JSON_TYPE
Definition: mcl_json_util.h:29
MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_object_item(mcl_json_t *json_parent, const char *child_name, mcl_json_t **json_child)
Definition: json_util.c:563
MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_double_value(mcl_json_t *json, double *double_value)
Definition: json_util.c:666
#define MCL_CORE_EXPORT
MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_item_to_array(mcl_json_t *root, mcl_json_t *object)
Definition: json_util.c:537
MCL_CORE_EXPORT mcl_error_t mcl_json_util_duplicate(const mcl_json_t *source_json, mcl_json_t **duplicated_json)
Definition: json_util.c:869
mcl_uint8_t mcl_bool_t
MCL_CORE_EXPORT mcl_error_t mcl_json_util_to_string(mcl_json_t *root, char **json_string)
Definition: json_util.c:792
MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_array_item(mcl_json_t *array, int index, mcl_json_t **item)
Definition: json_util.c:136
MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_object(mcl_json_t *root, const char *object_name, mcl_json_t *object)
Definition: json_util.c:494
MCL_CORE_EXPORT mcl_error_t mcl_json_util_add_uint(mcl_json_t *root, const char *object_name, const mcl_size_t number)
Definition: json_util.c:320
MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_bool_value(mcl_json_t *json, mcl_bool_t *bool_value)
Definition: json_util.c:699
Common module interface header file.
MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_array_size(mcl_json_t *array, mcl_size_t *size)
Definition: json_util.c:176
MCL_CORE_EXPORT mcl_error_t mcl_json_util_get_string(mcl_json_t *json, char **string_value)
Definition: json_util.c:737