22#include "mythjsonbinder.h"
33void JSON::BindObject(
const Node& node,
void *obj,
const bindings_t *bl)
37 if (bl ==
nullptr || node.IsNull())
48 std::string value(field.GetStringValue());
57 err = string_to_int8(value.c_str(), &num);
64 err = string_to_int16(value.c_str(), &num);
71 err = string_to_int32(value.c_str(), &num);
78 err = string_to_int64(value.c_str(), &num);
85 err = string_to_uint8(value.c_str(), &num);
92 err = string_to_uint16(value.c_str(), &num);
99 err = string_to_uint32(value.c_str(), &num);
105 double num = atof(value.c_str());
111 bool b = (strcmp(value.c_str(),
"true") == 0 ? true :
false);
118 err = string_to_time(value.c_str(), &time);
132 if (field.IsString())
134 std::string value(field.GetStringValue());
145 int8_t num = field.GetIntValue();
156 int16_t num = field.GetIntValue();
167 int32_t num = field.GetIntValue();
176 if (field.IsInt() || field.IsDouble())
178 int64_t num = field.GetBigIntValue();
189 uint8_t num = field.GetIntValue();
200 uint16_t num = field.GetIntValue();
209 if (field.IsInt() || field.IsDouble())
211 uint32_t num = (uint32_t) field.GetBigIntValue();
220 if (field.IsDouble() || field.IsInt())
222 double num = field.GetDoubleValue();
231 if (field.IsTrue() || field.IsFalse())
233 bool b = field.IsTrue();
242 if (field.IsString())
244 std::string value(field.GetStringValue());
246 err = string_to_time(value.c_str(), &time);
This is the main namespace that encloses all public classes.
void(* set)(void *, const void *)
Brings together all attribute bindings of an object.