Example #1
0
        static public List <WifiSignalStrength> ScanForSignalStrengths(WifiInterface wifiInterface)
        {
            List <WifiSignalStrength> signalStrengthList = new List <WifiSignalStrength>();

            if (wifiInterface != null && !String.IsNullOrEmpty(wifiInterface.ID))
            {
                try
                {
                    WlanClient.WlanInterface wlanIface      = GetNetworkInterfaceFromId(wifiInterface.ID);
                    Wlan.WlanBssEntry[]      wlanBssEntries = wlanIface.GetNetworkBssList();
                    foreach (Wlan.WlanBssEntry wlanBssEntry in wlanBssEntries)
                    {
                        string mac  = ConvertAddressBytesToString(wlanBssEntry.dot11Bssid);
                        string ssid = Encoding.ASCII.GetString(wlanBssEntry.dot11Ssid.SSID, 0, (int)wlanBssEntry.dot11Ssid.SSIDLength);
                        int    rssi = wlanBssEntry.rssi;
                        if (rssi > 0)
                        {
                            rssi -= 255;
                        }
                        WifiSignalStrength signalStrength = new WifiSignalStrength(ssid, mac, rssi);
                        signalStrengthList.Add(signalStrength);
                    }
                    signalStrengthList.Sort();
                }
                catch
                {
                    // Do nothing.
                }
            }
            return(signalStrengthList);
        }
Example #2
0
        static public Scan ScanWifiSignals(WifiInterface wifiInterface)
        {
            List <Reading> readingList = new List <Reading>();
            Scan           scan        = new Scan(DateTime.UtcNow, readingList);

            if (wifiInterface != null && !String.IsNullOrEmpty(wifiInterface.ID))
            {
                try
                {
                    WlanClient.WlanInterface wlanIface      = GetNetworkInterfaceFromId(wifiInterface.ID);
                    Wlan.WlanBssEntry[]      wlanBssEntries = wlanIface.GetNetworkBssList();
                    foreach (Wlan.WlanBssEntry wlanBssEntry in wlanBssEntries)
                    {
                        string mac  = ConvertAddressBytesToString(wlanBssEntry.dot11Bssid);
                        string ssid = Encoding.ASCII.GetString(wlanBssEntry.dot11Ssid.SSID, 0, (int)wlanBssEntry.dot11Ssid.SSIDLength);
                        int    rssi = wlanBssEntry.rssi;
                        if (rssi > 0)
                        {
                            rssi -= 255;
                        }
                        Reading reading = new Reading(mac, ssid, rssi);

                        readingList.Add(reading);
                    }
                    readingList.Sort();
                }
                catch
                {
                    // Do nothing.
                }
            }
            return(scan);
        }
Example #3
0
        public override bool Equals(object obj)
        {
            bool equals = false;

            if (obj != null && (obj is WifiInterface))
            {
                WifiInterface comparedObject = (WifiInterface)obj;
                equals = (this.ID.Equals(comparedObject.ID) &&
                          this.Description.Equals(comparedObject.Description) &&
                          this.MACAddress.Equals(comparedObject.MACAddress));
            }
            return(equals);
        }