19 const char *method,
struct blob_attr *msg)
25 return s->
cb(
ctx,
obj, req, method, msg);
36 const char *
type,
struct blob_attr *msg)
44 static const struct blobmsg_policy event_policy[__EVENT_MAX] = {
45 [EVENT_ID] = { .name =
"id", .type = BLOBMSG_TYPE_INT32 },
46 [EVENT_PATH] = { .name =
"path", .type = BLOBMSG_TYPE_STRING },
49 struct blob_attr *tb[__EVENT_MAX];
54 blobmsg_parse(event_policy, __EVENT_MAX, tb, blob_data(msg), blob_len(msg));
56 if (!tb[EVENT_ID] || !tb[EVENT_PATH])
59 path = blobmsg_get_string(tb[EVENT_PATH]);
60 id = blobmsg_get_u32(tb[EVENT_ID]);
82 INIT_LIST_HEAD(&s->
list);
107 blob_buf_init(&
b, 0);
static struct ubus_context * ctx
int __hidden ubus_start_request(struct ubus_context *ctx, struct ubus_request *req, struct blob_attr *msg, int cmd, uint32_t peer)
const struct ubus_method watch_method
int ubus_add_object(struct ubus_context *ctx, struct ubus_object *obj)
int ubus_complete_request(struct ubus_context *ctx, struct ubus_request *req, int req_timeout)
const struct ubus_method watch_method __hidden
static void ubus_auto_sub_lookup(struct ubus_context *ctx, struct ubus_object_data *obj, void *priv)
int ubus_subscribe(struct ubus_context *ctx, struct ubus_subscriber *obj, uint32_t id)
static void ubus_auto_sub_event_handler_cb(struct ubus_context *ctx, struct ubus_event_handler *ev, const char *type, struct blob_attr *msg)
static int __ubus_subscribe_request(struct ubus_context *ctx, struct ubus_object *obj, uint32_t id, int type)
static int ubus_subscriber_cb(struct ubus_context *ctx, struct ubus_object *obj, struct ubus_request_data *req, const char *method, struct blob_attr *msg)
int ubus_unsubscribe(struct ubus_context *ctx, struct ubus_subscriber *obj, uint32_t id)
int ubus_register_subscriber(struct ubus_context *ctx, struct ubus_subscriber *s)
int ubus_lookup(struct ubus_context *ctx, const char *path, ubus_lookup_handler_t cb, void *priv)
int ubus_register_event_handler(struct ubus_context *ctx, struct ubus_event_handler *ev, const char *pattern)
struct list_head auto_subscribers
struct ubus_event_handler auto_subscribe_event_handler
const struct ubus_method * methods
ubus_new_object_handler_t new_obj_cb
@ UBUS_STATUS_INVALID_ARGUMENT