BLE-Gamepad-Client
0.3.2
Loading...
Searching...
No Matches
BLEOutgoingSignalAdapter.h
1
#pragma once
2
3
#include <NimBLEUUID.h>
4
#include <functional>
5
#include <string>
6
#include "utils.h"
7
8
template
<
typename
T>
9
using
BLESignalEncoder = std::function<size_t(
const
T& value, uint8_t buffer[],
size_t
bufferLen)>;
10
11
template
<
typename
T>
12
struct
BLEOutgoingSignalAdapter
{
13
NimBLEUUID serviceUUID{};
14
NimBLEUUID characteristicUUID{};
15
BLESignalEncoder<T> encoder{};
16
19
size_t
bufferLen
{};
20
21
bool
isEnabled()
const
{
return
!blegc::isNull(serviceUUID); }
22
bool
isDisabled()
const
{
return
!isEnabled(); }
23
explicit
operator
std::string()
const
;
24
};
25
26
template
<
typename
T>
27
BLEOutgoingSignalAdapter<T>::operator
std::string()
const
{
28
return
"service uuid: "
+ std::string(serviceUUID) +
", characteristic uuid: "
+ std::string(characteristicUUID);
29
}
BLEOutgoingSignalAdapter
Definition
BLEOutgoingSignalAdapter.h:12
BLEOutgoingSignalAdapter< BLEVibrationsCommand >::bufferLen
size_t bufferLen
Definition
BLEOutgoingSignalAdapter.h:19
src
BLEOutgoingSignalAdapter.h
Generated by
1.14.0