Browse Source

pass ubus_msg_buf to callback of internal object

Signed-off-by: John Crispin <blogic@openwrt.org>
master
John Crispin 6 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 View File

@ -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 View File

@ -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 View File

@ -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);


Loading…
Cancel
Save