diff options
Diffstat (limited to 'Sources/WireGuardApp/UI/ErrorPresenterProtocol.swift')
-rw-r--r-- | Sources/WireGuardApp/UI/ErrorPresenterProtocol.swift | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Sources/WireGuardApp/UI/ErrorPresenterProtocol.swift b/Sources/WireGuardApp/UI/ErrorPresenterProtocol.swift new file mode 100644 index 0000000..4368e7d --- /dev/null +++ b/Sources/WireGuardApp/UI/ErrorPresenterProtocol.swift @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: MIT +// Copyright © 2018-2023 WireGuard LLC. All Rights Reserved. + +protocol ErrorPresenterProtocol { + static func showErrorAlert(title: String, message: String, from sourceVC: AnyObject?, onPresented: (() -> Void)?, onDismissal: (() -> Void)?) +} + +extension ErrorPresenterProtocol { + static func showErrorAlert(title: String, message: String, from sourceVC: AnyObject?, onPresented: (() -> Void)?) { + showErrorAlert(title: title, message: message, from: sourceVC, onPresented: onPresented, onDismissal: nil) + } + + static func showErrorAlert(title: String, message: String, from sourceVC: AnyObject?, onDismissal: (() -> Void)?) { + showErrorAlert(title: title, message: message, from: sourceVC, onPresented: nil, onDismissal: onDismissal) + } + + static func showErrorAlert(title: String, message: String, from sourceVC: AnyObject?) { + showErrorAlert(title: title, message: message, from: sourceVC, onPresented: nil, onDismissal: nil) + } + + static func showErrorAlert(error: WireGuardAppError, from sourceVC: AnyObject?, onPresented: (() -> Void)? = nil, onDismissal: (() -> Void)? = nil) { + let (title, message) = error.alertText + showErrorAlert(title: title, message: message, from: sourceVC, onPresented: onPresented, onDismissal: onDismissal) + } +} |