//
//  CameraError.swift
//  otg_swift
//
//  Created by hanqiu on 2026/7/2.
//

import Foundation

/// 相机连接与业务层共用的错误类型。
enum CameraError: LocalizedError {
    /// 品牌 Driver 中该能力尚未实现（如尼康 downloadObject）
    case notImplemented
    /// PlatformDetector 返回 unknown，无法创建 Driver
    case unsupportedPlatform
    /// listObjects / download 时在设备树中找不到对应 ICCameraFile
    case deviceNotFound
    /// Session、授权或 PTP 失败；`String` 为具体原因
    case connectionFailed(String)

    var errorDescription: String? {
        switch self {
        case .notImplemented: return "功能尚未实现"
        case .unsupportedPlatform: return "不支持的相机品牌"
        case .deviceNotFound: return "未找到相机"
        case .connectionFailed(let msg): return "连接失败：\(msg)"
        }
    }
}
