GlucoseSource.swift 528 B

1234567891011121314151617181920
  1. import Combine
  2. import LoopKit
  3. import LoopKitUI
  4. protocol SourceInfoProvider {
  5. func sourceInfo() -> [String: Any]?
  6. }
  7. protocol GlucoseSource: SourceInfoProvider {
  8. func fetch(_ heartbeat: DispatchTimer?) -> AnyPublisher<[BloodGlucose], Never>
  9. func fetchIfNeeded() -> AnyPublisher<[BloodGlucose], Never>
  10. var glucoseManager: FetchGlucoseManager? { get set }
  11. var cgmManager: CGMManagerUI? { get set }
  12. var cgmType: CGMType { get }
  13. }
  14. extension GlucoseSource {
  15. func sourceInfo() -> [String: Any]? { nil }
  16. }