aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuard/ZipArchive/ZipExporter.swift
diff options
context:
space:
mode:
Diffstat (limited to 'WireGuard/WireGuard/ZipArchive/ZipExporter.swift')
-rw-r--r--WireGuard/WireGuard/ZipArchive/ZipExporter.swift43
1 files changed, 0 insertions, 43 deletions
diff --git a/WireGuard/WireGuard/ZipArchive/ZipExporter.swift b/WireGuard/WireGuard/ZipArchive/ZipExporter.swift
deleted file mode 100644
index 3a87928..0000000
--- a/WireGuard/WireGuard/ZipArchive/ZipExporter.swift
+++ /dev/null
@@ -1,43 +0,0 @@
-// SPDX-License-Identifier: MIT
-// Copyright © 2018-2019 WireGuard LLC. All Rights Reserved.
-
-import Foundation
-
-enum ZipExporterError: WireGuardAppError {
- case noTunnelsToExport
-
- var alertText: AlertText {
- return (tr("alertNoTunnelsToExportTitle"), tr("alertNoTunnelsToExportMessage"))
- }
-}
-
-class ZipExporter {
- static func exportConfigFiles(tunnelConfigurations: [TunnelConfiguration], to url: URL, completion: @escaping (WireGuardAppError?) -> Void) {
-
- guard !tunnelConfigurations.isEmpty else {
- completion(ZipExporterError.noTunnelsToExport)
- return
- }
- DispatchQueue.global(qos: .userInitiated).async {
- var inputsToArchiver: [(fileName: String, contents: Data)] = []
- var lastTunnelName: String = ""
- for tunnelConfiguration in tunnelConfigurations {
- if let contents = tunnelConfiguration.asWgQuickConfig().data(using: .utf8) {
- let name = tunnelConfiguration.name ?? "untitled"
- if name.isEmpty || name == lastTunnelName { continue }
- inputsToArchiver.append((fileName: "\(name).conf", contents: contents))
- lastTunnelName = name
- }
- }
- do {
- try ZipArchive.archive(inputs: inputsToArchiver, to: url)
- } catch let error as WireGuardAppError {
- DispatchQueue.main.async { completion(error) }
- return
- } catch {
- fatalError()
- }
- DispatchQueue.main.async { completion(nil) }
- }
- }
-}