blob: e84e532173f33d43c37ce7649af335efd06ab8dd [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
import Foundation
import CoreBluetooth
struct Peripheral {
let peripheral: CBPeripheral
let adData: [String: AnyObject]
let rssi: Float
var serviceUUIDs: [CBUUID]? {
return adData[CBAdvertisementDataServiceUUIDsKey] as? [CBUUID]
}
var overflowServiceUUIDs: [CBUUID]? {
return adData[CBAdvertisementDataOverflowServiceUUIDsKey] as? [CBUUID]
}
var solicitedServiceUUIDs: [CBUUID]? {
return adData[CBAdvertisementDataSolicitedServiceUUIDsKey] as? [CBUUID]
}
var isConnectable: Bool? {
return (adData[CBAdvertisementDataIsConnectable] as? NSNumber)?.boolValue
}
var txPower: Float? {
return (adData[CBAdvertisementDataTxPowerLevelKey] as? NSNumber)?.floatValue
}
var serviceData: [CBUUID: NSData]? {
return adData[CBAdvertisementDataServiceDataKey] as? [CBUUID: NSData]
}
var manufacturerData: NSData? {
return adData[CBAdvertisementDataManufacturerDataKey] as? NSData
}
var localName: String? {
return adData[CBAdvertisementDataLocalNameKey] as? String
}
}