public ObservableBluetoothLEAdvertisement()

in BluetoothLEExplorer/BluetoothLEExplorer/Models/ObservableBluetoothLEAdvertisement.cs [199:243]


        public ObservableBluetoothLEAdvertisement(BluetoothLEAdvertisementReceivedEventArgs advertisementEvent)
        {
            AddressAsString = advertisementEvent.BluetoothAddress.ToString("X12");
            if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 10))
            {
                AddressType = advertisementEvent.BluetoothAddressType;
                Anonymous = advertisementEvent.IsAnonymous;
                Connectable = advertisementEvent.IsConnectable;
                Scannable = advertisementEvent.IsScannable;
                Directed = advertisementEvent.IsDirected;
                ScanResponse = advertisementEvent.IsScanResponse;
                TxPower = advertisementEvent.TransmitPowerLevelInDBm;
            }
            else
            {
                if (advertisementEvent.AdvertisementType == BluetoothLEAdvertisementType.ConnectableDirected)
                {
                    Connectable = true;
                    Directed = true;
                }
                else if (advertisementEvent.AdvertisementType == BluetoothLEAdvertisementType.ConnectableUndirected)
                {
                    Connectable = true;
                }
                else if (advertisementEvent.AdvertisementType == BluetoothLEAdvertisementType.ScannableUndirected)
                {
                    Scannable = true;
                }
                else if (advertisementEvent.AdvertisementType == BluetoothLEAdvertisementType.ScanResponse)
                {
                    ScanResponse = true;
                }
            }

            Type = advertisementEvent.AdvertisementType;
            Rssi = advertisementEvent.RawSignalStrengthInDBm;
            Timestamp = advertisementEvent.Timestamp.LocalDateTime;

            foreach (var section in advertisementEvent.Advertisement.DataSections)
            {
                DataSections.Add(new ObservableBluetoothLEAdvertisementSection(section));
            }

            InternalHashString = AddressAsString + PayloadAsString;
        }