TidepoolManager.swift 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import Combine
  2. import Foundation
  3. import LoopKitUI
  4. import Swinject
  5. import UIKit
  6. protocol TidePoolManager {
  7. func deleteCarbs(at date: Date, isFPU: Bool?, fpuID: String?, syncID: String)
  8. func deleteInsulin(at date: Date)
  9. func uploadStatus()
  10. func uploadGlucose()
  11. func uploadStatistics(dailystat: Statistics)
  12. func uploadPreferences(_ preferences: Preferences)
  13. func uploadProfileAndSettings(_: Bool)
  14. }
  15. final class BaseTidePoolManager: TidePoolManager, Injectable {
  16. @Injected() private var broadcaster: Broadcaster!
  17. private let processQueue = DispatchQueue(label: "BaseNetworkManager.processQueue")
  18. private var ping: TimeInterval?
  19. private var lifetime = Lifetime()
  20. init(resolver: Resolver) {
  21. injectServices(resolver)
  22. subscribe()
  23. }
  24. private func subscribe() {
  25. broadcaster.register(PumpHistoryObserver.self, observer: self)
  26. broadcaster.register(CarbsObserver.self, observer: self)
  27. broadcaster.register(TempTargetsObserver.self, observer: self)
  28. }
  29. func sourceInfo() -> [String: Any]? {
  30. nil
  31. }
  32. func deleteCarbs(at _: Date, isFPU _: Bool?, fpuID _: String?, syncID _: String) {}
  33. func deleteInsulin(at _: Date) {}
  34. func uploadStatus() {}
  35. func uploadGlucose() {}
  36. func uploadStatistics(dailystat _: Statistics) {}
  37. func uploadPreferences(_: Preferences) {}
  38. func uploadProfileAndSettings(_: Bool) {}
  39. }
  40. extension BaseTidePoolManager: PumpHistoryObserver {
  41. func pumpHistoryDidUpdate(_: [PumpHistoryEvent]) {}
  42. }
  43. extension BaseTidePoolManager: CarbsObserver {
  44. func carbsDidUpdate(_: [CarbsEntry]) {}
  45. }
  46. extension BaseTidePoolManager: TempTargetsObserver {
  47. func tempTargetsDidUpdate(_: [TempTarget]) {}
  48. }