X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fubus.git;a=blobdiff_plain;f=ubusd_obj.h;h=a21f47c54153c6b18e3e6b20c348cf5d13b1ff65;hp=d0573f057cd0ab6227d2e7a623d683c94284085a;hb=6280cbaf0966928c4f83b925fb5b94c3ecb1936e;hpb=c6f705451527e6e5e8f5a2715f11478eeb8799e4 diff --git a/ubusd_obj.h b/ubusd_obj.h index d0573f0..a21f47c 100644 --- a/ubusd_obj.h +++ b/ubusd_obj.h @@ -35,10 +35,9 @@ struct ubus_method { struct blob_attr data[]; }; -struct ubus_watch { - struct list_head watcher_list, watched_list; - struct ubus_object *watcher, *watched; - char method[]; +struct ubus_subscription { + struct list_head list, target_list; + struct ubus_object *subscriber, *target; }; struct ubus_object { @@ -47,7 +46,7 @@ struct ubus_object { struct list_head events; - struct list_head watchers, watched; + struct list_head subscribers, target_list; struct ubus_object_type *type; struct avl_node path; @@ -76,8 +75,9 @@ static inline struct ubus_object *ubusd_find_object(uint32_t objid) return obj; } -void ubus_watch_new(struct ubus_object *obj, struct ubus_object *target, const char *method); -void ubus_watch_free(struct ubus_watch *w); -void ubus_proto_notify_watch(struct ubus_watch *w); +void ubus_subscribe(struct ubus_object *obj, struct ubus_object *target); +void ubus_unsubscribe(struct ubus_subscription *s); +void ubus_notify_unsubscribe(struct ubus_subscription *s); +void ubus_notify_subscription(struct ubus_object *obj); #endif