diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2021-09-14 13:59:01 +0200 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2021-09-15 10:54:31 +0200 |
| commit | 76dd2c99bf92d608022efbf05ffcbfebda43e0c1 (patch) | |
| tree | 8cccb074a033089ac531e425f4a825df62b616c3 /ios/MullvadVPN/Operations/OperationBlockObserver.swift | |
| parent | e553d10b869c46e7ab922b86c32f4bd016e4fdac (diff) | |
| download | mullvadvpn-76dd2c99bf92d608022efbf05ffcbfebda43e0c1.tar.xz mullvadvpn-76dd2c99bf92d608022efbf05ffcbfebda43e0c1.zip | |
Operations: simplify AsyncOperation, remove advanced features
Diffstat (limited to 'ios/MullvadVPN/Operations/OperationBlockObserver.swift')
| -rw-r--r-- | ios/MullvadVPN/Operations/OperationBlockObserver.swift | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/ios/MullvadVPN/Operations/OperationBlockObserver.swift b/ios/MullvadVPN/Operations/OperationBlockObserver.swift deleted file mode 100644 index 1ba2f1ae50..0000000000 --- a/ios/MullvadVPN/Operations/OperationBlockObserver.swift +++ /dev/null @@ -1,67 +0,0 @@ -// -// OperationBlockObserver.swift -// MullvadVPN -// -// Created by pronebird on 06/07/2020. -// Copyright © 2020 Mullvad VPN AB. All rights reserved. -// - -import Foundation - -class OperationBlockObserver<OperationType: OperationProtocol>: OperationObserver { - private var willExecute: ((OperationType) -> Void)? - private var willFinish: ((OperationType) -> Void)? - private var didFinish: ((OperationType) -> Void)? - - let queue: DispatchQueue? - - init( - queue: DispatchQueue? = nil, - willExecute: ((OperationType) -> Void)? = nil, - willFinish: ((OperationType) -> Void)? = nil, - didFinish: ((OperationType) -> Void)? = nil - ) { - self.queue = queue - self.willExecute = willExecute - self.willFinish = willFinish - self.didFinish = didFinish - } - - func operationWillExecute(_ operation: OperationType) { - if let willExecute = willExecute { - scheduleEvent { - willExecute(operation) - } - } - } - - func operationWillFinish(_ operation: OperationType) { - if let willFinish = self.willFinish { - scheduleEvent { - willFinish(operation) - } - } - } - - func operationDidFinish(_ operation: OperationType) { - if let didFinish = self.didFinish { - scheduleEvent { - didFinish(operation) - } - } - } - - private func scheduleEvent(_ body: @escaping () -> Void) { - if let queue = queue { - queue.async(execute: body) - } else { - body() - } - } -} - -extension OperationProtocol { - func addDidFinishBlockObserver(queue: DispatchQueue? = nil, _ block: @escaping (Self) -> Void) { - addObserver(OperationBlockObserver(queue: queue, didFinish: block)) - } -} |
