PumpManagerExtensions.swift 989 B

12345678910111213141516171819202122232425262728293031323334
  1. import LoopKit
  2. import LoopKitUI
  3. extension PumpManager {
  4. typealias RawValue = [String: Any]
  5. var rawValue: [String: Any] {
  6. [
  7. "managerIdentifier": pluginIdentifier, // "managerIdentifier": type(of: self).managerIdentifier,
  8. "state": rawState
  9. ]
  10. }
  11. }
  12. extension PumpManagerUI {
  13. func settingsViewController(
  14. bluetoothProvider: BluetoothProvider,
  15. pumpManagerOnboardingDelegate: PumpManagerOnboardingDelegate?
  16. ) -> UIViewController & CompletionNotifying {
  17. var vc = settingsViewController(
  18. bluetoothProvider: bluetoothProvider,
  19. colorPalette: .default,
  20. allowDebugFeatures: true,
  21. allowedInsulinTypes: [.apidra, .humalog, .novolog, .fiasp, .lyumjev]
  22. )
  23. vc.pumpManagerOnboardingDelegate = pumpManagerOnboardingDelegate
  24. return vc
  25. }
  26. }
  27. protocol PumpSettingsBuilder {
  28. func settingsViewController() -> UIViewController & CompletionNotifying
  29. }