XROAD
xroad_json.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include "xroad_string.h"
9 #include "xroad_xml.h"
10 #include <json.h>
11 #include <stdbool.h>
12 
13 #ifdef __cplusplus
14 extern "C"
15 {
16 #endif
17 
18 #define JSON_TRUE 1
19 #define JSON_FALSE 0
20 
21 #define __xroad_json_dtor__ __dtor__(xroad_json_destructor)
22 void xroad_json_destructor(json_object** obj);
23 
29 json_object* xroad_json_from_str(xroad_str_t str);
30 
37 json_object* xroad_json_get_object(json_object* obj, xroad_str_t path);
38 
45 bool xroad_json_has_child(json_object* obj, xroad_str_t path);
46 
54 bool xroad_json_get_int32(json_object* obj, xroad_str_t path, int32_t* val);
55 
63 int32_t xroad_json_get_int32_def(json_object* obj, xroad_str_t path, int32_t def_val);
64 
72 bool xroad_json_get_int64(json_object* obj, xroad_str_t path, int64_t* val);
73 
81 int64_t xroad_json_get_int64_def(json_object* obj, xroad_str_t path, int64_t def_val);
82 
90 bool xroad_json_get_double(json_object* obj, xroad_str_t path, double* val);
91 
99 double xroad_json_get_double_def(json_object* obj, xroad_str_t path, double def_val);
100 
108 bool xroad_json_get_string(json_object* obj, xroad_str_t path, xroad_str_t* val);
109 
118 
126 bool xroad_json_get_bool(json_object* obj, xroad_str_t path, bool* val);
127 
135 bool xroad_json_get_bool_def(json_object* obj, xroad_str_t path, bool def_val);
136 
143 json_object* xroad_json_from_xml(xroad_xml_tag_t tag);
144 
151 xroad_str_t xroad_json_to_str(json_object* obj, int32_t flags);
152 
159 json_type xroad_json_get_type(json_object* obj, xroad_str_t path);
160 
161 #ifdef __cplusplus
162 }
163 #endif
Definition: xroad_string.h:29
bool xroad_json_get_double(json_object *obj, xroad_str_t path, double *val)
json_object * xroad_json_get_object(json_object *obj, xroad_str_t path)
bool xroad_json_get_int32(json_object *obj, xroad_str_t path, int32_t *val)
bool xroad_json_has_child(json_object *obj, xroad_str_t path)
int64_t xroad_json_get_int64_def(json_object *obj, xroad_str_t path, int64_t def_val)
double xroad_json_get_double_def(json_object *obj, xroad_str_t path, double def_val)
bool xroad_json_get_bool_def(json_object *obj, xroad_str_t path, bool def_val)
xroad_str_t xroad_json_to_str(json_object *obj, int32_t flags)
json_object * xroad_json_from_str(xroad_str_t str)
json_object * xroad_json_from_xml(xroad_xml_tag_t tag)
xroad_str_t xroad_json_get_string_def(json_object *obj, xroad_str_t path, xroad_str_t def_val)
bool xroad_json_get_string(json_object *obj, xroad_str_t path, xroad_str_t *val)
bool xroad_json_get_int64(json_object *obj, xroad_str_t path, int64_t *val)
json_type xroad_json_get_type(json_object *obj, xroad_str_t path)
bool xroad_json_get_bool(json_object *obj, xroad_str_t path, bool *val)
int32_t xroad_json_get_int32_def(json_object *obj, xroad_str_t path, int32_t def_val)