CarelinkMessageBody.swift 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //
  2. // CarelinkMessageBody.swift
  3. // Naterade
  4. //
  5. // Created by Nathan Racklyeft on 12/26/15.
  6. // Copyright © 2015 Nathan Racklyeft. All rights reserved.
  7. //
  8. import Foundation
  9. public class CarelinkLongMessageBody: MessageBody {
  10. public static var length: Int = 65
  11. let rxData: Data
  12. public required init?(rxData: Data) {
  13. var data: Data = rxData
  14. if data.count < type(of: self).length {
  15. data.append(contentsOf: [UInt8](repeating: 0, count: type(of: self).length - data.count))
  16. }
  17. self.rxData = data
  18. }
  19. public var txData: Data {
  20. return rxData
  21. }
  22. }
  23. public class CarelinkShortMessageBody: MessageBody {
  24. public static var length: Int = 1
  25. let data: Data
  26. public convenience init() {
  27. self.init(rxData: Data(repeating: 0, count: 1))!
  28. }
  29. public required init?(rxData: Data) {
  30. self.data = rxData
  31. if rxData.count != type(of: self).length {
  32. return nil
  33. }
  34. }
  35. public var txData: Data {
  36. return data
  37. }
  38. }