PumpManagerUI.swift 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //
  2. // PumpManagerUI.swift
  3. // Loop
  4. //
  5. // Copyright © 2018 LoopKit Authors. All rights reserved.
  6. //
  7. import UIKit
  8. import LoopKit
  9. public protocol PumpManagerUI: PumpManager, DeliveryLimitSettingsTableViewControllerSyncSource, BasalScheduleTableViewControllerSyncSource {
  10. static func setupViewController() -> (UIViewController & PumpManagerSetupViewController & CompletionNotifying)
  11. func settingsViewController() -> (UIViewController & CompletionNotifying)
  12. // An image representing the pump configuration
  13. var smallImage: UIImage? { get }
  14. // Returns a class that can provide HUD views
  15. func hudProvider() -> HUDProvider?
  16. // Instantiates HUD views from the raw state returned by hudViewsRawState
  17. static func createHUDViews(rawValue: HUDProvider.HUDViewsRawState) -> [BaseHUDView]
  18. }
  19. public protocol PumpManagerSetupViewController {
  20. var setupDelegate: PumpManagerSetupViewControllerDelegate? { get set }
  21. var maxBasalRateUnitsPerHour: Double? { get set }
  22. var maxBolusUnits: Double? { get set }
  23. var basalSchedule: BasalRateSchedule? { get set }
  24. }
  25. public protocol PumpManagerSetupViewControllerDelegate: class {
  26. func pumpManagerSetupViewController(_ pumpManagerSetupViewController: PumpManagerSetupViewController, didSetUpPumpManager pumpManager: PumpManagerUI)
  27. }