X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-evt.h;h=3e37df534c5f938f600a732ab816eacbda8a5ba6;hb=6dfeafe7e4fa582b3db3f950136bc97f8611fc6d;hp=28a4eddde1baadb054f89447ac40bf1ed2cc981f;hpb=043c27c3a8fd323d59e41288b6fd24f0e9bfa9a3;p=src%2Fapp-framework-binder.git diff --git a/src/afb-evt.h b/src/afb-evt.h index 28a4eddd..3e37df53 100644 --- a/src/afb-evt.h +++ b/src/afb-evt.h @@ -17,6 +17,8 @@ #pragma once +#include "uuid.h" + struct afb_event_x1; struct afb_event_x2; struct afb_evtid; @@ -27,7 +29,7 @@ struct afb_evt_listener; struct afb_evt_itf { void (*push)(void *closure, const char *event, int evtid, struct json_object *object); - void (*broadcast)(void *closure, const char *event, int evtid, struct json_object *object); + void (*broadcast)(void *closure, const char *event, struct json_object *object, const uuid_binary_t uuid, uint8_t hop); void (*add)(void *closure, const char *event, int evtid); void (*remove)(void *closure, const char *event, int evtid); }; @@ -35,6 +37,7 @@ struct afb_evt_itf extern struct afb_evt_listener *afb_evt_listener_create(const struct afb_evt_itf *itf, void *closure); extern int afb_evt_broadcast(const char *event, struct json_object *object); +extern int afb_evt_rebroadcast(const char *event, struct json_object *object, const uuid_binary_t uuid, uint8_t hop); extern struct afb_evt_listener *afb_evt_listener_addref(struct afb_evt_listener *listener); extern void afb_evt_listener_unref(struct afb_evt_listener *listener); @@ -43,27 +46,21 @@ extern struct afb_evtid *afb_evt_evtid_create(const char *fullname); extern struct afb_evtid *afb_evt_evtid_create2(const char *prefix, const char *name); extern struct afb_evtid *afb_evt_evtid_addref(struct afb_evtid *evtid); -extern struct afb_evtid *afb_evt_evtid_hooked_addref(struct afb_evtid *evtid); extern void afb_evt_evtid_unref(struct afb_evtid *evtid); -extern void afb_evt_evtid_hooked_unref(struct afb_evtid *evtid); extern const char *afb_evt_evtid_fullname(struct afb_evtid *evtid); extern int afb_evt_evtid_id(struct afb_evtid *evtid); extern const char *afb_evt_evtid_name(struct afb_evtid *evtid); -extern const char *afb_evt_evtid_hooked_name(struct afb_evtid *evtid); extern int afb_evt_evtid_push(struct afb_evtid *evtid, struct json_object *obj); -extern int afb_evt_evtid_hooked_push(struct afb_evtid *evtid, struct json_object *obj); extern int afb_evt_evtid_broadcast(struct afb_evtid *evtid, struct json_object *object); -extern int afb_evt_evtid_hooked_broadcast(struct afb_evtid *evtid, struct json_object *object); extern int afb_evt_watch_add_evtid(struct afb_evt_listener *listener, struct afb_evtid *evtid); extern int afb_evt_watch_sub_evtid(struct afb_evt_listener *listener, struct afb_evtid *evtid); -extern void afb_evt_update_hooks(); extern struct afb_event_x2 *afb_evt_event_x2_create(const char *fullname); @@ -81,5 +78,16 @@ extern int afb_evt_event_x2_remove_watch(struct afb_evt_listener *listener, stru extern struct afb_evtid *afb_evt_event_x2_to_evtid(struct afb_event_x2 *eventid); extern struct afb_event_x2 *afb_evt_event_x2_from_evtid(struct afb_evtid *evtid); + +#if WITH_LEGACY_BINDING_V1 || WITH_LEGACY_BINDING_V2 extern struct afb_event_x1 afb_evt_event_from_evtid(struct afb_evtid *evtid); +#endif +#if WITH_AFB_HOOK +extern struct afb_evtid *afb_evt_evtid_hooked_addref(struct afb_evtid *evtid); +extern void afb_evt_evtid_hooked_unref(struct afb_evtid *evtid); +extern const char *afb_evt_evtid_hooked_name(struct afb_evtid *evtid); +extern int afb_evt_evtid_hooked_push(struct afb_evtid *evtid, struct json_object *obj); +extern int afb_evt_evtid_hooked_broadcast(struct afb_evtid *evtid, struct json_object *object); +extern void afb_evt_update_hooks(); +#endif \ No newline at end of file