summaryrefslogtreecommitdiffstats
path: root/include/afb/afb-req-common.h
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2017-09-19 12:16:42 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2017-10-09 14:08:29 +0200
commit15d0dae1cd6ab982137a7c2848de9303a9c969f0 (patch)
treeba156b222ae058c8f0120def427f0abf3564190c /include/afb/afb-req-common.h
parent33e615ea0cc26131532f4615ef4a2034488fa48e (diff)
Add function 'afb_req_get_application_id'
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 <jose.bollo@iot.bzh>
Diffstat (limited to 'include/afb/afb-req-common.h')
-rw-r--r--include/afb/afb-req-common.h15
1 files changed, 15 insertions, 0 deletions
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);
+}
+