Browse Source

pass ubus_msg_buf to callback of internal object

Signed-off-by: John Crispin <blogic@openwrt.org>
John Crispin 9 years ago
parent
commit
ba607d976b
3 changed files with 4 additions and 3 deletions
  1. 1 1
      ubusd_event.c
  2. 2 1
      ubusd_obj.h
  3. 1 1
      ubusd_proto.c

+ 1 - 1
ubusd_event.c

@@ -228,7 +228,7 @@ static int ubusd_forward_event(struct ubus_client *cl, struct blob_attr *msg)
 	return ubusd_send_event(cl, id, ubusd_create_event_from_msg, data);
 }
 
-static int ubusd_event_recv(struct ubus_client *cl, const char *method, struct blob_attr *msg)
+static int ubusd_event_recv(struct ubus_client *cl, struct ubus_msg_buf *ub, const char *method, struct blob_attr *msg)
 {
 	if (!strcmp(method, "register"))
 		return ubusd_alloc_event_pattern(cl, msg);

+ 2 - 1
ubusd_obj.h

@@ -52,7 +52,8 @@ struct ubus_object {
 	struct avl_node path;
 
 	struct ubus_client *client;
-	int (*recv_msg)(struct ubus_client *client, const char *method, struct blob_attr *msg);
+	int (*recv_msg)(struct ubus_client *client, struct ubus_msg_buf *ub,
+			const char *method, struct blob_attr *msg);
 
 	int event_seen;
 	unsigned int invoke_seq;

+ 1 - 1
ubusd_proto.c

@@ -244,7 +244,7 @@ static int ubusd_handle_invoke(struct ubus_client *cl, struct ubus_msg_buf *ub,
 	method = blob_data(attr[UBUS_ATTR_METHOD]);
 
 	if (!obj->client)
-		return obj->recv_msg(cl, method, attr[UBUS_ATTR_DATA]);
+		return obj->recv_msg(cl, ub, method, attr[UBUS_ATTR_DATA]);
 
 	ub->hdr.peer = cl->id.id;
 	blob_buf_init(&b, 0);