library for BLE_GAP_backpack

Dependencies:   nrf51-sdk

Fork of nRF51822 by Nordic Semiconductor

Revision:
308:482f16f3f7f5
Parent:
307:3889582936c9
Child:
309:ef9e806a7b03
--- a/btle/btle_discovery.h	Fri Jun 19 15:55:29 2015 +0100
+++ b/btle/btle_discovery.h	Fri Jun 19 15:55:29 2015 +0100
@@ -22,6 +22,36 @@
 
 void bleGattcEventHandler(const ble_evt_t *p_ble_evt);
 
+class nRFDiscoveredCharacteristic : public DiscoveredCharacteristic {
+public:
+    /**
+     * Initiate (or continue) a read for the value attribute, optionally at a
+     * given offset. If the Characteristic or Descriptor to be read is longer
+     * than ATT_MTU - 1, this function must be called multiple times with
+     * appropriate offset to read the complete value.
+     */
+    virtual void read(uint16_t offset = 0) {
+        /**@brief Initiate or continue a GATT Read (Long) Characteristic or Descriptor procedure.
+         *
+         * @details This function initiates or resumes a GATT Read (Long) Characteristic or Descriptor procedure. If the Characteristic or Descriptor
+         *          to be read is longer than ATT_MTU - 1, this function must be called multiple times with appropriate offset to read the
+         *          complete value.
+         *
+         * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+         * @param[in] handle The handle of the attribute to be read.
+         * @param[in] offset Offset into the attribute value to be read.
+         *
+         * @retval ::NRF_SUCCESS Successfully started or resumed the Read (Long) procedure.
+         * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+         * @retval ::NRF_ERROR_INVALID_STATE Invalid Connection State.
+         * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+         * @retval ::NRF_ERROR_BUSY Client procedure already in progress.
+         */
+        // sd_ble_gattc_read()
+        // SVCALL(SD_BLE_GATTC_READ, uint32_t, sd_ble_gattc_read(uint16_t conn_handle, uint16_t handle, uint16_t offset));
+    }
+};
+
 class NordicServiceDiscovery : public ServiceDiscovery
 {
 public:
@@ -246,14 +276,14 @@
         DISCOVER_CHARACTERISTIC_UUIDS,
     } state;
 
-    DiscoveredService         services[BLE_DB_DISCOVERY_MAX_SRV];  /**< Information related to the current service being discovered.
-                                                                    *  This is intended for internal use during service discovery. */
-    DiscoveredCharacteristic  characteristics[BLE_DB_DISCOVERY_MAX_CHAR_PER_SRV];
+    DiscoveredService           services[BLE_DB_DISCOVERY_MAX_SRV];  /**< Information related to the current service being discovered.
+                                                                      *  This is intended for internal use during service discovery. */
+    nRFDiscoveredCharacteristic characteristics[BLE_DB_DISCOVERY_MAX_CHAR_PER_SRV];
 
-    ServiceUUIDDiscoveryQueue serviceUUIDDiscoveryQueue;
-    CharUUIDDiscoveryQueue    charUUIDDiscoveryQueue;
+    ServiceUUIDDiscoveryQueue   serviceUUIDDiscoveryQueue;
+    CharUUIDDiscoveryQueue      charUUIDDiscoveryQueue;
 
-    TerminationCallback_t     onTerminationCallback;
+    TerminationCallback_t       onTerminationCallback;
 };
 
 #endif /*_BTLE_DISCOVERY_H_*/
\ No newline at end of file