PumpConfigDataFlow.swift 990 B

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