//
//  EZIoTBLECentralConfigParam.h
//  EZIoTBluetoothSDK
//
//  Created by yuqian on 2023/8/15.
//

#import <Foundation/Foundation.h>
#import <CoreBluetooth/CBUUID.h>

NS_ASSUME_NONNULL_BEGIN

@interface EZIoTBLECentralConfigParam : NSObject

/// 可选，设置CBCentralManager 执行队列，不设置 SDK 内部默认使用独立并行队列
@property (nonatomic, strong) dispatch_queue_t centralQueue;

/// 可选，设置非萤石自定义 Ble 服务，设置后外设扫描将会发现指定服务
/// 格式为十六进字符串，内部通过该字符串实例化 CBUUID 对象 [CBUUID UUIDWithString:@"0xABCD"]
@property (nonatomic, strong) NSArray <CBUUID *>*customServices;

/// 可选，设置非萤石自定义 Ble 特征，设置后外设扫描将会发现指定特征
/// 不设置可默认查询所有特征
/// 格式为十六进字符串，内部通过该字符串实例化 CBUUID 对象 [CBUUID UUIDWithString:@"0xABCD"]
@property (nonatomic, strong) NSArray <CBUUID *>*customCharacteristices;

/// 可选，实例化时如果手机蓝牙功能不可用，是否需要系统弹窗（CBCentralManagerOptionShowPowerAlertKey），默认关闭
@property (nonatomic, assign) BOOL showPowerAlert;

/// 可选，是否外设连接回调，主要用于自定义协议开发
@property (nonatomic, assign) BOOL noNeedConnectCallback;

/// 可选，是否优先使用代理处理，主要用于自定义协议开发
@property (nonatomic, assign) BOOL isPriorityHandlerDelegate;

@end

NS_ASSUME_NONNULL_END
