SPSP
Simple publish-subscribe protocol. Connects low power IoT clients to MQTT.
All Classes Files Functions Variables Typedefs Enumerations
espidf/spsp/espnow_adapter.hpp
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include <functional>
13 #include <string>
14 
15 #include "spsp/espnow_adapter_if.hpp"
16 #include "spsp/espnow_types.hpp"
17 
18 namespace SPSP::LocalLayers::ESPNOW
19 {
30  class Adapter : public IAdapter
31  {
32  AdapterRecvCb m_recvCb = nullptr;
33  AdapterSendCb m_sendCb = nullptr;
34 
35  public:
41  Adapter();
42 
47  ~Adapter();
48 
56  void setRecvCb(AdapterRecvCb cb) noexcept;
57 
63  AdapterRecvCb getRecvCb() const noexcept;
64 
70  void setSendCb(AdapterSendCb cb) noexcept;
71 
77  AdapterSendCb getSendCb() const noexcept;
78 
87  void send(const LocalAddrT& dst, const std::string& data);
88 
95  void addPeer(const LocalAddrT& peer);
96 
103  void removePeer(const LocalAddrT& peer);
104  };
105 } // namespace SPSP::LocalLayers::ESPNOW
SPSP::LocalLayers::ESPNOW::Adapter::addPeer
void addPeer(const LocalAddrT &peer)
Adds peer to peer list.
SPSP::LocalLayers::ESPNOW::Adapter::setRecvCb
void setRecvCb(AdapterRecvCb cb) noexcept
Sets receive callback.
SPSP::LocalLayers::ESPNOW::Adapter::getSendCb
AdapterSendCb getSendCb() const noexcept
Gets send callback.
SPSP::LocalLayers::ESPNOW::Adapter::send
void send(const LocalAddrT &dst, const std::string &data)
Sends local message.
SPSP::LocalLayers::ESPNOW::Adapter::~Adapter
~Adapter()
Destroys the adapter.
SPSP::LocalLayers::ESPNOW::Adapter
ESP-NOW adapter for ESP platform.
Definition: espidf/spsp/espnow_adapter.hpp:30
SPSP::LocalLayers::ESPNOW::Adapter::setSendCb
void setSendCb(AdapterSendCb cb) noexcept
Sets send callback.
SPSP::LocalLayers::ESPNOW::Adapter::getRecvCb
AdapterRecvCb getRecvCb() const noexcept
Gets receive callback.
SPSP::LocalLayers::ESPNOW::Adapter::removePeer
void removePeer(const LocalAddrT &peer)
Removes peer from peer list.
SPSP::LocalLayers::ESPNOW::IAdapter
Interface for platform-dependent ESP-NOW adapter.
Definition: espnow_adapter_if.hpp:38
espnow_types.hpp
Types for ESPNOW classes.
SPSP::LocalAddrMAC
Local layer address container for MAC address.
Definition: local_addr_mac.hpp:24
SPSP::LocalLayers::ESPNOW::Adapter::Adapter
Adapter()
Constructs a new ESP-NOW adapter.