// // TYBLEService.h // TuyaSmartPublic // // Created by 冯晓 on 16/8/2. // Copyright © 2016年 Tuya. All rights reserved. // #import #import @class TYBLECharacteristic; typedef void(^TYBLECentralServiceDiscoverCharacteristcsCallback)(NSArray *characteristics, NSError *error); @interface TYBLEService : NSObject /** * CBService对象 */ @property (strong, nonatomic, readonly) CBService *cbService; /** * 自己的UUID */ @property (strong, nonatomic, readonly) NSString *UUIDString; /** * 包含的characteristic列表 */ @property (strong, nonatomic) NSArray *characteristics; /** * 是否是device信息 */ @property (assign, nonatomic) BOOL isDeviceInfo; /** * 是否是timer信息 */ @property (nonatomic, assign) BOOL isTimerInfo; /** * 是否是battery信息 */ @property (assign, nonatomic) BOOL isBatteryInfo; /** * 构造TYBLESerice对象 * * @param aService CBservice对象 * * @return TYBLESerice对象 */ - (instancetype)initWithService:(CBService *)aService; /** * 查找所包含的characteristic列表 * * @param aCallback 完成的回调 */ - (void)discoverCharacteristicsWithCompletion:(TYBLECentralServiceDiscoverCharacteristcsCallback)aCallback; /** * 查找所包含的characteristic列表 * * 同步方法 * * @return TYBLECharacteristic list */ - (NSArray *)discoverCharacteristics; /** * 根据UUID查找所包含的characteristic * * @param aCallback 完成的回调 */ - (void)discoverCharacteristicsWithUUIDs:(NSArray *)uuids completion:(TYBLECentralServiceDiscoverCharacteristcsCallback)aCallback; /** * 取消characteristic的operaion */ - (void)cancelCharacteristicOperations; /** * 存储发现的characteristic * * @param aCharacteristics list of CBCharacteristics * @param aError error */ - (void)handleDiscoveredCharacteristics:(NSArray *)aCharacteristics error:(NSError *)aError; /** * 根据UUID查找characteristic * * @param uuid 待查找的UUID * * @return TYBLECharacteristic对象 */ - (TYBLECharacteristic*)retrieveCharacteristicByUUID:(NSString *)uuid; @end