static void linphone_ldap_contact_search_destroy( LinphoneLDAPContactSearch* obj ) { //ms_message("~LinphoneLDAPContactSearch(%p)", obj); bctbx_list_for_each(obj->found_entries, linphone_ldap_contact_search_destroy_friend); obj->found_entries = bctbx_list_free(obj->found_entries); if( obj->filter ) ms_free(obj->filter); }
int ms_ticker_detach(MSTicker *ticker,MSFilter *f){ bctbx_list_t *sources=NULL; bctbx_list_t *filters=NULL; bctbx_list_t *it; if (f->ticker==NULL) { ms_message("Filter %s is not scheduled; nothing to do.",f->desc->name); return 0; } ms_mutex_lock(&ticker->lock); filters=ms_filter_find_neighbours(f); sources=get_sources(filters); if (sources==NULL){ ms_fatal("No sources found around filter %s",f->desc->name); bctbx_list_free(filters); ms_mutex_unlock(&ticker->lock); return -1; } for(it=sources;it!=NULL;it=bctbx_list_next(it)){ ticker->execution_list=bctbx_list_remove(ticker->execution_list,it->data); } ms_mutex_unlock(&ticker->lock); bctbx_list_for_each(filters,(void (*)(void*))call_postprocess); bctbx_list_free(filters); bctbx_list_free(sources); return 0; }
void buddy_lookup_request_free(BuddyLookupRequest *req){ if (req->key) ms_free(req->key); if (req->results){ bctbx_list_for_each(req->results,(void (*)(void*))buddy_info_free); bctbx_list_free(req->results); } ms_free(req); }
static void linphone_friend_list_close_subscriptions(LinphoneFriendList *list) { /* FIXME we should wait until subscription to complete. */ if (list->event) { linphone_event_terminate(list->event); linphone_event_unref(list->event); list->event = NULL; } bctbx_list_for_each(list->friends, (void (*)(void *))linphone_friend_close_subscriptions); }
static void linphone_ldap_contact_provider_destroy( LinphoneLDAPContactProvider* obj ) { //ms_message("linphone_ldap_contact_provider_destroy"); linphone_core_remove_iterate_hook(LINPHONE_CONTACT_PROVIDER(obj)->lc, linphone_ldap_contact_provider_iterate,obj); // clean pending requests bctbx_list_for_each(obj->requests, linphone_ldap_contact_provider_destroy_request_cb); if (obj->ld) ldap_unbind_ext(obj->ld, NULL, NULL); obj->ld = NULL; if( obj->config ) linphone_dictionary_unref(obj->config); linphone_ldap_contact_provider_conf_destroy(obj); }
void sal_op_set_route(SalOp *op, const char *route){ char* route_string=(void *)0; SalOpBase* op_base = (SalOpBase*)op; if (op_base->route_addresses) { bctbx_list_for_each(op_base->route_addresses,(void (*)(void *))sal_address_destroy); op_base->route_addresses=bctbx_list_free(op_base->route_addresses); } if (route) { op_base->route_addresses=bctbx_list_append(NULL,NULL); assign_address((SalAddress**)&(op_base->route_addresses->data),route); route_string=sal_address_as_string((SalAddress*)op_base->route_addresses->data); \ } assign_string(&op_base->route,route_string); \ if(route_string) ms_free(route_string); }
void linphone_friend_close_subscriptions(LinphoneFriend *lf){ linphone_friend_unsubscribe(lf); bctbx_list_for_each(lf->insubs, (MSIterateFunc) sal_notify_presence_close); lf->insubs = bctbx_list_free_with_data(lf->insubs, (MSIterateFunc)sal_op_release); }
static void stateful_analyzer_uninit(MSQosAnalyzer *objbase){ MSStatefulQosAnalyzer *obj=(MSStatefulQosAnalyzer*)objbase; bctbx_list_for_each(obj->rtcpstatspoint, ms_free); bctbx_list_free(obj->rtcpstatspoint); }
void __sal_op_free(SalOp *op){ SalOpBase *b=(SalOpBase *)op; if (b->from_address){ sal_address_destroy(b->from_address); b->from_address=NULL; } if (b->to_address){ sal_address_destroy(b->to_address); b->to_address=NULL; } if (b->service_route){ sal_address_destroy(b->service_route); b->service_route=NULL; } if (b->origin_address){ sal_address_destroy(b->origin_address); b->origin_address=NULL; } if (b->from) { ms_free(b->from); b->from=NULL; } if (b->to) { ms_free(b->to); b->to=NULL; } if (b->route) { ms_free(b->route); b->route=NULL; } if (b->realm) { ms_free(b->realm); b->realm=NULL; } if (b->contact_address) { sal_address_destroy(b->contact_address); } if (b->origin){ ms_free(b->origin); b->origin=NULL; } if (b->remote_ua){ ms_free(b->remote_ua); b->remote_ua=NULL; } if (b->remote_contact){ ms_free(b->remote_contact); b->remote_contact=NULL; } if (b->remote_contact_address){ sal_address_destroy(b->remote_contact_address); } if (b->local_media) sal_media_description_unref(b->local_media); if (b->remote_media) sal_media_description_unref(b->remote_media); if (b->call_id) ms_free((void*)b->call_id); if (b->service_route) { sal_address_destroy(b->service_route); } if (b->route_addresses){ bctbx_list_for_each(b->route_addresses,(void (*)(void*)) sal_address_destroy); b->route_addresses=bctbx_list_free(b->route_addresses); } if (b->recv_custom_headers) sal_custom_header_free(b->recv_custom_headers); if (b->sent_custom_headers) sal_custom_header_free(b->sent_custom_headers); if (b->entity_tag != NULL){ ms_free(b->entity_tag); b->entity_tag = NULL; } ms_free(op); }