static void write_auth_infos(LinphoneCore *lc){ MSList *elem; int i; if (!linphone_core_ready(lc)) return; for(elem=lc->auth_info,i=0;elem!=NULL;elem=ms_list_next(elem),i++){ LinphoneAuthInfo *ai=(LinphoneAuthInfo*)(elem->data); linphone_auth_info_write_config(lc->config,ai,i); } linphone_auth_info_write_config(lc->config,NULL,i); /* mark the end */ }
/** * Clear all authentication information. **/ void linphone_core_clear_all_auth_info(LinphoneCore *lc){ MSList *elem; int i; for(i=0,elem=lc->auth_info;elem!=NULL;elem=ms_list_next(elem),i++){ LinphoneAuthInfo *info=(LinphoneAuthInfo*)elem->data; linphone_auth_info_destroy(info); linphone_auth_info_write_config(lc->config,NULL,i); } ms_list_free(lc->auth_info); lc->auth_info=NULL; }
/*the auth info is expected to be in the core's list*/ void linphone_core_write_auth_info(LinphoneCore *lc, LinphoneAuthInfo *ai){ int i; bctbx_list_t *elem = lc->auth_info; if (!lc->sip_conf.save_auth_info) return; for (i=0; elem != NULL; elem = elem->next, i++){ if (ai == elem->data){ linphone_auth_info_write_config(lc->config, ai, i); } } }