/*
* Propagates the event to the service
*/
-static void listener_of_events(void *closure, const char *event, int eventid, struct json_object *object)
+static void listener_of_events(void *closure, const char *event, uint16_t eventid, struct json_object *object)
{
const struct globset_handler *handler;
void (*callback)(void *, const char*, struct json_object*, struct afb_api_x3*);
json_object_put(object);
}
+static void listener_of_pushed_events(void *closure, const char *event, uint16_t eventid, struct json_object *object)
+{
+ listener_of_events(closure, event, eventid, object);
+}
+
+static void listener_of_broadcasted_events(void *closure, const char *event, struct json_object *object, const uuid_binary_t uuid, uint8_t hop)
+{
+ listener_of_events(closure, event, 0, object);
+}
+
/* the interface for events */
static const struct afb_evt_itf evt_itf = {
- .broadcast = listener_of_events,
- .push = listener_of_events
+ .broadcast = listener_of_broadcasted_events,
+ .push = listener_of_pushed_events
};
/* ensure an existing listener */
}
}
-static struct json_object *api_describe_cb(void *closure)
+static void api_describe_cb(void *closure, void (*describecb)(void *, struct json_object *), void *clocb)
{
struct afb_export *export = closure;
struct json_object *result;
result = NULL;
break;
}
- return result;
+ describecb(clocb, result);
}
static int api_service_start_cb(void *closure)
void afb_export_context_init(struct afb_export *export, struct afb_context *context)
{
- afb_context_init(context, export->session, NULL);
- context->validated = 1;
+ afb_context_init_validated(context, export->session);
}