import Foundation

enum CameraServiceFactory {
    static func make(brand: CameraBrand) -> any CameraServiceProtocol {
        switch brand {
        case .sony:
            SonyCameraService()
        case .canon:
            CanonCameraService()
        case .nikon:
            preconditionFailure("\(brand.displayName) 相机尚未实现")
        }
    }

    /// 自动识别 USB 相机品牌；返回进程级共享实例以支持页面 detach / 再进入复连。
    static func makeAutoDetect() -> any CameraServiceProtocol {
        CameraTetheringSession.sharedService
    }
}
