context->refreshed = 1;
}
if (context->closing && !context->closed) {
- afb_session_close(context->session);
+ afb_context_change_loa(context, 0);
+ afb_context_set(context, NULL, NULL);
context->closed = 1;
}
afb_session_unref(context->session);
return afb_session_uuid(context->session);
}
+void *afb_context_data(struct afb_context *context, void *(*make_value)(void), void (*free_value)(void*))
+{
+ assert(context->session != NULL);
+ return afb_session_cookie(context->session, context->api_key, make_value, free_value);
+}
+
void *afb_context_get(struct afb_context *context)
{
assert(context->session != NULL);
return afb_session_get_cookie(context->session, context->api_key);
}
-void afb_context_set(struct afb_context *context, void *value, void (*free_value)(void*))
+int afb_context_set(struct afb_context *context, void *value, void (*free_value)(void*))
{
- int rc;
assert(context->session != NULL);
- rc = afb_session_set_cookie(context->session, context->api_key, value, free_value);
- (void)rc; /* TODO */
+ return afb_session_set_cookie(context->session, context->api_key, value, free_value);
}
void afb_context_close(struct afb_context *context)
{
- if (context->super)
- afb_context_close(context->super);
- else
- context->closing = 1;
+ context->closing = 1;
}
void afb_context_refresh(struct afb_context *context)