Fix last commit

This commit is contained in:
Erwan Croze 2016-10-11 14:25:02 +02:00
parent ceabf26451
commit 6aa3b76936
3 changed files with 42 additions and 36 deletions

View file

@ -694,7 +694,9 @@ static void _is_phone_number_used_cb(LinphoneXmlRpcRequest *request) {
LinphoneAccountCreatorStatus status = LinphoneAccountCreatorReqFailed;
const char* resp = linphone_xml_rpc_request_get_string_response(request);
if (linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusOk) {
status = (strcmp(resp, "OK") == 0) ? LinphoneAccountCreatorPhoneNumberUsed : LinphoneAccountCreatorPhoneNumberNotUsed;
status = (strcmp(resp, "OK_ACCOUNT") == 0) ? LinphoneAccountCreatorPhoneNumberUsedAccount
: (strcmp(resp, "OK_ALIAS") == 0) ? LinphoneAccountCreatorPhoneNumberUsedAlias
: LinphoneAccountCreatorPhoneNumberNotUsed;
}
creator->callbacks->is_phone_number_used(creator, status, resp);
}
@ -704,16 +706,17 @@ LinphoneAccountCreatorStatus linphone_account_creator_is_phone_number_used(Linph
LinphoneXmlRpcRequest *request;
char *identity = _get_identity(creator);
if (!identity) {
if (creator->callbacks->is_account_activated != NULL) {
creator->callbacks->is_account_activated(creator, LinphoneAccountCreatorReqFailed, "Missing required parameters");
if (creator->callbacks->is_phone_number_used != NULL) {
creator->callbacks->is_phone_number_used(creator, LinphoneAccountCreatorReqFailed, "Missing required parameters");
}
return LinphoneAccountCreatorReqFailed;
}
request = linphone_xml_rpc_request_new_with_args("is_account_activated", LinphoneXmlRpcArgString,
LinphoneXmlRpcArgString, creator->username ? creator->username : creator->phone_number,
request = linphone_xml_rpc_request_new_with_args("is_phone_number_used", LinphoneXmlRpcArgString,
LinphoneXmlRpcArgString, creator->phone_number,
LinphoneXmlRpcArgString, creator->domain,
LinphoneXmlRpcArgNone);
linphone_xml_rpc_request_set_user_data(request, creator);
linphone_xml_rpc_request_cbs_set_response(linphone_xml_rpc_request_get_callbacks(request), _is_account_activated_cb);
linphone_xml_rpc_request_cbs_set_response(linphone_xml_rpc_request_get_callbacks(request), _is_phone_number_used_cb);
linphone_xml_rpc_session_send_request(creator->xmlrpc_session, request);
linphone_xml_rpc_request_unref(request);
ms_free(identity);

View file

@ -62,7 +62,8 @@ typedef enum _LinphoneAccountCreatorStatus {
LinphoneAccountCreatorPhoneNumberInvalid,
LinphoneAccountCreatorPhoneNumberTooShort,
LinphoneAccountCreatorPhoneNumberTooLong,
LinphoneAccountCreatorPhoneNumberUsed,
LinphoneAccountCreatorPhoneNumberUsedAccount,
LinphoneAccountCreatorPhoneNumberUsedAlias,
LinphoneAccountCreatorPhoneNumberNotUsed,
LinphoneAccountCreatorPasswordTooShort,

View file

@ -38,37 +38,39 @@ public interface LinphoneAccountCreator {
static private Vector<Status> values = new Vector<Status>();
private final int mValue;
private final String mStringValue;
private static int mStatusNum = 0;
public final int value() { return mValue; }
public final static Status Ok = new Status(0, "Ok");
public final static Status Failed = new Status(1, "Failed");
public final static Status AccountCreated = new Status(2, "AccountCreated");
public final static Status AccountNotCreated = new Status(3, "AccountNotCreated");
public final static Status AccountExist = new Status(4, "AccountExist");
public final static Status AccountExistWithAlias = new Status(5, "AccountExistWithAlias");
public final static Status AccountNotExist = new Status(6, "AccountNotExist");
public final static Status AccountActivated = new Status(7, "AccountActivated");
public final static Status AccountAlreadyActivated = new Status(8, "AccountAlreadyActivated");
public final static Status AccountNotActivated = new Status(9, "AccountNotActivated");
public final static Status AccountLinked = new Status(10, "AccountLinked");
public final static Status AccountNotLinked = new Status(11, "AccountNotLinked");
public final static Status EmailInvalid = new Status(12, "EmailInvalid");
public final static Status UsernameInvalid = new Status(13, "UsernameInvalid");
public final static Status UsernameTooShort = new Status(14, "UsernameTooShort");
public final static Status UsernameTooLong = new Status(15, "UsernameTooLong");
public final static Status UsernameInvalidSize = new Status(16, "UsernameInvalidSize");
public final static Status PhoneNumberInvalid = new Status(17, "PhoneNumberInvalid");
public final static Status PhoneNumberTooShort = new Status(18, "PhoneNumberTooShort");
public final static Status PhoneNumberTooLong = new Status(19, "PhoneNumberTooLong");
public final static Status PhoneNumberUsed = new Status(20, "PhoneNumberUsed");
public final static Status PhoneNumberNotUsed = new Status(21, "PhoneNumberNotUsed");
public final static Status PasswordTooShort = new Status(22, "PasswordTooShort");
public final static Status PasswordTooLong = new Status(23, "PasswordTooLong");
public final static Status DomainInvalid = new Status(24, "DomainInvalid");
public final static Status RouteInvalid = new Status(25, "RouteInvalid");
public final static Status DisplayNameInvalid = new Status(26, "DisplayNameInvalid");
public final static Status TransportNotSupported = new Status(27, "TransportNotSupported");
public final static Status CountryCodeInvalid = new Status(28, "CountryCodeInvalid");
public final static Status Ok = new Status(mStatusNum++, "Ok");
public final static Status Failed = new Status(mStatusNum++, "Failed");
public final static Status AccountCreated = new Status(mStatusNum++, "AccountCreated");
public final static Status AccountNotCreated = new Status(mStatusNum++, "AccountNotCreated");
public final static Status AccountExist = new Status(mStatusNum++, "AccountExist");
public final static Status AccountExistWithAlias = new Status(mStatusNum++, "AccountExistWithAlias");
public final static Status AccountNotExist = new Status(mStatusNum++, "AccountNotExist");
public final static Status AccountActivated = new Status(mStatusNum++, "AccountActivated");
public final static Status AccountAlreadyActivated = new Status(mStatusNum++, "AccountAlreadyActivated");
public final static Status AccountNotActivated = new Status(mStatusNum++, "AccountNotActivated");
public final static Status AccountLinked = new Status(mStatusNum++, "AccountLinked");
public final static Status AccountNotLinked = new Status(mStatusNum++, "AccountNotLinked");
public final static Status EmailInvalid = new Status(mStatusNum++, "EmailInvalid");
public final static Status UsernameInvalid = new Status(mStatusNum++, "UsernameInvalid");
public final static Status UsernameTooShort = new Status(mStatusNum++, "UsernameTooShort");
public final static Status UsernameTooLong = new Status(mStatusNum++, "UsernameTooLong");
public final static Status UsernameInvalidSize = new Status(mStatusNum++, "UsernameInvalidSize");
public final static Status PhoneNumberInvalid = new Status(mStatusNum++, "PhoneNumberInvalid");
public final static Status PhoneNumberTooShort = new Status(mStatusNum++, "PhoneNumberTooShort");
public final static Status PhoneNumberTooLong = new Status(mStatusNum++, "PhoneNumberTooLong");
public final static Status PhoneNumberUsedAccount = new Status(mStatusNum++, "PhoneNumberUsed");
public final static Status PhoneNumberUsedAlias = new Status(mStatusNum++, "PhoneNumberUsed");
public final static Status PhoneNumberNotUsed = new Status(mStatusNum++, "PhoneNumberNotUsed");
public final static Status PasswordTooShort = new Status(mStatusNum++, "PasswordTooShort");
public final static Status PasswordTooLong = new Status(mStatusNum++, "PasswordTooLong");
public final static Status DomainInvalid = new Status(mStatusNum++, "DomainInvalid");
public final static Status RouteInvalid = new Status(mStatusNum++, "RouteInvalid");
public final static Status DisplayNameInvalid = new Status(mStatusNum++, "DisplayNameInvalid");
public final static Status TransportNotSupported = new Status(mStatusNum++, "TransportNotSupported");
public final static Status CountryCodeInvalid = new Status(mStatusNum++, "CountryCodeInvalid");
private Status(int value, String stringValue) {
mValue = value;