Bill Schilit / BLE_API

Fork of BLE_API by Bluetooth Low Energy

GattCharacteristic.h

Committer:
ktownsend
Date:
2013-12-10
Revision:
2:ffc5216bd2cc
Child:
4:50a31ff5f974

File content as of revision 2:ffc5216bd2cc:

#ifndef __GATT_CHARACTERISTIC_H__
#define __GATT_CHARACTERISTIC_H__

#include "blecommon.h"
#include "uuid.h"

class GattCharacteristic
{
private:

public:
    GattCharacteristic(uint16_t uuid, uint16_t minLen, uint16_t maxLen, uint8_t properties);
    virtual ~GattCharacteristic(void);

    uint16_t uuid;              /* Characteristic UUID */
    uint16_t lenMin;            /* Minimum length of the value */
    uint16_t lenMax;            /* Maximum length of the value */
    uint8_t  index;
    
    struct Properties
    {
        /* Standard properties */
        uint8_t broadcast       :1;         /**< Broadcasting of value permitted. */
        uint8_t read            :1;         /**< Reading value permitted. */
        uint8_t write_wo_resp   :1;         /**< Writing value with Write Command permitted. */
        uint8_t write           :1;         /**< Writing value with Write Request permitted. */
        uint8_t notify          :1;         /**< Notications of value permitted. */ // https://developer.bluetooth.org/gatt/descriptors/Pages/DescriptorViewer.aspx?u=org.bluetooth.descriptor.gatt.client_characteristic_configuration.xml
        uint8_t indicate        :1;         /**< Indications of value permitted. */ // https://developer.bluetooth.org/gatt/descriptors/Pages/DescriptorViewer.aspx?u=org.bluetooth.descriptor.gatt.client_characteristic_configuration.xml
        uint8_t auth_signed_wr  :1;         /**< Writing value with Signed Write Command permitted. */
    } properties;
};

#endif