mirror of
https://github.com/shadowsocks/ShadowsocksX-NG.git
synced 2026-11-08 11:04:51 +00:00
25 lines
837 B
Swift
25 lines
837 B
Swift
import Foundation
|
|
import Security
|
|
|
|
/// 仅包含错误类别与系统状态码,不携带服务器资料或路径。
|
|
enum ServerLibraryFailure: Equatable {
|
|
case authorization(OSStatus)
|
|
case keyUnavailable
|
|
case authenticationFailed
|
|
case unsupportedVersion
|
|
case malformedFile
|
|
case storage
|
|
|
|
init(_ error: Error) {
|
|
switch error {
|
|
case CredentialKeyStoreError.keychainStatus(let status): self = .authorization(status)
|
|
case ServerLibraryError.keyUnavailable: self = .keyUnavailable
|
|
case ServerLibraryError.authenticationFailed: self = .authenticationFailed
|
|
case ServerLibraryError.unsupportedVersion: self = .unsupportedVersion
|
|
case ServerLibraryError.malformedFile: self = .malformedFile
|
|
case CatalogFileStore.PersistenceError.corrupt: self = .malformedFile
|
|
default: self = .storage
|
|
}
|
|
}
|
|
}
|