X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-xreq.c;h=ed5f30b0e46ccbdc1a9e8b9b3ef952c2f6ed7cd8;hb=ce23b9e7ff8443c46ed21804277d8db90671a3b4;hp=b091bd1e8fe3ec83721421111c04195655b911a8;hpb=39a955678ac5f16646e5841a720d1d358600dabb;p=src%2Fapp-framework-binder.git diff --git a/src/afb-xreq.c b/src/afb-xreq.c index b091bd1e..ed5f30b0 100644 --- a/src/afb-xreq.c +++ b/src/afb-xreq.c @@ -639,18 +639,30 @@ static int xreq_hooked_session_set_LOA_cb(struct afb_request *closure, unsigned return afb_hook_xreq_session_set_LOA(xreq, level, r); } +static int xreq_hooked_subscribe_eventid_cb(struct afb_request *closure, struct afb_eventid *eventid); static int xreq_hooked_subscribe_cb(struct afb_request *closure, struct afb_event event) { - int r = xreq_subscribe_cb(closure, event); + return xreq_hooked_subscribe_eventid_cb(closure, event.closure); +} + +static int xreq_hooked_subscribe_eventid_cb(struct afb_request *closure, struct afb_eventid *eventid) +{ + int r = xreq_subscribe_eventid_cb(closure, eventid); struct afb_xreq *xreq = from_request(closure); - return afb_hook_xreq_subscribe(xreq, event.closure, r); + return afb_hook_xreq_subscribe(xreq, eventid, r); } +static int xreq_hooked_unsubscribe_eventid_cb(struct afb_request *closure, struct afb_eventid *eventid); static int xreq_hooked_unsubscribe_cb(struct afb_request *closure, struct afb_event event) { - int r = xreq_unsubscribe_cb(closure, event); + return xreq_hooked_unsubscribe_eventid_cb(closure, event.closure); +} + +static int xreq_hooked_unsubscribe_eventid_cb(struct afb_request *closure, struct afb_eventid *eventid) +{ + int r = xreq_unsubscribe_eventid_cb(closure, eventid); struct afb_xreq *xreq = from_request(closure); - return afb_hook_xreq_unsubscribe(xreq, event.closure, r); + return afb_hook_xreq_unsubscribe(xreq, eventid, r); } static void xreq_hooked_subcall_cb(struct afb_request *closure, const char *api, const char *verb, struct json_object *args, void (*callback)(void*, int, struct json_object*), void *cb_closure) @@ -757,7 +769,9 @@ const struct afb_request_itf xreq_itf = { .subcall_req = xreq_subcall_req_cb, .has_permission = xreq_has_permission_cb, .get_application_id = xreq_get_application_id_cb, - .context_make = xreq_context_make_cb + .context_make = xreq_context_make_cb, + .subscribe_eventid = xreq_subscribe_eventid_cb, + .unsubscribe_eventid = xreq_unsubscribe_eventid_cb, }; const struct afb_request_itf xreq_hooked_itf = { @@ -782,7 +796,9 @@ const struct afb_request_itf xreq_hooked_itf = { .subcall_req = xreq_hooked_subcall_req_cb, .has_permission = xreq_hooked_has_permission_cb, .get_application_id = xreq_hooked_get_application_id_cb, - .context_make = xreq_hooked_context_make_cb + .context_make = xreq_hooked_context_make_cb, + .subscribe_eventid = xreq_hooked_subscribe_eventid_cb, + .unsubscribe_eventid = xreq_hooked_unsubscribe_eventid_cb, }; /******************************************************************************/