Example #1
0
        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);
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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));
            }
        }
Example #4
0
        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);
            }
        }