Tag broadcasted events with UUID and hop
[src/app-framework-binder.git] / src / afb-stub-ws.c
index b362c12..6a52f6f 100644 (file)
@@ -145,7 +145,7 @@ struct afb_stub_ws
        uint8_t is_client;
 
        /* the api name */
-       char apiname[1];
+       char apiname[];
 };
 
 static struct afb_proto_ws *afb_stub_ws_create_proto(struct afb_stub_ws *stubws, struct fdev *fdev, uint8_t server);
@@ -341,12 +341,12 @@ static void server_event_push_cb(void *closure, const char *event, int eventid,
        json_object_put(object);
 }
 
-static void server_event_broadcast_cb(void *closure, const char *event, int eventid, struct json_object *object)
+static void server_event_broadcast_cb(void *closure, const char *event, struct json_object *object, const uuid_binary_t uuid, uint8_t hop)
 {
        struct afb_stub_ws *stubws = closure;
 
        if (stubws->proto != NULL)
-               afb_proto_ws_server_event_broadcast(stubws->proto, event, object);
+               afb_proto_ws_server_event_broadcast(stubws->proto, event, object, uuid, hop);
        json_object_put(object);
 }
 
@@ -457,9 +457,9 @@ static void client_on_event_push_cb(void *closure, const char *event_name, int e
                ERROR("unreadable push event");
 }
 
-static void client_on_event_broadcast_cb(void *closure, const char *event_name, struct json_object *data)
+static void client_on_event_broadcast_cb(void *closure, const char *event_name, struct json_object *data, const uuid_binary_t uuid, uint8_t hop)
 {
-       afb_evt_broadcast(event_name, data);
+       afb_evt_rebroadcast(event_name, data, uuid, hop);
 }
 
 /*****************************************************/
@@ -649,7 +649,7 @@ static void on_hangup(void *closure)
 
 static int enqueue_processing(struct afb_proto_ws *proto, void (*callback)(int signum, void* arg), void *arg)
 {
-       return jobs_queue(NULL /* proto */, 0, callback, arg);
+       return jobs_queue(proto, 0, callback, arg);
 }
 
 /*****************************************************/
@@ -673,7 +673,7 @@ static struct afb_stub_ws *afb_stub_ws_create(struct fdev *fdev, const char *api
 {
        struct afb_stub_ws *stubws;
 
-       stubws = calloc(1, sizeof *stubws + strlen(apiname));
+       stubws = calloc(1, sizeof *stubws + 1 + strlen(apiname));
        if (stubws == NULL)
                errno = ENOMEM;
        else {