pass ubus_msg_buf to callback of internal object
Signed-off-by: John Crispin <blogic@openwrt.org>
This commit is contained in:
parent
df0292c3af
commit
ba607d976b
3 changed files with 4 additions and 3 deletions
|
@ -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);
|
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"))
|
if (!strcmp(method, "register"))
|
||||||
return ubusd_alloc_event_pattern(cl, msg);
|
return ubusd_alloc_event_pattern(cl, msg);
|
||||||
|
|
|
@ -52,7 +52,8 @@ struct ubus_object {
|
||||||
struct avl_node path;
|
struct avl_node path;
|
||||||
|
|
||||||
struct ubus_client *client;
|
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;
|
int event_seen;
|
||||||
unsigned int invoke_seq;
|
unsigned int invoke_seq;
|
||||||
|
|
|
@ -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]);
|
method = blob_data(attr[UBUS_ATTR_METHOD]);
|
||||||
|
|
||||||
if (!obj->client)
|
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;
|
ub->hdr.peer = cl->id.id;
|
||||||
blob_buf_init(&b, 0);
|
blob_buf_init(&b, 0);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue