Refactor of API interfaces
[src/app-framework-binder.git] / src / afb-api-dbus.c
index 09af983..ec47f24 100644 (file)
@@ -311,7 +311,7 @@ static int api_dbus_client_on_reply(sd_bus_message *message, void *userdata, sd_
 }
 
 /* on call, propagate it to the dbus service */
-static void api_dbus_client_xcall(void *closure, struct afb_xreq *xreq)
+static void api_dbus_client_call(void *closure, struct afb_xreq *xreq)
 {
        struct api_dbus *api = closure;
        size_t size;
@@ -576,6 +576,11 @@ static int api_dbus_client_on_manage_event(sd_bus_message *m, void *userdata, sd
        return 1;
 }
 
+static struct afb_api_itf dbus_api_itf = {
+       .call = api_dbus_client_call,
+       .service_start = api_dbus_service_start
+};
+
 /* adds a afb-dbus-service client api */
 int afb_api_dbus_add_client(const char *path)
 {
@@ -614,8 +619,7 @@ int afb_api_dbus_add_client(const char *path)
 
        /* record it as an API */
        afb_api.closure = api;
-       afb_api.xcall = api_dbus_client_xcall;
-       afb_api.service_start = api_dbus_service_start;
+       afb_api.itf = &dbus_api_itf;
        if (afb_apis_add(api->api, afb_api) < 0)
                goto error2;
 
@@ -963,7 +967,7 @@ static int api_dbus_server_on_object_called(sd_bus_message *message, void *userd
        dreq->xreq.queryitf = &afb_api_dbus_xreq_itf;
        dreq->xreq.api = api->api;
        dreq->xreq.verb = method;
-       afb_apis_xcall(&dreq->xreq);
+       afb_apis_call(&dreq->xreq);
        afb_xreq_unref(&dreq->xreq);
        return 1;