BatteryStatus.swift 962 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //
  2. // BatteryStatus.swift
  3. // RileyLink
  4. //
  5. // Created by Pete Schwamb on 7/28/16.
  6. // Copyright © 2016 Pete Schwamb. All rights reserved.
  7. //
  8. import Foundation
  9. public enum BatteryIndicator: String {
  10. case low = "low"
  11. case normal = "normal"
  12. }
  13. public struct BatteryStatus {
  14. let percent: Int?
  15. let voltage: Double?
  16. let status: BatteryIndicator?
  17. public init(percent: Int? = nil, voltage: Double? = nil, status: BatteryIndicator? = nil) {
  18. self.percent = percent
  19. self.voltage = voltage
  20. self.status = status
  21. }
  22. public var dictionaryRepresentation: [String: Any] {
  23. var rval = [String: Any]()
  24. if let percent = percent {
  25. rval["percent"] = percent
  26. }
  27. if let voltage = voltage {
  28. rval["voltage"] = voltage
  29. }
  30. if let status = status {
  31. rval["status"] = status.rawValue
  32. }
  33. return rval
  34. }
  35. }