X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-xreq.c;h=6364018d3bcfe87c51536f28ee9c888d7810c646;hb=7087ad1b81b55fb2c1c14e7d9cbb49c0bf75e28e;hp=a88499104969e186f7805e3eff6098b42af7e286;hpb=a88ecb472d5a82c80b0ccf8f0ef1594ec0d6c878;p=src%2Fapp-framework-binder.git diff --git a/src/afb-xreq.c b/src/afb-xreq.c index a8849910..6364018d 100644 --- a/src/afb-xreq.c +++ b/src/afb-xreq.c @@ -215,7 +215,10 @@ static int xreq_unsubscribe_cb(void *closure, struct afb_event event) static void xreq_subcall_cb(void *closure, const char *api, const char *verb, struct json_object *args, void (*callback)(void*, int, struct json_object*), void *cb_closure) { struct afb_xreq *xreq = closure; - afb_subcall(&xreq->context, api, verb, args, callback, cb_closure, (struct afb_req){ .itf = &xreq_itf, .closure = xreq }); + if (xreq->queryitf->subcall) + xreq->queryitf->subcall(xreq->query, api, verb, args, callback, cb_closure); + else + afb_subcall(&xreq->context, api, verb, args, callback, cb_closure, (struct afb_req){ .itf = &xreq_itf, .closure = xreq }); } void afb_xreq_success_f(struct afb_xreq *xreq, struct json_object *obj, const char *info, ...)