MinimedPumpManagerRecents.swift 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //
  2. // MinimedPumpManagerRecents.swift
  3. // MinimedKit
  4. //
  5. // Copyright © 2019 Pete Schwamb. All rights reserved.
  6. //
  7. import Foundation
  8. import LoopKit
  9. struct MinimedPumpManagerRecents: Equatable {
  10. internal enum EngageablePumpState: Equatable {
  11. case engaging
  12. case disengaging
  13. case stable
  14. }
  15. internal var suspendEngageState: EngageablePumpState = .stable
  16. internal var bolusEngageState: EngageablePumpState = .stable
  17. internal var tempBasalEngageState: EngageablePumpState = .stable
  18. var lastAddedPumpEvents: Date = .distantPast
  19. var latestPumpStatus: PumpStatus? = nil
  20. var latestPumpStatusFromMySentry: MySentryPumpStatusMessageBody? = nil {
  21. didSet {
  22. if let sensorState = latestPumpStatusFromMySentry {
  23. self.sensorState = EnliteSensorDisplayable(sensorState)
  24. }
  25. }
  26. }
  27. var sensorState: EnliteSensorDisplayable? = nil
  28. }
  29. extension MinimedPumpManagerRecents: CustomDebugStringConvertible {
  30. var debugDescription: String {
  31. return """
  32. ### MinimedPumpManagerRecents
  33. suspendEngageState: \(suspendEngageState)
  34. bolusEngageState: \(bolusEngageState)
  35. tempBasalEngageState: \(tempBasalEngageState)
  36. lastAddedPumpEvents: \(lastAddedPumpEvents)
  37. latestPumpStatus: \(String(describing: latestPumpStatus))
  38. latestPumpStatusFromMySentry: \(String(describing: latestPumpStatusFromMySentry))
  39. sensorState: \(String(describing: sensorState))
  40. """
  41. }
  42. }