44 (*request)->method = method;
45 (*request)->on_response = on_response;
76 request->
value = NULL;
105 (*value) = req->
value;
114 (*response)->status = status;
139 response->
value = NULL;
149 (*status) = response->
status;
155 (*value) = response->
value;
191 char *sid = service_id->
sid;
196 ev_async_stop(loop, w);
204 LOG_DEBUG(
"Did not find service %s/%s/%s.", aid, did, sid);
231 LOG_ERROR(
"on_request() failed [code: %i].", rc);
245 ev_async_stop(loop, w);
251 LOG_ERROR(
"Free function failed [code: %i].", rc);
hpd_error_t request_get_response_request_method(const hpd_response_t *response, hpd_method_t *method)
enum hpd_status hpd_status_t
void(* hpd_free_f)(void *data)
[hpd_action_f]
static void request_on_respond(hpd_ev_loop_t *loop, ev_async *w, int revents)
hpd_error_t discovery_find_service(const hpd_service_id_t *id, hpd_service_t **service)
static void request_on_request(hpd_ev_loop_t *loop, ev_async *w, int revents)
hpd_response_f on_response
hpd_error_t request_get_response_status(const hpd_response_t *response, hpd_status_t *status)
hpd_error_t request_set_response_value(hpd_response_t *response, hpd_value_t *value)
hpd_error_t discovery_copy_sid(hpd_service_id_t **dst, const hpd_service_id_t *src)
#define LOG_RETURN_E_ALLOC()
hpd_error_t request_respond(hpd_response_t *response)
hpd_error_t request_request(hpd_request_t *request)
hpd_error_t request_get_response_request_value(const hpd_response_t *response, const hpd_value_t **value)
hpd_ev_asyncs_t respond_watchers
void(* hpd_response_f)(void *data, const hpd_response_t *res)
[hpd_free_f]
#define HPD_CALLOC(PTR, NUM, CAST)
Allocates and zeros a structure.
hpd_error_t request_get_request_service(const hpd_request_t *req, const hpd_service_id_t **id)
hpd_error_t request_get_response_request_service(const hpd_response_t *response, const hpd_service_id_t **service)
hpd_ev_asyncs_t request_watchers
enum hpd_error hpd_error_t
hpd_error_t request_free_response(hpd_response_t *response)
hpd_error_t request_alloc_request(hpd_request_t **request, const hpd_service_id_t *id, hpd_method_t method, hpd_response_f on_response)
hpd_error_t request_get_response_value(const hpd_response_t *response, const hpd_value_t **value)
#define LOG_DEBUG(FMT,...)
hpd_service_id_t * service
hpd_error_t request_alloc_response(hpd_response_t **response, hpd_request_t *request, hpd_status_t status)
hpd_error_t request_get_response_request_data(const hpd_response_t *response, void **data)
static struct ev_loop * loop
hpd_status_t(* hpd_action_f)(void *data, hpd_request_t *req)
[hpd_module_def_t functions]
hpd_error_t request_set_request_value(hpd_request_t *request, hpd_value_t *value)
hpd_error_t value_free(hpd_value_t *value)
#define HPD_CPY_ALLOC(DST, SRC, CAST)
hpd_error_t request_get_request_method(const hpd_request_t *req, hpd_method_t *method)
hpd_error_t request_free_request(hpd_request_t *request)
hpd_error_t discovery_free_sid(hpd_service_id_t *id)
hpd_error_t request_get_request_value(const hpd_request_t *req, const hpd_value_t **value)
hpd_action_t actions[HPD_M_COUNT]
struct ev_loop hpd_ev_loop_t
#define LOG_ERROR(FMT,...)
enum hpd_method hpd_method_t
[hpd_log_level_t]
hpd_error_t request_set_request_data(hpd_request_t *request, void *data, hpd_free_f on_free)