private void AutostartRadioThread(object obj) { int num = 0; while (num++ < 10) { string b = (string)obj; RadioViewData item = null; foreach (RadioViewData rvd in this._radioChooserData.RadioList.RadiosFound.SafeGetList()) { if (rvd.Radio.Serial == b) { item = rvd; } } int index = this.ListBox.Items.IndexOf(item); if (index >= 0) { base.Dispatcher.BeginInvoke(new Action(delegate { this.ListBox.SelectedIndex = index; this.btnRadioConnect_Click(this, null); }), new object[0]); return; } Thread.Sleep(1000); } }
private void OnRadioChosen(RadioViewData rvm) { if (this.RadioChosen != null) { this.RadioChosen(rvm); } }
private void API_WanListReceived(List <Radio> radioListFromServer) { string lastSelectedWanRadioSerial = ""; bool selradioiswan = _selectedRadio != null && _selectedRadio.Radio.IsWan; lock (_sllock) { if (selradioiswan) { lastSelectedWanRadioSerial = _selectedRadio.Radio.Serial; } _SmartLinkRadios.Clear(); foreach (Radio r in radioListFromServer) { _SmartLinkRadios.Add(new RadioViewData(r)); } base.RaisePropertyChanged("SmartLinkRadios"); this.RemoveAllFoundWanRadios(); this.AddWanRadiosToList(); this.UpdateSelectedSmartLinkRadio(); } if (selradioiswan) { InvokeHelper.BeginInvokeIfNeeded(Application.Current.Dispatcher, delegate { RadioViewData rvd = this._RadiosFound.FirstOrDefault((RadioViewData r) => r.Radio.Serial == lastSelectedWanRadioSerial); if (rvd != null) { this.SelectedRadio = rvd; } }); } }
private void btnRadioConnect_Click(object sender, RoutedEventArgs e) { if (this._radioChooserData.SelectedRadio == null) { return; } if (this.ListBox.SelectedIndex < 0) { return; } Button button = sender as Button; bool flag = false; if (button != null && button.Name.Contains("LowBw")) { flag = true; } RadioViewData s = this._radioChooserData.SelectedRadio; if (s == null) { return; } if (s.ConnectedState == "Update") { return; } if (s.Radio.RequiresAdditionalLicense) { return; } if (s.Radio.Status != "Available" && s.Radio.Status != "In_Use") { return; } this.OnRadioChosen(s); if (flag) { s.Radio.LowBandwidthConnect = flag; } if (s.Radio.IsWan) { Random random = new Random(); if (s.Radio.RequiresHolePunch) { s.Radio.NegotiatedHolePunchPort = random.Next(25000, 65000); } this._wanServer.SendConnectMessageToRadio(s.Radio.Serial, s.Radio.NegotiatedHolePunchPort); this._radioChooserData.ConnectedRadio = s; return; } s.ShouldConnect = true; this._radioChooserData.ConnectedRadio = s; base.Hide(); }
private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (this.ListBox.SelectedIndex < 0) { return; } RadioViewData s = this.GetSelectedRVMFromListBox(); this._radioChooserData.SelectedRadio = s; }
private void RemoveRadioFromLists(Radio radio) { lock (this) { RadioViewData rr = this._LocalRadios.FirstOrDefault((RadioViewData r) => r.Radio.Serial == radio.Serial); if (rr != null) { this._LocalRadios.Remove(rr); this._RadiosFound.Remove(rr); } } }
private void AddWanRadiosToList() { using (List <RadioViewData> .Enumerator enumerator = _SmartLinkRadios.ToList <RadioViewData>().GetEnumerator()) { while (enumerator.MoveNext()) { RadioViewData wanRvm = enumerator.Current; bool notfound1 = this._LocalRadios.FirstOrDefault((RadioViewData lanRvm) => lanRvm.Radio.Serial == wanRvm.Radio.Serial) == null; bool notfound2 = this._RadiosFound.FirstOrDefault((RadioViewData rvm) => rvm.Radio.Serial == wanRvm.Radio.Serial) == null; if (notfound1 && notfound2) { this._RadiosFound.Add(wanRvm); } } } }
private void API_RadioAdded(Radio radio) { bool notfound = _LocalRadios.FirstOrDefault((RadioViewData r) => r.Radio.Serial == radio.Serial) == null; if (notfound) { RadioViewData newRvm = new RadioViewData(radio); _LocalRadios.Add(newRvm); _RadiosFound.Add(newRvm); RadioViewData rr = _RadiosFound.FirstOrDefault((RadioViewData r) => r.Radio.IsWan && r.Radio.Serial == newRvm.Radio.Serial); if (rr != null) { _RadiosFound.Remove(rr); } } }