- Timestamp:
- Jul 15, 2011 6:37:07 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/branches/projects/2.0-dev/pjmedia/src/pjmedia/event.c
r3648 r3653 74 74 { 75 75 PJ_ASSERT_RETURN(epub && esub && esub->cb, PJ_EINVAL); 76 /* Must not currently subscribe to anything */ 77 PJ_ASSERT_RETURN(esub->subscribe_to == NULL, PJ_EINVALIDOP); 78 76 79 pj_list_push_back(&epub->subscription_list, esub); 80 esub->subscribe_to = epub; 77 81 return PJ_SUCCESS; 78 82 } 79 83 80 PJ_DEF(pj_status_t) pjmedia_event_unsubscribe( pjmedia_event_publisher *epub, 81 pjmedia_event_subscription *esub) 84 PJ_DEF(pj_status_t) pjmedia_event_unsubscribe(pjmedia_event_subscription *esub) 82 85 { 83 PJ_ASSERT_RETURN(epub && esub, PJ_EINVAL); 84 PJ_ASSERT_RETURN(pj_list_find_node(&epub->subscription_list, esub)==esub, 85 PJ_ENOTFOUND); 86 pj_list_erase(esub); 86 PJ_ASSERT_RETURN(esub, PJ_EINVAL); 87 if (esub->subscribe_to) { 88 PJ_ASSERT_RETURN( 89 pj_list_find_node(&esub->subscribe_to->subscription_list, 90 esub)==esub, PJ_ENOTFOUND); 91 pj_list_erase(esub); 92 esub->subscribe_to = NULL; 93 } 87 94 return PJ_SUCCESS; 88 95 }
Note: See TracChangeset
for help on using the changeset viewer.