PumpSetupView.swift 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import LoopKit
  2. import LoopKitUI
  3. import MinimedKit
  4. import MinimedKitUI
  5. import OmniKit
  6. import OmniKitUI
  7. import RileyLinkBLEKit
  8. import RileyLinkKit
  9. import RileyLinkKitUI
  10. import SwiftUI
  11. import UIKit
  12. extension PumpConfig {
  13. struct PumpSetupView: UIViewControllerRepresentable {
  14. let pumpType: PumpType
  15. let pumpInitialSettings: PumpInitialSettings
  16. weak var completionDelegate: CompletionDelegate?
  17. weak var setupDelegate: PumpManagerSetupViewControllerDelegate?
  18. func makeUIViewController(context _: UIViewControllerRepresentableContext<PumpSetupView>) -> UIViewController {
  19. var setupViewController: PumpManagerSetupViewController & UIViewController & CompletionNotifying
  20. switch pumpType {
  21. case .minimed:
  22. setupViewController = MinimedPumpManager.setupViewController()
  23. case .omnipod:
  24. setupViewController = OmnipodPumpManager.setupViewController()
  25. }
  26. setupViewController.setupDelegate = setupDelegate
  27. setupViewController.completionDelegate = completionDelegate
  28. setupViewController.maxBolusUnits = pumpInitialSettings.maxBolusUnits
  29. setupViewController.maxBasalRateUnitsPerHour = pumpInitialSettings.maxBasalRateUnitsPerHour
  30. setupViewController.basalSchedule = pumpInitialSettings.basalSchedule
  31. return setupViewController
  32. }
  33. func updateUIViewController(_: UIViewController, context _: UIViewControllerRepresentableContext<PumpSetupView>) {}
  34. }
  35. }