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
8template <typename T>
9using BLESignalEncoder = std::function<size_t(const T& value, uint8_t buffer[], size_t bufferLen)>;
10
11template <typename T>
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
26template <typename T>
27BLEOutgoingSignalAdapter<T>::operator std::string() const {
28 return "service uuid: " + std::string(serviceUUID) + ", characteristic uuid: " + std::string(characteristicUUID);
29}
Definition BLEOutgoingSignalAdapter.h:12
size_t bufferLen
Definition BLEOutgoingSignalAdapter.h:19