From febbd43b65c6b0d480b076ead8a078979b8b3603 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Bollo?= Date: Fri, 5 May 2017 18:57:04 +0200 Subject: [PATCH] Expose session UUID from context MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: Ifcf08e840b4ac92889874700c630495b6dfc3e66 Signed-off-by: José Bollo --- src/afb-context.c | 10 +++++++++- src/afb-context.h | 5 +++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/afb-context.c b/src/afb-context.c index 16dcd046..81f21ff4 100644 --- a/src/afb-context.c +++ b/src/afb-context.c @@ -51,8 +51,11 @@ void afb_context_init(struct afb_context *context, struct afb_session *session, void afb_context_subinit(struct afb_context *context, struct afb_context *super) { - *context = *super; + context->session = super->session; + context->flags = 0; context->super = super; + context->api_key = NULL; + context->validated = super->validated; } int afb_context_connect(struct afb_context *context, const char *uuid, const char *token) @@ -101,6 +104,11 @@ const char *afb_context_sent_token(struct afb_context *context) return afb_session_token(context->session); } +const char *afb_context_uuid(struct afb_context *context) +{ + return context->session ? afb_session_uuid(context->session) : ""; +} + const char *afb_context_sent_uuid(struct afb_context *context) { if (context->session == NULL || context->closing || context->super) diff --git a/src/afb-context.h b/src/afb-context.h index 5f007f9c..f1af3622 100644 --- a/src/afb-context.h +++ b/src/afb-context.h @@ -22,6 +22,8 @@ struct afb_session; struct afb_context { struct afb_session *session; + void *api_key; + struct afb_context *super; union { unsigned flags; struct { @@ -34,8 +36,6 @@ struct afb_context unsigned closed: 1; }; }; - void *api_key; - struct afb_context *super; }; extern void afb_context_init(struct afb_context *context, struct afb_session *session, const char *token); @@ -44,6 +44,7 @@ extern int afb_context_connect(struct afb_context *context, const char *uuid, co extern void afb_context_disconnect(struct afb_context *context); extern const char *afb_context_sent_token(struct afb_context *context); extern const char *afb_context_sent_uuid(struct afb_context *context); +extern const char *afb_context_uuid(struct afb_context *context); extern void *afb_context_get(struct afb_context *context); extern int afb_context_set(struct afb_context *context, void *value, void (*free_value)(void*)); -- 2.16.6