PumpConfigDataFlow.swift 831 B

123456789101112131415161718192021222324252627282930313233343536
  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. }