Skip to content

Commit

Permalink
fixed Bluetooth.UUID: FoundationConvertible
Browse files Browse the repository at this point in the history
  • Loading branch information
colemancda committed Apr 5, 2016
1 parent 34a5abb commit 5dae614
Showing 1 changed file with 5 additions and 30 deletions.
35 changes: 5 additions & 30 deletions Sources/UUID.swift
Original file line number Diff line number Diff line change
Expand Up @@ -185,40 +185,15 @@ public extension SwiftFoundation.UUID {

let data = Data(foundation: foundation.data)

switch data.byteValue.count {

case 2:

let littleEndian = UInt16(bytes: (data.byteValue[0], data.byteValue[1])).littleEndian

let value = UInt16(littleEndian: littleEndian)

self = .Bit16(value)

case 16:

self = .Bit128(SwiftFoundation.UUID(data: data)!)

default: fatalError("Invalid \(foundation)")
}
guard let UUID = Bluetooth.UUID(data: data)
else { fatalError("Could not create Bluetooth UUID from \(foundation)") }

self = UUID
}

public func toFoundation() -> CBUUID {

switch self {

case let .Bit16(value):

let littleEndian = value.littleEndian.bytes

let bytes = isBigEndian ? [littleEndian.1, littleEndian.0] : [littleEndian.0, littleEndian.1]

return CBUUID(data: Data(byteValue: bytes).toFoundation())

case let .Bit128(value):

return CBUUID(NSUUID: value.toFoundation())
}
return CBUUID(data: self.toData().toFoundation())
}
}

Expand Down

0 comments on commit 5dae614

Please sign in to comment.