//
//  MigrateHelper.swift
//  PrinterDemo
//
//  Created by ldc on 2025/9/7.
//  Copyright © 2025 XiamenHY. All rights reserved.
//

import Foundation
import PrinterSDK

// 不想接也不想使用新的特性，继续旧方式PTDispatcher类进行通讯即可，但该类可能以后会移除
// 新的特性需要构造例如S1V1ProtocolPrinter、S1ESCPrinter这样的对象，前者为设备基础类，提供通用接口，后者定义ESC打印强相关功能。后续可能添加TSPL等指令集支持

// 不想改动原有的蓝牙搜索，希望沿用旧的通讯，但是需要用到新特性
// 创建RYBaseAccessory对象后根据需要创建S1V1ProtocolPrinter或S1ESCPrinter实例

/// 使用旧版模型构造通讯设备
/// - Parameter printer: 旧版设备模型
/// - Returns: 新通讯设备对象
/// - Note: 想使用原蓝牙搜索，希望沿用旧的通讯，但是需要用到新特性时使用
/// - Warning: 使用该方案需要应用启动时调用以下方法: <br>PTDispatcher.share()?.register(RYCentralManager.share().manager, delegate: RYCentralManager.share()) <br>PTDispatcher.share()?.autoClearReceiveDataBlock = false
func accessoryFromDispatcher(printer: PTPrinter) -> RYBaseAccessory {
    return PTDispatcherPrinter(printer: printer)
}
