High level Bluetooth Low Energy API and radio abstraction layer
Fork of BLE_API by
Diff: ble/GattAttribute.h
- Revision:
- 1011:317d3b25018e
- Parent:
- 1008:c27e0c6f1f38
- Child:
- 1017:ccb8c0646e55
diff -r 54d83fdfb9ce -r 317d3b25018e ble/GattAttribute.h --- a/ble/GattAttribute.h Wed Dec 02 12:57:28 2015 +0000 +++ b/ble/GattAttribute.h Wed Dec 02 12:57:28 2015 +0000 @@ -37,6 +37,8 @@ * The length in bytes of this attribute's value. * @param[in] maxLen * The max length in bytes of this attribute's value. + * @param[in] hasVariableLen + * Whether the attribute's value length changes overtime. * * @section EXAMPLE * @@ -47,25 +49,27 @@ * * @endcode */ - GattAttribute(const UUID &uuid, uint8_t *valuePtr = NULL, uint16_t len = 0, uint16_t maxLen = 0) : - _uuid(uuid), _valuePtr(valuePtr), _lenMax(maxLen), _len(len), _handle() { + GattAttribute(const UUID &uuid, uint8_t *valuePtr = NULL, uint16_t len = 0, uint16_t maxLen = 0, bool hasVariableLen = true) : + _uuid(uuid), _valuePtr(valuePtr), _lenMax(maxLen), _len(len), _hasVariableLen(hasVariableLen), _handle() { /* Empty */ } public: - Handle_t getHandle(void) const {return _handle; } - const UUID &getUUID(void) const {return _uuid; } - uint16_t getLength(void) const {return _len; } - uint16_t getMaxLength(void) const {return _lenMax; } - uint16_t *getLengthPtr(void) {return &_len; } - void setHandle(Handle_t id) {_handle = id; } - uint8_t *getValuePtr(void) {return _valuePtr; } + Handle_t getHandle(void) const {return _handle; } + const UUID &getUUID(void) const {return _uuid; } + uint16_t getLength(void) const {return _len; } + uint16_t getMaxLength(void) const {return _lenMax; } + uint16_t *getLengthPtr(void) {return &_len; } + void setHandle(Handle_t id) {_handle = id; } + uint8_t *getValuePtr(void) {return _valuePtr; } + bool hasVariableLength(void) const {return _hasVariableLen;} private: - UUID _uuid; /* Characteristic UUID. */ + UUID _uuid; /* Characteristic UUID. */ uint8_t *_valuePtr; - uint16_t _lenMax; /* Maximum length of the value. */ - uint16_t _len; /* Current length of the value. */ + uint16_t _lenMax; /* Maximum length of the value. */ + uint16_t _len; /* Current length of the value. */ + bool _hasVariableLen; Handle_t _handle; private: