33 #define REST_JSON_RETURN_JSON_ERROR(CONTEXT) HPD_LOG_RETURN(context, HPD_E_UNKNOWN, "Json error")
38 if (!(json = json_string(val)))
40 if (json_object_set_new(parent, key, json)) {
52 const char *
key, *val;
78 if (json_array_append_new(parent, json)) {
167 if (json_array_append_new(parent, json)) {
229 if (json_array_append_new(parent, json)) {
293 if (json_array_append_new(parent, json)) {
342 #ifdef CURL_ICONV_CODESET_OF_HOST
343 curl_version_info_data *curl_ver = curl_version_info(CURLVERSION_NOW);
344 if (curl_ver->features & CURL_VERSION_CONV && curl_ver->iconv_ver_num != 0)
377 if (!((*out) = json_dumps(json, 0))) {
405 if (!((*out) = json_dumps(json, 0))) {
422 json_error_t *error = NULL;
423 if (!(json = json_loads(in, 0, error))) {
440 strcpy((*out), json_string_value(value));
static const char *const HPD_REST_KEY_CONFIGURATION
hpd_error_t hpd_rest_json_get_configuration(hpd_t *hpd, hpd_rest_t *rest, const hpd_module_t *context, char **out)
static hpd_error_t rest_json_add_adapter(json_t *parent, hpd_adapter_id_t *adapter, hpd_rest_t *rest, const hpd_module_t *context)
hpd_error_t hpd_rest_json_get_value(char *value, const hpd_module_t *context, char **out)
#define hpd_device_foreach_service(RC, SERVICE, DEVICE)
#define HPD_LOG_RETURN(CONTEXT, E, FMT,...)
static const char *const HPD_REST_KEY_VALUE
static hpd_error_t rest_json_add_service(json_t *parent, hpd_service_id_t *service, hpd_rest_t *rest, const hpd_module_t *context)
static const char *const HPD_REST_VAL_ASCII
#define hpd_service_foreach_parameter(RC, PARAMETER, SERVICE)
#define REST_JSON_RETURN_JSON_ERROR(CONTEXT)
static const char *const HPD_REST_KEY_PARAMETER
static hpd_error_t rest_json_add_devices(json_t *parent, hpd_adapter_id_t *adapter, hpd_rest_t *rest, const hpd_module_t *context)
#define hpd_parameter_foreach_attr(RC, PAIR, ID)
const hpd_module_t * context
static const char *const HPD_REST_KEY_URL_ENCODED_CHARSET
hpd_error_t hpd_rest_get_timestamp(const hpd_module_t *context, char *str)
#define hpd_service_foreach_attr(RC, PAIR, ID)
static const char *const HPD_REST_KEY_DEVICE
#define hpd_device_foreach_attr(RC, PAIR, ID)
hpd_error_t hpd_adapter_get_id(const hpd_adapter_id_t *aid, const char **id)
[id_t functions]
hpd_error_t hpd_parameter_get_id(const hpd_parameter_id_t *pid, const char **id)
[hpd_service_t functions]
static const char *const HPD_REST_KEY_ID
hpd_error_t hpd_device_get_id(const hpd_device_id_t *did, const char **id)
[hpd_adapter_t functions]
#define hpd_adapter_foreach_device(RC, DEVICE, ADAPTER)
#define hpd_service_foreach_action(RC, ACTION, ID)
[hpd_parameter_t functions]
static const char *const HPD_REST_KEY_GET
hpd_error_t hpd_service_get_id(const hpd_service_id_t *sid, const char **id)
[hpd_device_t functions]
static hpd_error_t rest_json_add_adapters(json_t *parent, hpd_t *hpd, hpd_rest_t *rest, const hpd_module_t *context)
static const char *const HPD_REST_KEY_SERVICE
enum hpd_error hpd_error_t
static hpd_error_t rest_json_add_parameters(json_t *parent, hpd_service_id_t *service, const hpd_module_t *context)
#define HPD_LOG_RETURN_E_ALLOC(CONTEXT)
static hpd_error_t rest_json_add(json_t *parent, const char *key, const char *val, const hpd_module_t *context)
static const char *const HPD_REST_KEY_PUT
static hpd_error_t rest_json_add_attr(json_t *parent, hpd_pair_t *pair, const hpd_module_t *context)
static const char *const HPD_REST_VAL_TRUE
static hpd_error_t rest_json_add_services(json_t *parent, hpd_device_id_t *device, hpd_rest_t *rest, const hpd_module_t *context)
static const char *const HPD_REST_KEY_ADAPTER
static hpd_error_t rest_json_add_device(json_t *parent, hpd_device_id_t *device, hpd_rest_t *rest, const hpd_module_t *context)
static hpd_error_t rest_json_add_configuration(json_t *parent, hpd_t *hpd, hpd_rest_t *rest, const hpd_module_t *context)
static const char *const HPD_REST_KEY_URI
hpd_error_t hpd_rest_url_create(hpd_rest_t *rest, hpd_service_id_t *service, char **url)
hpd_error_t hpd_action_get_method(const hpd_action_t *action, hpd_method_t *method)
[model foreach loops]
#define json_string_length(JSON)
#define hpd_foreach_adapter(RC, ADAPTER, HPD)
[Browsing functions]
hpd_error_t hpd_pair_get(const hpd_pair_t *pair, const char **key, const char **value)
enum hpd_method hpd_method_t
[hpd_log_level_t]
hpd_error_t hpd_rest_json_parse_value(const char *in, const hpd_module_t *context, char **out)
static const char *const HPD_REST_KEY_TIMESTAMP
#define hpd_adapter_foreach_attr(RC, PAIR, ID)
static hpd_error_t rest_json_add_parameter(json_t *parent, hpd_parameter_id_t *parameter, const hpd_module_t *context)