Files
Termind/TFI/Application/FeatureModels/MobileConnectionProtocol.swift
T

25 lines
597 B
Swift

import TermindApplication
import TermindDomain
import struct TermindDomain.Host
nonisolated enum MobileConnectionProtocol: Hashable {
case ssh
case sftp
var useCase: HostUseCase {
switch self {
case .ssh: .preferredTerminal
case .sftp: .sftp
}
}
func kind(for host: Host) -> ConnectionHistoryEntry.Kind? {
guard host.supports(useCase.protocolRequirement) else { return nil }
switch self {
case .ssh: return host.preferredTerminalProtocol == .telnet ? .telnet : .ssh
case .sftp: return .sftp
}
}
}