Пример #1
0
        public void RequestClientNetworks(object sender, System.EventArgs e)
        {
            UpdateStatus("Getting available client networks", "");
            var task = AccessPointHelper.RequestClientNetworks(_AvailableNetworks);

            task.ContinueWith(t => { HandleException(t.Exception); }, TaskContinuationOptions.OnlyOnFaulted);
        }
Пример #2
0
        public void FindAccessPoints(object sender, System.EventArgs e)
        {
            UpdateStatus("Getting available access points", "");
            var task = AccessPointHelper.FindAccessPoints(_AvailableAccessPoints);

            task.ContinueWith(t => { HandleException(t.Exception); }, TaskContinuationOptions.OnlyOnFaulted);
        }
Пример #3
0
        void ConnectToAccessPoint(object sender, System.EventArgs e)
        {
            UpdateStatus("Connecting to access point", "");
            var accessPoint = _availableAccessPointListView.SelectedItem as AccessPoint;
            var task        = AccessPointHelper.ConnectToAccessPoint(accessPoint);

            task.ContinueWith(t => { HandleException(t.Exception); }, TaskContinuationOptions.OnlyOnFaulted);
        }
Пример #4
0
        void DisconnectClientNetwork(object sender, System.EventArgs e)
        {
            UpdateStatus("Disconnecting from client network", "");
            var network = _availableNetworkListView.SelectedItem as Network;
            var task    = AccessPointHelper.DisconnectFromClientNetwork(network.Ssid);

            task.ContinueWith(t => { HandleException(t.Exception); }, TaskContinuationOptions.OnlyOnFaulted);
        }
Пример #5
0
        private void AccessPointHelper_AccessPointConnectedEvent(string status)
        {
            Device.BeginInvokeOnMainThread(() => {
                HandleState(State.AccessPointConnected);
                UpdateStatus(null, status);

#if AUTOMATE_FOR_TESTING
                AccessPointHelper.RequestClientNetworks(_AvailableNetworks);
#endif
            });
        }
Пример #6
0
        async void WifiFindAccessPoints(object sender, EventArgs e)
        {
            UpdateStatus("WifiFindAccessPoints", "");

            _AvailableAccessPoints.Clear();
            IEnumerable <AccessPoint> accessPoints = await AccessPointHelper.FindAccessPoints();

            foreach (AccessPoint accessPoint in accessPoints)
            {
                _AvailableAccessPoints.Add(accessPoint);
            }
            HandleState(State.AccessPointsEnumerated);
            UpdateStatus("WifiFindAccessPoints", "Enumerated");
        }
Пример #7
0
        async void WifiConnectToAccessPoint(object sender, System.EventArgs e)
        {
            UpdateStatus("WifiConnectToAccessPoint", "");
            var accessPoint = _availableAccessPointListView.SelectedItem as AccessPoint;
            var result      = await AccessPointHelper.ConnectToAccessPoint(accessPoint);

            if (result == WifiConnectionStatus.Connected)
            {
                HandleState(State.AccessPointConnected);
            }
            else
            {
                HandleState(State.AccessPointsEnumerated);
            }
            UpdateStatus("WifiConnectToAccessPoint", result.ToString());
        }
Пример #8
0
        private void AccessPointHelper_ClientNetworksEnumeratedEvent(string status)
        {
            Device.BeginInvokeOnMainThread(() => {
                HandleState(State.NetworksEnumerated);
                UpdateStatus(null, status);

#if AUTOMATE_FOR_TESTING
                foreach (var n in _AvailableNetworks)
                {
                    if (n.Ssid.Contains(_TestAutomation_NetworkPartial))
                    {
                        AccessPointHelper.ConnectToClientNetwork(n.Ssid.ToString(), _TestAutomation_NetworkPassword);
                        break;
                    }
                }
#endif
            });
        }
Пример #9
0
        private void AccessPointHelper_AccessPointsEnumeratedEvent(string status)
        {
            Device.BeginInvokeOnMainThread(() => {
                HandleState(State.AccessPointsEnmerated);
                UpdateStatus(null, status);

#if AUTOMATE_FOR_TESTING
                foreach (var ap in _AvailableAccessPoints)
                {
                    if (ap.Ssid.Contains(_TestAutomation_AccessPointPartial))
                    {
                        _availableAccessPointListView.SelectedItem = ap;
                        AccessPointHelper.ConnectToAccessPoint(ap);
                        break;
                    }
                }
#endif
            });
        }
Пример #10
0
        public async Task Run()
        {
            DebugHelper.LogInformation("Onboarding starting");
            DebugHelper.LogInformation($"Device Provisioning State: {(SimulatedDevice.IsProvisioned ? "Provisioned" : "Not provisioned")}");

            //Init Portal Api and turn on access point
            if (!InitializePortalAPI())
            {
                return;
            }

            //Start Services
            _WifiService         = new WifiService();
            _ProvisioningService = new ProvisioningService();
            _PortalService       = new PortalService();

            //Start AP App
            AccessPointHelper.StartAccessPoint();

            //Start Stream Socker Service
            _DeviceApiServer = new WebDeviceApiServer();
            _DeviceApiServer.CommandReceived += CommandReceived;
            _DeviceApiServer.Start();

            DebugHelper.LogInformation("Onboarding started");

            //Wait for AP Timeout
            _LastAccess = DateTime.UtcNow;
            while (true)
            {
                if (_APTimeoutEnabled && SimulatedDevice.IsProvisioned &&
                    DateTime.UtcNow.AddMinutes(-(APTimeoutMinutes)) > _LastAccess)
                {
                    AccessPointHelper.StopAccessPoint();
                }
                await Task.Delay(500);
            }
        }
Пример #11
0
        public MainPage()
        {
            InitializeComponent();

            _connectButton.IsEnabled = false;

            _availableAccessPointListView.ItemsSource = _AvailableAccessPoints;
            _availableNetworkListView.ItemsSource     = _AvailableNetworks;

            AccessPointHelper.AccessPointConnectedEvent     += AccessPointHelper_AccessPointConnectedEvent;
            AccessPointHelper.AccessPointsEnumeratedEvent   += AccessPointHelper_AccessPointsEnumeratedEvent;
            AccessPointHelper.ClientNetworkConnectedEvent   += AccessPointHelper_ClientNetworkConnectedEvent;
            AccessPointHelper.ClientNetworksEnumeratedEvent += AccessPointHelper_ClientNetworksEnumeratedEvent;

            AccessPointsScanned      = false;
            AccessPointConnected     = false;
            ClientNetworkConnected   = false;
            ClientNetworksEnumerated = false;

            _clientNetworkPassword.IsEnabled = false;
            _connectClientNetwork.IsEnabled  = false;
            _connectButton.IsEnabled         = false;
            _requestClientNetworks.IsEnabled = false;

            _ScanApsGrouping.OutlineColor    = Color.Yellow;
            _ConnectApGrouping.OutlineColor  = Color.Default;
            _NetworksGrouping.OutlineColor   = Color.Default;
            _DisconnectGrouping.OutlineColor = Color.Default;
            _ConnectGrouping.OutlineColor    = Color.Default;

            _StatusAction = "";
            _StatusResult = "";

#if AUTOMATE_FOR_TESTING
            AccessPointHelper.FindAccessPoints(_AvailableAccessPoints);
#endif
        }
Пример #12
0
 void Exit(object sender, EventArgs e)
 {
     AccessPointHelper.Disconnect();
 }
Пример #13
0
 public void Exit(object sender, System.EventArgs e)
 {
     AccessPointHelper.Disconnect();
 }