herald  2.0.0
signal_characteristic_data.h
1 // // Copyright 2020-2021 Herald Project Contributors
2 // // SPDX-License-Identifier: Apache-2.0
3 // //
4 
5 // #ifndef HERALD_SIGNAL_CHARACTERISTIC_DATA_H
6 // #define HERALD_SIGNAL_CHARACTERISTIC_DATA_H
7 
8 // #include "data.h"
9 // #include "rssi.h"
10 // #include "payload_data.h"
11 // #include "payload_sharing_data.h"
12 // #include "immediate_send_data.h"
13 // #include "../ble/ble_sensor_configuration.h"
14 
15 // #include <optional>
16 
17 // namespace herald {
18 // namespace datatype {
19 
20 // enum class SignalCharacteristicDataType : short {
21 // rssi, payload, payloadSharing, immediateSend, unknown
22 // };
23 
24 // namespace SignalCharacteristicData {
25 // using namespace herald::ble;
26 
27 // [[maybe_unused]]
28 // std::optional<Data> encodeWriteRssi(const BLESensorConfiguration& config,const RSSI& rssi) noexcept;
29 
30 // [[maybe_unused]]
31 // std::optional<RSSI> decodeWriteRSSI(const BLESensorConfiguration& config,const Data& data) noexcept;
32 
33 // [[maybe_unused]]
34 // std::optional<Data> encodeWritePayload(const BLESensorConfiguration& config,const PayloadData& payloadData) noexcept;
35 
36 // [[maybe_unused]]
37 // std::optional<PayloadData> decodeWritePayload(const BLESensorConfiguration& config,const Data& data) noexcept;
38 
39 // [[maybe_unused]]
40 // std::optional<Data> encodeWritePayloadSharing(const BLESensorConfiguration& config,const PayloadSharingData& payloadSharingData) noexcept;
41 
42 // [[maybe_unused]]
43 // std::optional<PayloadSharingData> decodeWritePayloadSharing(const BLESensorConfiguration& config,const Data& data) noexcept;
44 
45 // [[maybe_unused]]
46 // std::optional<Data> encodeImmediateSend(const BLESensorConfiguration& config,const ImmediateSendData& immediateSendData) noexcept;
47 
48 // [[maybe_unused]]
49 // std::optional<ImmediateSendData> decodeImmediateSend(const BLESensorConfiguration& config,const Data& data) noexcept;
50 
51 // [[maybe_unused]]
52 // SignalCharacteristicDataType detect(const BLESensorConfiguration& config,const Data& data) noexcept;
53 
54 // // THE FOLLOWING METHODS ARE MOVED TO THE CPP AND THUS HIDDEN FROM THE ABI
55 // //byte signalDataActionCode(const byte[] signalData);
56 
57 // //bool int16(const byte[] data, const std::size_t index, int16& to); /// true if successful, sets to parameters
58 
59 // } // end namespace
60 
61 // } // end namespace
62 // } // end namespace
63 
64 // #endif