mirror of https://github.com/ARMmbed/mbed-os.git
92 lines
3.6 KiB
C++
92 lines
3.6 KiB
C++
/* 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
|