コード例 #1
0
ファイル: friend.c プロジェクト: 42p/linphone
int linphone_friend_set_name(LinphoneFriend *lf, const char *name){
	LinphoneAddress *fr = lf->uri;
	LinphoneVcard *vcard = NULL;
	bool_t vcard_created = FALSE;

	vcard = lf->vcard;
	if (!vcard) {
		linphone_friend_create_vcard(lf, name);
		vcard = lf->vcard;
		vcard_created = TRUE;
	}
	if (vcard) {
		linphone_vcard_set_full_name(vcard, name);
		if (fr && vcard_created) { // SIP address wasn't set yet, let's do it
			char *address = linphone_address_as_string_uri_only(fr);
			linphone_vcard_edit_main_sip_address(vcard, address);
			ms_free(address);
		}
	}

	if (!fr && !vcard) {
		ms_warning("linphone_friend_set_address() must be called before linphone_friend_set_name() to be able to set display name.");
		return -1;
	} else if (fr) {
		linphone_address_set_display_name(fr, name);
	}

	return 0;
}
コード例 #2
0
ファイル: friend.c プロジェクト: BambooLL/linphone
int linphone_friend_set_address(LinphoneFriend *lf, const LinphoneAddress *addr){
	LinphoneAddress *fr = linphone_address_clone(addr);
	LinphoneVcard *vcard = NULL;

	linphone_address_clean(fr);
	if (lf->uri != NULL) linphone_address_unref(lf->uri);
	lf->uri = fr;

	vcard = linphone_friend_get_vcard(lf);
	if (vcard) {
		linphone_vcard_edit_main_sip_address(vcard, linphone_address_as_string_uri_only(fr));
	}

	return 0;
}