Example #1
0
        public void ConnectToDrone()
        {
            lock (sync)
            {
                isBinding = true;

                try
                {
                    //String xmlProfile = networkInterface.GetProfileXml(networkDrone.profileName);
                    //networkInterface.SetProfile(Wlan.WlanProfileFlags.AllUser, xmlProfile, true);

                    String xmlProfile = CreateProfile(networkDrone.SSID, "", false);// networkInterface.GetProfileXml(networkRouter.profileName);
                    networkInterface.SetProfile(Wlan.WlanProfileFlags.AllUser, xmlProfile, true);



                    Status("Connecting to " + networkDrone.SSID);
                    bool bSuccess = networkInterface.ConnectSynchronously(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, networkDrone.SSID, 10000);
                    //bool bSuccess = networkInterface.ConnectSynchronously(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, networkDrone.profileName, 10000);
                    //networkInterface.Connect(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, drone.profileName);
                }
                catch (Exception e)
                {
                    Status("ERROR: " + e.Message);
                    this.Invoke(stoppedBindDelegate);
                }
            }
        }
        void ConnectNewSecureNetwork(string ssid, string key, WlanClient.WlanInterface nic, Wlan.WlanAvailableNetwork network)
        {
            var log = ServiceRegistration.Get <ILogger>();

            log.Info("WifiConfiguration: Building new Profile to connect to WLAN '{0}'", ssid);
            string profileXml = Helper.GetProfileXml(ssid, key, network.dot11DefaultAuthAlgorithm, network.dot11DefaultCipherAlgorithm);

            if (profileXml != null)
            {
                string error = null;
                try
                {
                    Wlan.WlanReasonCode reasonCode = nic.SetProfile(Wlan.WlanProfileFlags.User, profileXml, true);
                    if (reasonCode != Wlan.WlanReasonCode.Success)
                    {
                        error = reasonCode.ToString();
                    }
                }
                catch (Exception ex)
                {
                    error = ex.Message;
                }
                if (error == null)
                {
                    nic.ConnectSynchronously(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, ssid, CONNECTION_TIMEOUT_SECONDS);
                }
                else
                {
                    log.Warn("WifiConfiguration: Setting Profile for WLAN '{0}' failed: '{1}'", ssid, error);
                    ServiceRegistration.Get <IDialogManager>().ShowDialog("[Dialogs.ErrorHeaderText]", error, DialogType.OkDialog, false, DialogButtonType.Ok);
                }
            }
            else
            {
                // don't know how to build profile
                log.Warn("WifiConfiguration: No known Mapping to create Profile '{0}' for AuthAlg: '{1}' and CipherAlg: '{2}'", ssid, network.dot11DefaultAuthAlgorithm, network.dot11DefaultCipherAlgorithm);
                ServiceRegistration.Get <IDialogManager>().ShowDialog("[Dialogs.ErrorHeaderText]", "Unable to build profile. Connect in Windows.", DialogType.OkDialog, false, DialogButtonType.Ok);
            }
        }
        void ConnectNetwork(string ssid, WlanClient.WlanInterface nic, Wlan.WlanAvailableNetwork network)
        {
            var log = ServiceRegistration.Get <ILogger>();

            if (!string.IsNullOrEmpty(network.profileName))
            {
                try
                {
                    log.Info("WifiConfiguration: Using existing Profile to connect to WLAN '{0}'", ssid);
                    bool success = nic.ConnectSynchronously(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, network.profileName, CONNECTION_TIMEOUT_SECONDS);
                    if (success)
                    {
                        FindNetworks();
                    }
                    else
                    {
                        log.Warn("Connection to WLAN '{0}' failed.", ssid);
                    }
                }
                catch (Exception ex)
                {
                    log.Warn("Connection to WLAN '{0}' failed: {1}", ex, ssid, ex.Message);
                }
            }
            else
            {
                if (network.securityEnabled)
                {
                    ServiceRegistration.Get <IScreenManager>().ShowDialog("dialogWifiPassword");
                }
                else
                {
                    log.Info("WifiConfiguration: Connecting to unsecured WLAN '{0}'", ssid);
                    nic.Connect(Wlan.WlanConnectionMode.Auto, Wlan.Dot11BssType.Any, network.dot11Ssid, 0);
                }
            }
        }
Example #4
0
 public bool ConnectSynchronously(Wlan.WlanConnectionMode connectionMode, Wlan.Dot11BssType bssType,
                                  string profile, int connectTimeout)
 {
     return(_wlanInterface.ConnectSynchronously(connectionMode, bssType, profile, connectTimeout));
 }