diff options
Diffstat (limited to 'WireGuard/WireGuard/ZipArchive/ZipExporter.swift')
-rw-r--r-- | WireGuard/WireGuard/ZipArchive/ZipExporter.swift | 43 |
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) } - } - } -} |