PumpConfigDataFlow.swift 969 B

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