X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fubus.git;a=blobdiff_plain;f=libubus.h;h=9f21647d80feea40690447a5a2381eaaa4fdd57c;hp=bab919ff5ff39d9a1beead60e09a10e59e0e763d;hb=f9f602533a454891dc5a6f1df1bd0e624295ab1f;hpb=f8d55af76b7a758a134bc816d9a34a7ca4325e32 diff --git a/libubus.h b/libubus.h index bab919f..9f21647 100644 --- a/libubus.h +++ b/libubus.h @@ -177,11 +177,23 @@ void ubus_invoke_async(struct ubus_context *ctx, uint32_t obj, const char *metho /* make an object visible to remote connections */ int ubus_add_object(struct ubus_context *ctx, struct ubus_object *obj); +/* remove the object from the ubus connection */ +int ubus_remove_object(struct ubus_context *ctx, struct ubus_object *obj); + /* send a reply to an incoming object method call */ int ubus_send_reply(struct ubus_context *ctx, struct ubus_request_data *req, struct blob_attr *msg); /* ----------- events ----------- */ +int ubus_send_event(struct ubus_context *ctx, const char *id, + struct blob_attr *data); + int ubus_register_event_handler(struct ubus_context *ctx, struct ubus_event_handler *ev, const char *pattern); + +static inline int ubus_unregister_event_handler(struct ubus_context *ctx, + struct ubus_event_handler *ev) +{ + return ubus_remove_object(ctx, &ev->obj); +}