PumpConfigDataFlow.swift 918 B

1234567891011121314151617181920212223242526272829303132333435363738
  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 simulator
  10. }
  11. struct PumpInitialSettings {
  12. let maxBolusUnits: Double
  13. let maxBasalRateUnitsPerHour: Double
  14. let basalSchedule: BasalRateSchedule
  15. static let `default` = PumpInitialSettings(
  16. maxBolusUnits: 10,
  17. maxBasalRateUnitsPerHour: 2,
  18. basalSchedule: BasalRateSchedule(dailyItems: [RepeatingScheduleValue(startTime: 0, value: 1.0)])!
  19. )
  20. }
  21. }
  22. struct PumpDisplayState {
  23. let name: String
  24. let image: UIImage?
  25. }
  26. protocol PumpConfigProvider: Provider {
  27. func setPumpManager(_: PumpManagerUI)
  28. var pumpDisplayState: AnyPublisher<PumpDisplayState?, Never> { get }
  29. func pumpSettings() -> PumpSettings
  30. func basalProfile() -> [BasalProfileEntry]
  31. }