private async void DisconnectFromNetworkHandler(string networkInfo, DataWriter writer) { var wifiSet = await FindWifi(networkInfo); if (wifiSet != null) { HandleDebugInfo(string.Format("Disconnecting from network: {0}", wifiSet.Network.Ssid)); wifiSet.Adapter.Disconnect(); var connectionResultResponse = new CompanionAppCommunication() { Verb = "DisconnectResult", Data = "Disconnected" }; await SendResponse(connectionResultResponse, writer); } }
private async void GetAvailableNetworkListHandler(DataWriter writer) { var wifiAdapterList = await WiFiAdapter.FindAllAdaptersAsync(); var wifiList = from adapter in wifiAdapterList from network in adapter.NetworkReport.AvailableNetworks select network.Ssid; var networks = wifiList.OrderBy(x => x).Distinct(); var networkResponse = new CompanionAppCommunication() { Verb = "AvailableNetworks" }; networkResponse.Data = Jsonify(typeof(string[]), networks.ToArray()); await SendResponse(networkResponse, writer); }
private async Task SendResponse(CompanionAppCommunication response, DataWriter writer) { // // In this sample, protected information is sent over the channel // as plain text. This data needs to be protcted with encryption // based on a trust relationship between the Companion App client // and server. // using (var stream = new MemoryStream()) { // Send request string requestData = Jsonify(typeof(CompanionAppCommunication), response); writer.WriteString(requestData); await writer.StoreAsync(); HandleDebugInfo(string.Format("Sent: {0} [{1}]", requestData, requestData)); } }
private async void ConnectToNetworkHandler(string networkInfo, DataWriter writer) { string[] ssidAndPassword = networkInfo.Split('='); var wifiSet = await FindWifi(ssidAndPassword[0]); if (wifiSet != null) { PasswordCredential credential = new PasswordCredential(); credential.Password = ssidAndPassword[1]; HandleDebugInfo(string.Format("Connecting to network using credentials: {0} [{1}]", wifiSet.Network.Ssid, credential.Password)); var result = await wifiSet.Adapter.ConnectAsync(wifiSet.Network, WiFiReconnectionKind.Manual, credential); var connectionResultResponse = new CompanionAppCommunication() { Verb = "ConnectResult", Data = result.ConnectionStatus.ToString() }; await SendResponse(connectionResultResponse, writer); } }