diff options
Diffstat (limited to 'ios/MullvadSettings/AccessMethodRepositoryProtocol.swift')
| -rw-r--r-- | ios/MullvadSettings/AccessMethodRepositoryProtocol.swift | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/ios/MullvadSettings/AccessMethodRepositoryProtocol.swift b/ios/MullvadSettings/AccessMethodRepositoryProtocol.swift index 037ea24cda..02e0fa71f9 100644 --- a/ios/MullvadSettings/AccessMethodRepositoryProtocol.swift +++ b/ios/MullvadSettings/AccessMethodRepositoryProtocol.swift @@ -9,8 +9,8 @@ import Combine public protocol AccessMethodRepositoryDataSource { - /// Publisher that propagates a snapshot of persistent store upon modifications. - var publisher: AnyPublisher<[PersistentAccessMethod], Never> { get } + /// Publisher that propagates a snapshot of all access methods upon modifications. + var accessMethodsPublisher: AnyPublisher<[PersistentAccessMethod], Never> { get } /// - Returns: the default strategy. var directAccess: PersistentAccessMethod { get } @@ -18,9 +18,18 @@ public protocol AccessMethodRepositoryDataSource { /// Fetch all access method from the persistent store. /// - Returns: an array of all persistent access method. func fetchAll() -> [PersistentAccessMethod] + + /// Save last reachable access method to the persistent store. + func saveLastReachable(_ method: PersistentAccessMethod) + + /// Fetch last reachable access method from the persistent store. + func fetchLastReachable() -> PersistentAccessMethod } public protocol AccessMethodRepositoryProtocol: AccessMethodRepositoryDataSource { + /// Publisher that propagates a snapshot of last reachable access method upon modifications. + var lastReachableAccessMethodPublisher: AnyPublisher<PersistentAccessMethod, Never> { get } + /// Add new access method. /// - Parameter method: persistent access method model. func save(_ method: PersistentAccessMethod) |
