UserDefaultsExtensions.swift 1003 B

12345678910111213141516171819202122232425262728293031323334
  1. import Foundation
  2. import LoopKit
  3. import RileyLinkBLEKit
  4. import RileyLinkKit
  5. extension UserDefaults {
  6. private enum Key: String {
  7. case pumpManagerRawValue = "com.rileylink.PumpManagerRawValue"
  8. case rileyLinkConnectionManagerState = "com.rileylink.RileyLinkConnectionManagerState"
  9. }
  10. var pumpManagerRawValue: PumpManager.RawStateValue? {
  11. get {
  12. dictionary(forKey: Key.pumpManagerRawValue.rawValue)
  13. }
  14. set {
  15. set(newValue, forKey: Key.pumpManagerRawValue.rawValue)
  16. }
  17. }
  18. var rileyLinkConnectionManagerState: RileyLinkConnectionManagerState? {
  19. get {
  20. guard let rawValue = dictionary(forKey: Key.rileyLinkConnectionManagerState.rawValue)
  21. else {
  22. return nil
  23. }
  24. return RileyLinkConnectionManagerState(rawValue: rawValue)
  25. }
  26. set {
  27. set(newValue?.rawValue, forKey: Key.rileyLinkConnectionManagerState.rawValue)
  28. }
  29. }
  30. }