Ejemplo n.º 1
0
static void _validate_cb(LinphoneXmlRpcRequest *request) {
    LinphoneAccountCreator *creator = (LinphoneAccountCreator *)linphone_xml_rpc_request_get_user_data(request);
    if (creator->callbacks->validated != NULL) {
        LinphoneAccountCreatorStatus status = LinphoneAccountCreatorFailed;
        if ((linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusOk)
                && (linphone_xml_rpc_request_get_int_response(request) == 0)) {
            status = LinphoneAccountCreatorOk;
        }
        creator->callbacks->validated(creator, status);
    }
}
Ejemplo n.º 2
0
static void _create_account_cb(LinphoneXmlRpcRequest *request) {
	LinphoneAccountCreator *creator = (LinphoneAccountCreator *)linphone_xml_rpc_request_get_user_data(request);
	if (creator->callbacks->create_account != NULL) {
		LinphoneAccountCreatorStatus status = LinphoneAccountCreatorReqFailed;
		if (linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusOk) {
			int resp = linphone_xml_rpc_request_get_int_response(request);
			status = (resp == 0) ? LinphoneAccountCreatorAccountCreated : LinphoneAccountCreatorAccountNotCreated;
		}
		creator->callbacks->create_account(creator, status);
	}
}
Ejemplo n.º 3
0
/****************** START OF ACTIVE PHONE NUMBER LINK **************************/
static void _recover_phone_account_cb(LinphoneXmlRpcRequest *request) {
	LinphoneAccountCreator *creator = (LinphoneAccountCreator *)linphone_xml_rpc_request_get_user_data(request);
	if (creator->callbacks->recover_phone_account != NULL) {
		LinphoneAccountCreatorStatus status = LinphoneAccountCreatorReqFailed;
		if (linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusOk) {
			const char* resp = linphone_xml_rpc_request_get_string_response(request);
			status = (strstr(resp, "ERROR_") == resp) ? LinphoneAccountCreatorReqFailed : LinphoneAccountCreatorOK;
		}
		creator->callbacks->recover_phone_account(creator, status);
	}
}
Ejemplo n.º 4
0
/****************** START OF LINK PHONE NUMBER WITH ACCOUNT SECTION ***********/
static void _link_phone_number_with_account_cb(LinphoneXmlRpcRequest *request) {
	LinphoneAccountCreator *creator = (LinphoneAccountCreator *)linphone_xml_rpc_request_get_user_data(request);
	if (creator->callbacks->link_phone_number_with_account != NULL) {
		LinphoneAccountCreatorStatus status = LinphoneAccountCreatorReqFailed;
		if (linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusOk) {
			const char* resp = linphone_xml_rpc_request_get_string_response(request);
			status = (strcmp(resp, "OK") == 0) ? LinphoneAccountCreatorOK : LinphoneAccountCreatorReqFailed;
		}
		creator->callbacks->link_phone_number_with_account(creator, status);
	}
}
Ejemplo n.º 5
0
/****************** START OF ACCOUNT VALIDATED SECTION ************************/
static void _is_account_activated_cb(LinphoneXmlRpcRequest *request) {
	LinphoneAccountCreator *creator = (LinphoneAccountCreator *)linphone_xml_rpc_request_get_user_data(request);
	if (creator->callbacks->is_account_activated != NULL) {
		LinphoneAccountCreatorStatus status = LinphoneAccountCreatorReqFailed;
		if (linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusOk) {
			const char* resp = linphone_xml_rpc_request_get_string_response(request);
			status = (strcmp(resp, "OK") == 0) ? LinphoneAccountCreatorAccountActivated : LinphoneAccountCreatorAccountNotActivated;
		}
		creator->callbacks->is_account_activated(creator, status);
	}
}
Ejemplo n.º 6
0
/****************** START OF ACCOUNT USED SECTION *****************************/
static void _is_account_used_cb(LinphoneXmlRpcRequest *request) {
	LinphoneAccountCreator *creator = (LinphoneAccountCreator *)linphone_xml_rpc_request_get_user_data(request);
	if (creator->callbacks->is_account_used != NULL) {
		LinphoneAccountCreatorStatus status = LinphoneAccountCreatorReqFailed;
		if (linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusOk) {
			const char* resp = linphone_xml_rpc_request_get_string_response(request);
			status = (strcmp(resp, "ERROR_ACCOUNT_DOESNT_EXIST") == 0) ? LinphoneAccountCreatorAccountNotExist : (
							(strcmp(resp, "ERROR_ALIAS_DOESNT_EXIST") == 0) ? LinphoneAccountCreatorAccountExist :
														LinphoneAccountCreatorAccountExistWithAlias);
			if (status == LinphoneAccountCreatorAccountExistWithAlias) {
				set_string(&creator->phone_number, resp, FALSE);
			}
		}
		creator->callbacks->is_account_used(creator, status);
	}
}
Ejemplo n.º 7
0
/****************** START OF VALIDATE ACCOUNT SECTION *************************/
static void _activate_account_cb(LinphoneXmlRpcRequest *request) {
	LinphoneAccountCreator *creator = (LinphoneAccountCreator *)linphone_xml_rpc_request_get_user_data(request);
	if (creator->callbacks->activate_account != NULL) {
		LinphoneAccountCreatorStatus status = LinphoneAccountCreatorReqFailed;
		if (linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusOk) {
			const char* resp = linphone_xml_rpc_request_get_string_response(request);
			if (strcmp(resp, "ERROR_ACCOUNT_ALREADY_ACTIVATED") == 0) {
				status = LinphoneAccountCreatorAccountAlreadyActivated;
			} else if (strstr(resp, "ERROR_") == resp) {
				status = LinphoneAccountCreatorAccountNotActivated;
			} else {
				status = LinphoneAccountCreatorAccountActivated;
				set_string(&creator->ha1, resp, FALSE);
			}
		}
		creator->callbacks->activate_account(creator, status);
	}
}