RileyLinkStatus.swift 937 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. //
  2. // RileyLinkStatus.swift
  3. // RileyLink
  4. //
  5. // Created by Pete Schwamb on 8/12/16.
  6. // Copyright © 2016 Pete Schwamb. All rights reserved.
  7. //
  8. import Foundation
  9. public struct RileyLinkStatus {
  10. public enum State: String {
  11. case Connected = "connected"
  12. case Connecting = "connecting"
  13. case Disconnected = "disconnected"
  14. }
  15. let name: String
  16. let state: State
  17. let lastIdle: Date?
  18. let version: String?
  19. let rssi: Double?
  20. public var dictionaryRepresentation: [String: Any] {
  21. var rval = [String: Any]()
  22. rval["name"] = name
  23. rval["state"] = state.rawValue
  24. if let lastIdle = lastIdle {
  25. rval["lastIdle"] = TimeFormat.timestampStrFromDate(lastIdle)
  26. }
  27. if let version = version {
  28. rval["version"] = version
  29. }
  30. if let rssi = rssi {
  31. rval["rssi"] = rssi
  32. }
  33. return rval
  34. }
  35. }