| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- //
- // AcknowledgeAlertCommand.swift
- // OmniKit
- //
- // Created by Eelke Jager on 18/09/2018.
- // Copyright © 2018 Pete Schwamb. All rights reserved.
- //
- import Foundation
- public struct AcknowledgeAlertCommand : NonceResyncableMessageBlock {
- // OFF 1 2 3 4 5 6
- // 11 05 NNNNNNNN MM
- public let blockType: MessageBlockType = .acknowledgeAlert
- public let length: UInt8 = 5
- public var nonce: UInt32
- public let alerts: AlertSet
-
- public init(nonce: UInt32, alerts: AlertSet) {
- self.nonce = nonce
- self.alerts = alerts
- }
-
- public init(encodedData: Data) throws {
- if encodedData.count < 7 {
- throw MessageBlockError.notEnoughData
- }
- self.nonce = encodedData[2...].toBigEndian(UInt32.self)
- self.alerts = AlertSet(rawValue: encodedData[6])
- }
-
- public var data: Data {
- var data = Data([
- blockType.rawValue,
- length
- ])
- data.appendBigEndian(nonce)
- data.append(alerts.rawValue)
- return data
- }
- }
|