summaryrefslogtreecommitdiffhomepage
path: root/ios/MullvadSettings/AccessMethodRepositoryProtocol.swift
diff options
context:
space:
mode:
Diffstat (limited to 'ios/MullvadSettings/AccessMethodRepositoryProtocol.swift')
-rw-r--r--ios/MullvadSettings/AccessMethodRepositoryProtocol.swift13
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)