SPSP
Simple publish-subscribe protocol. Connects low power IoT clients to MQTT.
All Classes Files Functions Variables Typedefs Enumerations
espnow_adapter_if.hpp
1 
10 #pragma once
11 
12 #include <functional>
13 #include <string>
14 
15 #include "spsp/espnow_types.hpp"
16 #include "spsp/exception.hpp"
17 
18 namespace SPSP::LocalLayers::ESPNOW
19 {
25  {
27  };
28 
29  // Callback types
30  using AdapterRecvCb = std::function<void(const LocalAddrT src, std::string data, int rssi)>;
31  using AdapterSendCb = std::function<void(const LocalAddrT dst, bool delivered)>;
32 
38  class IAdapter
39  {
40  public:
48  virtual void setRecvCb(AdapterRecvCb cb) = 0;
49 
55  virtual void setSendCb(AdapterSendCb cb) = 0;
56 
63  virtual void send(const LocalAddrT& dst, const std::string& data) = 0;
64 
70  virtual void addPeer(const LocalAddrT& peer) = 0;
71 
77  virtual void removePeer(const LocalAddrT& peer) = 0;
78  };
79 } // namespace SPSP::LocalLayers::ESPNOW
SPSP::LocalLayers::ESPNOW::IAdapter::setRecvCb
virtual void setRecvCb(AdapterRecvCb cb)=0
Sets receive callback.
SPSP::LocalLayers::ESPNOW::IAdapter::addPeer
virtual void addPeer(const LocalAddrT &peer)=0
Adds peer to peer list.
SPSP::LocalLayers::ESPNOW::IAdapter::setSendCb
virtual void setSendCb(AdapterSendCb cb)=0
Sets send callback.
SPSP::Exception::Exception
Exception(const std::string &msg)
Constructs a new exception.
Definition: exception.hpp:31
SPSP::LocalLayers::ESPNOW::IAdapter::send
virtual void send(const LocalAddrT &dst, const std::string &data)=0
Sends local message.
SPSP::LocalLayers::ESPNOW::AdapterError
Adapter error.
Definition: espnow_adapter_if.hpp:24
exception.hpp
Base of all SPSP exceptions.
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::IAdapter::removePeer
virtual void removePeer(const LocalAddrT &peer)=0
Removes peer from peer list.
SPSP::Exception
Base SPSP exception.
Definition: exception.hpp:21