setTimeout()

in archived/AllJoyn/ProducerExperiences/js/js/scenario2.js [147:220]


        setTimeout(function () {
            var returnArg = new onboarding.Onboarding();

            var ssid = AppData.onboardingConfiguration.ssid;
            if ((typeof ssid === 'undefined') || (ssid == null) || (!/\S/.test(ssid))) {
                returnArg.value1 = OnboardingEnumTypes.ConnectionResultCode.ErrorMessage;
                returnArg.value2 = "Invalid SSID";
                AppData.onboardingProperties.configurationState = OnboardingEnumTypes.ConfigurationState.Error;
            } else {
                var foundSsid = false;
                var supportedProtocol = false;

                var networkscanList = AppData.getSampleNetworkScanList();
                for (var i = 0; i < networkscanList.length; i++) {
                    if (networkscanList[i].value1 === ssid) {
                        foundSsid = true;
                        if (AppData.onboardingConfiguration.authenticationType === OnboardingEnumTypes.AuthenticationType.Any) {
                            supportedProtocol = true;
                        } else if (AppData.onboardingConfiguration.authenticationType === OnboardingEnumTypes.AuthenticationType.WpaAuto) {
                            if ((networkscanList[i].value2 === OnboardingEnumTypes.AuthenticationType.WpaTkip) || (networkscanList[i].value2 === OnboardingEnumTypes.AuthenticationType.WpaCcmp)) {
                                supportedProtocol = true;
                            }
                        } else if (AppData.onboardingConfiguration.authenticationType === OnboardingEnumTypes.AuthenticationType.Wpa2Auto) {
                            if ((networkscanList[i].value2 === OnboardingEnumTypes.AuthenticationType.Wpa2Tkip) || (networkscanList[i].value2 === OnboardingEnumTypes.AuthenticationType.Wpa2Ccmp)) {
                                supportedProtocol = true;
                            }
                        } else {
                            if (networkscanList[i].value2 === AppData.onboardingConfiguration.authenticationType) {
                                supportedProtocol = true;
                            }
                        }
                        break;
                    }
                }

                if (foundSsid) {
                    if (supportedProtocol) {
                        if (AppData.onboardingConfiguration.authenticationType === OnboardingEnumTypes.AuthenticationType.Open) {
                            returnArg.value1 = OnboardingEnumTypes.ConnectionResultCode.Validated;
                            returnArg.value2 = "Connected successfully";
                            AppData.onboardingProperties.configurationState = OnboardingEnumTypes.ConfigurationState.Validated;
                        } else {
                            if (AppData.onboardingConfiguration.passphrase.toLowerCase() === convertUtf8ToHex(AppData.sampleNetworkPassword)) {
                                returnArg.value1 = OnboardingEnumTypes.ConnectionResultCode.Validated;
                                returnArg.value2 = "Connected successfully";
                                AppData.onboardingProperties.configurationState = OnboardingEnumTypes.ConfigurationState.Validated;
                            } else {
                                returnArg.value1 = OnboardingEnumTypes.ConnectionResultCode.Unauthorized;
                                returnArg.value2 = "Invalid password";
                                AppData.onboardingProperties.configurationState = OnboardingEnumTypes.ConfigurationState.Error;
                            }
                        }
                    } else {
                        returnArg.value1 = OnboardingEnumTypes.ConnectionResultCode.UnsupportedProtocol;
                        returnArg.value2 = "Unsupported authentication mechanism";
                        AppData.onboardingProperties.configurationState = OnboardingEnumTypes.ConfigurationState.Error;
                    }
                } else {
                    returnArg.value1 = OnboardingEnumTypes.ConnectionResultCode.Unreachable;
                    returnArg.value2 = "Configured SSID unreachable";
                    AppData.onboardingProperties.configurationState = OnboardingEnumTypes.ConfigurationState.Error;
                }
            }

            producer.signals.connectionResult(returnArg);
            AppData.onboardingProperties.lastErrorCode = returnArg.value1;
            AppData.onboardingProperties.lastErrorMessage = returnArg.value2;

            if (returnArg.value1 === OnboardingEnumTypes.ConnectionResultCode.Validated) {
                reportStatus("Onboarding successful. Connected to " + ssid);
            } else {
                reportError("Onboarding Failed. Attempt to connect failed with result code: " + OnboardingEnumTypes.ConnectionResultCode.properties[returnArg.value1].name + " and message: " + returnArg.value2 + ".");
            }
        }, 5000);