藍牙--CBCharacteristic筆記

/*? @class CBCharacteristic

*? @discussion

*代表一個服務的特征

*/

@interfaceCBCharacteristic :NSObject

//表明這個屬于哪個service

@property(weak,readonly,nonatomic)CBService*service;

//characteristic的UUID標識

@property(readonly,nonatomic)CBUUID*UUID;

// characteristic的屬性,是一個結(jié)構(gòu)體

typedefNS_OPTIONS(NSInteger, CBCharacteristicProperties) {

// 標識這個characteristic的屬性是廣播

CBCharacteristicPropertyBroadcast=0x01,

// 標識這個characteristic的屬性是讀

CBCharacteristicPropertyRead=0x02,

// 標識這個characteristic的屬性是寫-沒有響應

CBCharacteristicPropertyWriteWithoutResponse=0x04,

// 標識這個characteristic的屬性是寫

CBCharacteristicPropertyWrite=0x08,

// 標識這個characteristic的屬性是通知

CBCharacteristicPropertyNotify=0x10,

// 標識這個characteristic的屬性是聲明

CBCharacteristicPropertyIndicate=0x20,

// 標識這個characteristic的屬性是通過驗證的

CBCharacteristicPropertyAuthenticatedSignedWrites=0x40,

// 標識這個characteristic的屬性是拓展

CBCharacteristicPropertyExtendedProperties=0x80,

// 標識這個characteristic的屬性是需要加密的通知

CBCharacteristicPropertyNotifyEncryptionRequiredNS_ENUM_AVAILABLE(NA,6_0)=0x100,

// 標識這個characteristic的屬性是需要加密的申明

CBCharacteristicPropertyIndicateEncryptionRequiredNS_ENUM_AVAILABLE(NA,6_0)=0x200

};

@property(readonly,nonatomic)CBCharacteristicPropertiesproperties;

// characteristic的值

@property(retain,readonly)NSData*value;

// * *

@property(retain,readonly)NSArray*descriptors;

//特征是否正在廣播

@property(readonly)BOOLisBroadcasted;

// 特征是否正在通知

@property(readonly)BOOLisNotifying;

@interfaceCBMutableCharacteristic :CBCharacteristic

// 權(quán)限

typedefNS_OPTIONS(NSInteger, CBAttributePermissions) {

//可讀的

CBAttributePermissionsReadable=0x01,

//可寫的

CBAttributePermissionsWriteable=0x02,

//需驗證

CBAttributePermissionsReadEncryptionRequired=0x04,

CBAttributePermissionsWriteEncryptionRequired=0x08

}

@property(assign,readwrite,nonatomic)CBAttributePermissionspermissions;

//訂閱這個characteristic的central

@property(retain,readonly)NSArray*subscribedCentrals

@property(retain,readwrite,nonatomic)CBUUID*UUID;

@property(assign,readwrite,nonatomic)CBCharacteristicPropertiesproperties;

@property(retain,readwrite)NSData*value;

@property(retain,readwrite)NSArray*descriptors;

- (id)initWithType:(CBUUID*)UUID properties:(CBCharacteristicProperties)properties value:(NSData*)value permissions:(CBAttributePermissions)permissions;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容