GlucoseSource.swift 495 B

12345678910111213141516171819
  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. }
  13. extension GlucoseSource {
  14. func sourceInfo() -> [String: Any]? { nil }
  15. }