BLE temperature profile using digital DS1820 or analog LM35 sensors

Dependencies:   DS1820

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers GattServerEvents.h Source File

GattServerEvents.h

00001 /* mbed Microcontroller Library
00002  * Copyright (c) 2006-2013 ARM Limited
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */  
00016 
00017 #ifndef __GATT_SERVER_EVENTS_H__
00018 #define __GATT_SERVER_EVENTS_H__
00019 
00020 #include "blecommon.h"
00021 #include "mbed.h"
00022 
00023 /**************************************************************************/
00024 /*!
00025     \brief
00026     The base class used to abstract away the callback events that can be
00027     triggered with the GATT Server.
00028 */
00029 /**************************************************************************/
00030 class GattServerEvents {
00031     public:
00032         /******************************************************************/
00033         /*!
00034             \brief
00035             Identifies GATT events generated by the radio HW when an event
00036             callback occurs
00037         */
00038         /******************************************************************/
00039         typedef enum gattEvent_e
00040         {
00041           GATT_EVENT_DATA_SENT              = 1,    /**< Fired when a msg was successfully sent out (notify only?) */
00042           GATT_EVENT_DATA_WRITTEN           = 2,    /**< Client wrote data to Server (separate into char and descriptor writes?) */
00043           GATT_EVENT_UPDATES_ENABLED        = 3,    /**< Notify/Indicate Enabled in CCCD */
00044           GATT_EVENT_UPDATES_DISABLED       = 4,    /**< Notify/Indicate Disabled in CCCD */
00045           GATT_EVENT_CONFIRMATION_RECEIVED  = 5     /**< Response received from Indicate message */
00046         } gattEvent_t;
00047 
00048         /******************************************************************/
00049         /*!
00050             \brief
00051             A message was successfully transmitted
00052         */
00053         /******************************************************************/
00054         virtual void onDataSent(uint16_t charHandle) {}
00055 
00056         /******************************************************************/
00057         /*!
00058             \brief
00059             The GATT client (the phone, tablet, etc.) wrote data to a
00060             characteristic or descriptor on the GATT Server (the peripheral
00061             device).
00062         */
00063         /******************************************************************/
00064         virtual void onDataWritten(uint16_t charHandle) {}
00065 
00066         /******************************************************************/
00067         /*!
00068             \brief
00069             A Notify or Indicate flag was enabled in the CCCD
00070         */
00071         /******************************************************************/
00072         virtual void onUpdatesEnabled(uint16_t charHandle) {}
00073 
00074         /******************************************************************/
00075         /*!
00076             \brief
00077             A Notify or Indicate flag was disabled in the CCCD
00078         */
00079         /******************************************************************/
00080         virtual void onUpdatesDisabled(uint16_t charHandle) {}
00081 
00082         /******************************************************************/
00083         /*!
00084             \brief
00085             A confirmation response was received from an Indicate message
00086         */
00087         /******************************************************************/
00088         virtual void onConfirmationReceived(uint16_t charHandle) {}
00089 };
00090 
00091 #endif