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);
   }
 }
示例#2
-5
 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);
     }
   }
 }