aboutsummaryrefslogtreecommitdiffstats
path: root/Sources/WireGuardApp/UI/ErrorPresenterProtocol.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Sources/WireGuardApp/UI/ErrorPresenterProtocol.swift')
-rw-r--r--Sources/WireGuardApp/UI/ErrorPresenterProtocol.swift25
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)
+ }
+}