PumpConfigDataFlow.swift 942 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import Combine
  2. import LoopKit
  3. import LoopKitUI
  4. enum PumpConfig {
  5. enum Config {}
  6. enum PumpType: Equatable {
  7. case minimed
  8. case omnipod
  9. case omnipodBLE
  10. case simulator
  11. }
  12. struct PumpInitialSettings {
  13. let maxBolusUnits: Double
  14. let maxBasalRateUnitsPerHour: Double
  15. let basalSchedule: BasalRateSchedule
  16. static let `default` = PumpInitialSettings(
  17. maxBolusUnits: 10,
  18. maxBasalRateUnitsPerHour: 2,
  19. basalSchedule: BasalRateSchedule(dailyItems: [RepeatingScheduleValue(startTime: 0, value: 1.0)])!
  20. )
  21. }
  22. }
  23. struct PumpDisplayState {
  24. let name: String
  25. let image: UIImage?
  26. }
  27. protocol PumpConfigProvider: Provider {
  28. func setPumpManager(_: PumpManagerUI)
  29. var pumpDisplayState: AnyPublisher<PumpDisplayState?, Never> { get }
  30. func pumpSettings() -> PumpSettings
  31. func basalProfile() -> [BasalProfileEntry]
  32. }