Lines Matching refs:ev

43 static event_subscription_t *find_event_sub(event_t *ev, event_callback_t cb, void *context)  in find_event_sub()  argument
46 slist_for_each_entry(&ev->sub_list, node, event_subscription_t, next) { in find_event_sub()
98 event_t *ev = find_event(evlist, event_id); in __yoc_event_subscribe() local
100 if (ev == NULL) { in __yoc_event_subscribe()
101 ev = (event_t *)aos_zalloc(sizeof(event_t)); in __yoc_event_subscribe()
103 if (ev != NULL) { in __yoc_event_subscribe()
104 ev->event_id = event_id; in __yoc_event_subscribe()
105 slist_init(&ev->sub_list); in __yoc_event_subscribe()
106 slist_add(&ev->next, &evlist->events); in __yoc_event_subscribe()
110 if (ev != NULL) { in __yoc_event_subscribe()
112 e_sub = find_event_sub(ev, cb, context); in __yoc_event_subscribe()
119 slist_add(&e_sub->next, &ev->sub_list); in __yoc_event_subscribe()
159 event_t *ev = find_event(evlist, event_id); in __yoc_event_unsubscribe() local
161 if (ev) { in __yoc_event_unsubscribe()
162 event_subscription_t *e_sub = find_event_sub(ev, cb, context); in __yoc_event_unsubscribe()
165 slist_del(&e_sub->next, &ev->sub_list); in __yoc_event_unsubscribe()
168 if (slist_empty(&ev->sub_list)) { in __yoc_event_unsubscribe()
169 slist_del(&ev->next, &evlist->events); in __yoc_event_unsubscribe()
170 aos_free(ev); in __yoc_event_unsubscribe()
189 event_t *ev = find_event(evlist, event_id); in __yoc_event_remove() local
191 if (ev) { in __yoc_event_remove()
194 slist_for_each_entry_safe(&ev->sub_list, tmp, node, event_subscription_t, next) { in __yoc_event_remove()
195 slist_del(&ev->next, &evlist->events); in __yoc_event_remove()
196 aos_free(ev); in __yoc_event_remove()
198 slist_del(&ev->next, &evlist->events); in __yoc_event_remove()
199 aos_free(ev); in __yoc_event_remove()
233 event_t *ev = find_event(evlist, event_id); in __event_publish() local
235 if (ev) { in __event_publish()
237 slist_for_each_entry(&ev->sub_list, node, event_subscription_t, next) { in __event_publish()
239 node->ecb(ev->event_id, data, node->context); in __event_publish()