61 lines
1.9 KiB
C++
61 lines
1.9 KiB
C++
/*
|
|
* BLEValue.h
|
|
*
|
|
* Created on: Jul 17, 2017
|
|
* Author: kolban
|
|
*
|
|
* Modified on: Feb 18, 2025
|
|
* Author: lucasssvaz (based on kolban's and h2zero's work)
|
|
* Description: Added support for NimBLE
|
|
*/
|
|
|
|
#ifndef COMPONENTS_CPP_UTILS_BLEVALUE_H_
|
|
#define COMPONENTS_CPP_UTILS_BLEVALUE_H_
|
|
|
|
#include "soc/soc_caps.h"
|
|
#include "sdkconfig.h"
|
|
#if defined(SOC_BLE_SUPPORTED) || defined(CONFIG_ESP_HOSTED_ENABLE_BT_NIMBLE)
|
|
#if defined(CONFIG_BLUEDROID_ENABLED) || defined(CONFIG_NIMBLE_ENABLED)
|
|
|
|
/*****************************************************************************
|
|
* Common includes *
|
|
*****************************************************************************/
|
|
|
|
#include "WString.h"
|
|
|
|
/**
|
|
* @brief The model of a %BLE value.
|
|
*/
|
|
class BLEValue {
|
|
public:
|
|
/***************************************************************************
|
|
* Common public declarations *
|
|
***************************************************************************/
|
|
|
|
BLEValue();
|
|
void addPart(const String &part);
|
|
void addPart(const uint8_t *pData, size_t length);
|
|
void cancel();
|
|
void commit();
|
|
uint8_t *getData();
|
|
size_t getLength() const;
|
|
uint16_t getReadOffset() const;
|
|
String getValue() const;
|
|
void setReadOffset(uint16_t readOffset);
|
|
void setValue(const String &value);
|
|
void setValue(const uint8_t *pData, size_t length);
|
|
|
|
private:
|
|
/***************************************************************************
|
|
* Common private properties *
|
|
***************************************************************************/
|
|
|
|
String m_accumulation;
|
|
uint16_t m_readOffset;
|
|
String m_value;
|
|
};
|
|
|
|
#endif /* CONFIG_BLUEDROID_ENABLED || CONFIG_NIMBLE_ENABLED */
|
|
#endif /* SOC_BLE_SUPPORTED || CONFIG_ESP_HOSTED_ENABLE_BT_NIMBLE */
|
|
|
|
#endif /* COMPONENTS_CPP_UTILS_BLEVALUE_H_ */
|