make function afb_context_set return a status
[src/app-framework-binder.git] / src / afb-context.c
index 83ce573..16dcd04 100644 (file)
@@ -79,7 +79,8 @@ void afb_context_disconnect(struct afb_context *context)
                        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);
@@ -121,20 +122,15 @@ void *afb_context_get(struct afb_context *context)
        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)