Lightly modified version of the BLE stack, that doesn't bring up a DFUService by default... as we have our own.

Fork of BLE_API by Bluetooth Low Energy

Revision:
304:30618b2c9808
Parent:
300:d9a39f759a6a
Child:
344:241987ac6b8b
diff -r a0d78cb2e9ef -r 30618b2c9808 public/GattAttribute.h
--- a/public/GattAttribute.h	Mon Mar 02 11:50:48 2015 +0000
+++ b/public/GattAttribute.h	Mon Mar 02 11:50:48 2015 +0000
@@ -46,15 +46,17 @@
      */
     /**************************************************************************/
     GattAttribute(const UUID &uuid, uint8_t *valuePtr = NULL, uint16_t initialLen = 0, uint16_t maxLen = 0) :
-        _uuid(uuid), _valuePtr(valuePtr), _initialLen(initialLen), _lenMax(maxLen), _handle() {
+        _uuid(uuid), _valuePtr(valuePtr), _initialLen(initialLen), _lenMax(maxLen), _len(initialLen), _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    getInitialLength(void) const {return _initialLen;}
     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;  }
 
@@ -63,6 +65,7 @@
     uint8_t  *_valuePtr;
     uint16_t  _initialLen;  /* Initial length of the value */
     uint16_t  _lenMax;      /* Maximum length of the value */
+    uint16_t  _len;         /* Current length of the value */
     Handle_t  _handle;
 
 private: