Esempio n. 1
0
        public async Task <bool> ConnectToWifi()
        {
            try
            {
                var wireless = NativeWifi.EnumerateAvailableNetworks().FirstOrDefault(x => string.Equals(x.Ssid.ToString(), "wireless", StringComparison.CurrentCultureIgnoreCase));
                if (wireless != null)
                {
                    _logger.Log(LogLevel.Information, JsonSerializer.Serialize(wireless));
                    await NativeWifi.ConnectNetworkAsync(wireless.Interface.Id, wireless.ProfileName ?? "wireless", wireless.BssType, TimeSpan.FromSeconds(30));

                    _seleniumManipulator.LoginWifi();
                    return(true);
                }

                _errorHandler.LogErrorAndDelay("cannot connect wifi");
                if (_errorHandler.CheckError())
                {
                    _errorHandler.HandleError();
                }
                return(false);
            }
            catch (Exception e)
            {
                _errorHandler.LogErrorAndDelay(e.Message);
                if (_errorHandler.CheckError())
                {
                    _errorHandler.HandleError();
                }
                return(false);
            }
        }
        public async Task <bool> ConnectNetworkAsync(ProfileItem profileItem, TimeSpan timeout)
        {
            if (profileItem == null)
            {
                throw new ArgumentNullException(nameof(profileItem));
            }

            return(await NativeWifi.ConnectNetworkAsync(profileItem.InterfaceId, profileItem.Name, BssType.Any, timeout));
        }
Esempio n. 3
0
        /// <summary>
        /// Connects to the available wireless LAN which has the highest signal quality.
        /// </summary>
        /// <returns>True if successfully connected. False if not.</returns>
        public static async Task <bool> ConnectAsync()
        {
            var availableNetwork = NativeWifi.EnumerateAvailableNetworks()
                                   .Where(x => !string.IsNullOrWhiteSpace(x.ProfileName))
                                   .OrderByDescending(x => x.SignalQuality)
                                   .FirstOrDefault();

            if (availableNetwork == null)
            {
                return(false);
            }

            return(await NativeWifi.ConnectNetworkAsync(
                       interfaceId : availableNetwork.Interface.Id,
                       profileName : availableNetwork.ProfileName,
                       bssType : availableNetwork.BssType,
                       timeout : TimeSpan.FromSeconds(10)));
        }