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;
}