From 15d0dae1cd6ab982137a7c2848de9303a9c969f0 Mon Sep 17 00:00:00 2001 From: José Bollo Date: Tue, 19 Sep 2017 12:16:42 +0200 Subject: Add function 'afb_req_get_application_id' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This function is intended to return an identifier of the calling application. At this time, the identifier is just derived from the application id but it can be changed in the future. Change-Id: Idacde8979ac5bb525352de9cab19e3fc1ed48627 Signed-off-by: José Bollo --- include/afb/afb-req-common.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'include') diff --git a/include/afb/afb-req-common.h b/include/afb/afb-req-common.h index 8bb25f75..7d4473c5 100644 --- a/include/afb/afb-req-common.h +++ b/include/afb/afb-req-common.h @@ -76,6 +76,7 @@ struct afb_req_itf void (*subcall_req)(void *closure, const char *api, const char *verb, struct json_object *args, void (*callback)(void*, int, struct json_object*, struct afb_req), void *cb_closure); int (*has_permission)(void *closure, const char *permission); + char *(*get_application_id)(void *closure); }; /* @@ -445,3 +446,17 @@ static inline int afb_req_has_permission(struct afb_req req, const char *permiss return req.itf->has_permission(req.closure, permission); } +/* + * Get the application identifier of the client application for the + * request 'req'. + * + * Returns the application identifier or NULL when the application + * can not be identified. + * + * The returned value if not NULL must be freed by the caller + */ +static inline char *afb_req_get_application_id(struct afb_req req) +{ + return req.itf->get_application_id(req.closure); +} + -- cgit 1.2.3-korg