PumpConfigDataFlow.swift 808 B

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