public override void StateFunction()
        {
            this.Enabled = false;

            base.StateFunction();

            // WZC-specific stuff

            if (m_nearbyAPs == null)
            {
                m_nearbyAPs = new List <AccessPoint>();
                m_nearbyAPs.AddRange(WZCInterface.NearbyAccessPoints);

                foreach (AccessPoint ap in m_nearbyAPs)
                {
                    RaiseAPInRange(ap);
                }
            }
            else
            {
                AccessPointCollection testList = WZCInterface.NearbyAccessPoints;

                // check for new APs
                foreach (AccessPoint ap in testList)
                {
                    if (!m_nearbyAPs.Contains(ap))
                    {
                        m_nearbyAPs.Add(ap);
                        RaiseAPInRange(ap);
                    }
                    else
                    {
                        // for now assume that the signal has probably changed, so every tick of the state machine will cause a refresh of the AP list
                        RaiseAPInfoChange(ap);
                    }
                }

                // check for lost APs
                foreach (AccessPoint ap in m_nearbyAPs)
                {
                    if (!testList.Contains(ap))
                    {
                        m_nearbyAPs.Remove(ap);
                        RaiseAPOutOfRange(ap);
                    }
                }
            }

            this.Enabled = true;
        }
        public netConfigDlg()
        {
            InitializeComponent();
            button1.Enabled = false;
            Timer mymer = new Timer();
            listView1.Items.Clear();

            mylection = ((WirelessZeroConfigNetworkInterface)WirelessZeroConfigNetworkInterface.GetAllNetworkInterfaces()[0]).NearbyAccessPoints;

            foreach (AccessPoint et in mylection)
            {
                ListViewItem maintum = new ListViewItem(et.Name);
                maintum.SubItems.Add(new ListViewItem.ListViewSubItem() { Text = et.SignalStrength.ToString() });
                maintum.SubItems.Add(new ListViewItem.ListViewSubItem() { Text = et.Privacy.ToString() });
                listView1.Items.Add(maintum);
            }
            //TODO: Update list at an interval; without 'losing focus' on the currently selected value
            mymer.Tick += new EventHandler(mymer_Tick);
        }
示例#3
0
        private void RefreshNetworkList()
        {
            if (propertiesFrame.Visible)
            {
                propertiesFrame.Visible = false;
                itemList.Height         = this.Height - 3;
            }

            itemList.ContextMenu = null;
            itemList.BeginUpdate();
            itemList.Items.Clear();

            m_lastAPList = m_selectedAdapter.NearbyAccessPoints;

            foreach (AccessPoint ap in m_lastAPList)
            {
                itemList.Items.Add(new ListItem());
            }

            itemList.EndUpdate();
        }
 void mymer_Tick(object sender, EventArgs e)
 {
     mylection = ((WirelessZeroConfigNetworkInterface)WirelessZeroConfigNetworkInterface.GetAllNetworkInterfaces()[0]).NearbyAccessPoints;
     listView1.Items.Clear();
     foreach (AccessPoint et in mylection)
     {
         ListViewItem maintum = new ListViewItem(et.Name);
         maintum.SubItems.Add(new ListViewItem.ListViewSubItem() { Text = et.SignalStrength.ToString() });
         maintum.SubItems.Add(new ListViewItem.ListViewSubItem() { Text = et.Privacy.ToString() });
         listView1.Items.Add(maintum);
     }
 }