X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-xreq.h;h=11e199543924691c044e6449691f612c965002a2;hb=ca0f859d96599c8ae295c85f825030c891969de1;hp=270de1bb4e857838674d2780ece0fe81213d40ac;hpb=043c27c3a8fd323d59e41288b6fd24f0e9bfa9a3;p=src%2Fapp-framework-binder.git diff --git a/src/afb-xreq.h b/src/afb-xreq.h index 270de1bb..11e19954 100644 --- a/src/afb-xreq.h +++ b/src/afb-xreq.h @@ -55,10 +55,10 @@ struct afb_xreq const struct afb_xreq_query_itf *queryitf; /**< interface of xreq implementation functions */ int refcount; /**< current ref count */ int replied; /**< is replied? */ +#if WITH_AFB_HOOK int hookflags; /**< flags for hooking */ int hookindex; /**< hook index of the request if hooked */ - struct afb_evt_listener *listener; /**< event listener for the request */ - struct afb_cred *cred; /**< client credential if revelant */ +#endif struct afb_xreq *caller; /**< caller request if any */ }; @@ -83,6 +83,7 @@ struct afb_xreq /* req wrappers for xreq */ extern struct afb_req_x1 afb_xreq_unstore(struct afb_stored_req *sreq); + extern void afb_xreq_addref(struct afb_xreq *xreq); extern void afb_xreq_unref(struct afb_xreq *xreq); extern void afb_xreq_unhooked_addref(struct afb_xreq *xreq); @@ -94,8 +95,12 @@ extern struct json_object *afb_xreq_json(struct afb_xreq *xreq); extern void afb_xreq_reply(struct afb_xreq *xreq, struct json_object *obj, const char *error, const char *info); extern void afb_xreq_reply_f(struct afb_xreq *xreq, struct json_object *obj, const char *error, const char *info, ...); -extern void afb_xreq_reply_unknown_api(struct afb_xreq *xreq); -extern void afb_xreq_reply_unknown_verb(struct afb_xreq *xreq); +extern int afb_xreq_reply_unknown_api(struct afb_xreq *xreq); +extern int afb_xreq_reply_unknown_verb(struct afb_xreq *xreq); + +extern int afb_xreq_reply_invalid_token(struct afb_xreq *xreq); +extern int afb_xreq_reply_insufficient_scope(struct afb_xreq *xreq, const char *scope); + extern const char *afb_xreq_raw(struct afb_xreq *xreq, size_t *size); @@ -152,8 +157,13 @@ extern void afb_xreq_init(struct afb_xreq *xreq, const struct afb_xreq_query_itf extern void afb_xreq_process(struct afb_xreq *xreq, struct afb_apiset *apiset); +#if WITH_LEGACY_BINDING_V1 extern void afb_xreq_call_verb_v1(struct afb_xreq *xreq, const struct afb_verb_desc_v1 *verb); +#endif +#if WITH_LEGACY_BINDING_V2 extern void afb_xreq_call_verb_v2(struct afb_xreq *xreq, const struct afb_verb_v2 *verb); +#endif + extern void afb_xreq_call_verb_v3(struct afb_xreq *xreq, const struct afb_verb_v3 *verb); extern const char *xreq_on_behalf_cred_export(struct afb_xreq *xreq);