PodInfoResponse.swift 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. //
  2. // PodInfoResponse.swift
  3. // OmniKit
  4. //
  5. // Created by Pete Schwamb on 2/23/18.
  6. // Copyright © 2018 Pete Schwamb. All rights reserved.
  7. //
  8. import Foundation
  9. public struct PodInfoResponse : MessageBlock {
  10. public let blockType : MessageBlockType = .podInfoResponse
  11. public let podInfoResponseSubType : PodInfoResponseSubType
  12. public let podInfo : PodInfo
  13. public let data : Data
  14. public init(encodedData: Data) throws {
  15. guard let subType = PodInfoResponseSubType(rawValue: encodedData[2]) else {
  16. throw MessageError.unknownValue(value: encodedData[2], typeDescription: "PodInfoResponseSubType")
  17. }
  18. self.podInfoResponseSubType = subType
  19. let len = encodedData.count
  20. podInfo = try podInfoResponseSubType.podInfoType.init(encodedData: encodedData.subdata(in: 2..<len))
  21. self.data = encodedData
  22. }
  23. }
  24. extension PodInfoResponse: CustomDebugStringConvertible {
  25. public var debugDescription: String {
  26. return "PodInfoResponse(\(blockType), \(podInfoResponseSubType), \(podInfo)"
  27. }
  28. }