Files
SimDirs-mirror/SimDirs/Model/SimOSVersion.swift
2021-11-26 23:48:59 +01:00

53 lines
1.6 KiB
Swift

//
// SimOSVersion.swift
// SimDirs
//
// Created by Casey Fleser on 4/30/16.
// Copyright © 2016 Quiet Spark. All rights reserved.
//
import Foundation
class SimOSVersion: OutlineProvider, NSCopying {
let name : String
var devices = [SimDevice]()
init(name: String) {
self.name = name
}
func copy(with zone: NSZone? = nil) -> Any {
let copy = SimOSVersion(name: self.name)
copy.devices = self.devices
return copy
}
func completeScan(_ platformName: String) {
for device in self.devices {
device.completeScan(platformName)
}
self.devices.sort { $0.name < $1.name }
}
func updateWithDeviceInfo(_ deviceInfo: [String : AnyObject], baseURL: URL) {
guard let deviceName = deviceInfo["name"] as? String else { return }
guard let deviceUDID = deviceInfo["UDID"] as? String else { return }
guard var deviceType = deviceInfo["deviceType"] as? String else { return }
deviceType = deviceType.replacingOccurrences(of: "com.apple.CoreSimulator.SimDeviceType.", with: "")
deviceType = deviceType.replacingOccurrences(of: "-", with: " ")
self.devices.append(SimDevice(name: deviceName, type: deviceType, udid: deviceUDID, baseURL: baseURL))
}
// MARK: - OutlineProvider -
var outlineTitle : String { return self.name }
var outlineImage : NSImage? { return nil }
var childCount : Int { return self.devices.count }
func childAtIndex(_ index: Int) -> OutlineProvider? {
return self.devices[index]
}
}