High level Bluetooth Low Energy API and radio abstraction layer
Fork of BLE_API by
Diff: public/GattServerEvents.h
- 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__