diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2022-09-25 16:34:23 +0200 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2022-09-26 16:35:38 +0200 |
| commit | f389956c2cd884df142adbf00ff2ac7e2f69c2b2 (patch) | |
| tree | 5f7d4869324760eb4ba0107c0356edc89efd1457 /ios/Operations/BlockCondition.swift | |
| parent | 2e83b1ca27ff243a615ff10c94c20840b38dfd45 (diff) | |
| download | mullvadvpn-f389956c2cd884df142adbf00ff2ac7e2f69c2b2.tar.xz mullvadvpn-f389956c2cd884df142adbf00ff2ac7e2f69c2b2.zip | |
Move AsyncOperation into Operations static library and add separate tests
Diffstat (limited to 'ios/Operations/BlockCondition.swift')
| -rw-r--r-- | ios/Operations/BlockCondition.swift | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ios/Operations/BlockCondition.swift b/ios/Operations/BlockCondition.swift new file mode 100644 index 0000000000..e6aafa1e2d --- /dev/null +++ b/ios/Operations/BlockCondition.swift @@ -0,0 +1,30 @@ +// +// BlockCondition.swift +// Operations +// +// Created by pronebird on 25/09/2022. +// Copyright © 2022 Mullvad VPN AB. All rights reserved. +// + +import Foundation + +public final class BlockCondition: OperationCondition { + public typealias HandlerBlock = (Operation, @escaping (Bool) -> Void) -> Void + + public var name: String { + return "BlockCondition" + } + + public var isMutuallyExclusive: Bool { + return false + } + + public let block: HandlerBlock + public init(block: @escaping HandlerBlock) { + self.block = block + } + + public func evaluate(for operation: Operation, completion: @escaping (Bool) -> Void) { + block(operation, completion) + } +} |
