Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 private void OnRadioChosen(RadioViewData rvm)
 {
     if (this.RadioChosen != null)
     {
         this.RadioChosen(rvm);
     }
 }
Esempio n. 3
0
        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;
                    }
                });
            }
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (this.ListBox.SelectedIndex < 0)
            {
                return;
            }
            RadioViewData s = this.GetSelectedRVMFromListBox();

            this._radioChooserData.SelectedRadio = s;
        }
Esempio n. 6
0
 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);
         }
     }
 }
Esempio n. 7
0
 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);
             }
         }
     }
 }
Esempio n. 8
0
        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);
                }
            }
        }