BLE-Gamepad-Client 0.3.2
Loading...
Searching...
No Matches
BLEIncomingSignalAdapter.h
1#pragma once
2
3#include <NimBLEUUID.h>
4#include <functional>
5#include <string>
6#include "utils.h"
7
8template <typename T>
9using BLESignalDecoder = std::function<size_t(T&, uint8_t payload[], size_t payloadLen)>;
10
11template <typename T>
13 NimBLEUUID serviceUUID{};
14 NimBLEUUID characteristicUUID{};
15 BLESignalDecoder<T> decoder{};
16
17 bool isEnabled() const { return !blegc::isNull(serviceUUID); }
18 bool isDisabled() const { return !isEnabled(); }
19 explicit operator std::string() const;
20};
21
22template <typename T>
23BLEIncomingSignalAdapter<T>::operator std::string() const {
24 return "service uuid: " + std::string(serviceUUID) + ", characteristic uuid: " + std::string(characteristicUUID);
25}
Definition BLEIncomingSignalAdapter.h:12