UploaderStatus.swift 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //
  2. // UploaderStatus.swift
  3. // RileyLink
  4. //
  5. // Created by Pete Schwamb on 7/26/16.
  6. // Copyright © 2016 Pete Schwamb. All rights reserved.
  7. //
  8. import Foundation
  9. public struct UploaderStatus {
  10. public let battery: Int?
  11. public let name: String
  12. public let timestamp: Date
  13. public init(name: String, timestamp: Date, battery: Float? = nil) {
  14. let intBattery: Int?
  15. if let battery = battery , battery >= 0 {
  16. intBattery = Int(battery * 100)
  17. } else {
  18. intBattery = nil
  19. }
  20. self.init(name: name, timestamp: timestamp, battery: intBattery)
  21. }
  22. public init(name: String, timestamp: Date, battery: Int? = nil) {
  23. self.name = name
  24. self.timestamp = timestamp
  25. self.battery = battery
  26. }
  27. public var dictionaryRepresentation: [String: Any] {
  28. var rval = [String: Any]()
  29. rval["name"] = name
  30. rval["timestamp"] = TimeFormat.timestampStrFromDate(timestamp)
  31. if let battery = battery {
  32. rval["battery"] = battery
  33. }
  34. return rval
  35. }
  36. }