High level Bluetooth Low Energy API and radio abstraction layer

Dependencies:   nRF51822

Dependents:   LinkNode_LIS3DH

Fork of BLE_API by Bluetooth Low Energy

Revision:
106:a20be740075d
Child:
116:ca826083980e
diff -r f29ab9f74d7e -r a20be740075d public/GattServerEvents.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/public/GattServerEvents.h	Wed Jul 23 15:09:23 2014 +0100
@@ -0,0 +1,96 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __GATT_SERVER_EVENTS_H__
+#define __GATT_SERVER_EVENTS_H__
+
+#include "blecommon.h"
+#include "mbed.h"
+
+/**************************************************************************/
+/*!
+    \brief
+    The base class used to abstract away the callback events that can be
+    triggered with the GATT Server.
+*/
+/**************************************************************************/
+class GattServerEvents
+{
+public:
+    /******************************************************************/
+    /*!
+        \brief
+        Identifies GATT events generated by the radio HW when an event
+        callback occurs
+    */
+    /******************************************************************/
+    typedef enum gattEvent_e {
+        GATT_EVENT_DATA_SENT             = 1,       /**< Fired when a msg was successfully sent out (notify only?) */
+        GATT_EVENT_DATA_WRITTEN          = 2,       /**< Client wrote data to Server (separate into char and descriptor writes?) */
+        GATT_EVENT_UPDATES_ENABLED       = 3,       /**< Notify/Indicate Enabled in CCCD */
+        GATT_EVENT_UPDATES_DISABLED      = 4,       /**< Notify/Indicate Disabled in CCCD */
+        GATT_EVENT_CONFIRMATION_RECEIVED = 5        /**< Response received from Indicate message */
+    } gattEvent_t;
+
+    /******************************************************************/
+    /*!
+        \brief
+        A message was successfully transmitted
+    */
+    /******************************************************************/
+    virtual void onDataSent(uint16_t charHandle) {
+    }
+
+    /******************************************************************/
+    /*!
+        \brief
+        The GATT client (the phone, tablet, etc.) wrote data to a
+        characteristic or descriptor on the GATT Server (the peripheral
+        device).
+    */
+    /******************************************************************/
+    virtual void onDataWritten(uint16_t charHandle) {
+    }
+
+    /******************************************************************/
+    /*!
+        \brief
+        A Notify or Indicate flag was enabled in the CCCD
+    */
+    /******************************************************************/
+    virtual void onUpdatesEnabled(uint16_t charHandle) {
+    }
+
+    /******************************************************************/
+    /*!
+        \brief
+        A Notify or Indicate flag was disabled in the CCCD
+    */
+    /******************************************************************/
+    virtual void onUpdatesDisabled(uint16_t charHandle) {
+    }
+
+    /******************************************************************/
+    /*!
+        \brief
+        A confirmation response was received from an Indicate message
+    */
+    /******************************************************************/
+    virtual void onConfirmationReceived(uint16_t charHandle) {
+    }
+};
+
+#endif // ifndef __GATT_SERVER_EVENTS_H__