Files
xcodesApp-mirror/Xcodes/Backend/InstallationStep.swift
2021-01-01 15:36:20 -07:00

46 lines
1.2 KiB
Swift

import Foundation
/// A numbered step
enum InstallationStep: Equatable, CustomStringConvertible {
case downloading(progress: Progress)
case unarchiving
case moving(destination: String)
case trashingArchive
case checkingSecurity
case finishing
var description: String {
"(\(stepNumber)/\(stepCount)) \(message)"
}
var message: String {
switch self {
case .downloading:
return "Downloading"
case .unarchiving:
return "Unarchiving (This can take a while)"
case .moving(let destination):
return "Moving to \(destination)"
case .trashingArchive:
return "Moving archive to the Trash"
case .checkingSecurity:
return "Security verification"
case .finishing:
return "Finishing"
}
}
var stepNumber: Int {
switch self {
case .downloading: return 1
case .unarchiving: return 2
case .moving: return 3
case .trashingArchive: return 4
case .checkingSecurity: return 5
case .finishing: return 6
}
}
var stepCount: Int { 6 }
}