SPSP
Simple publish-subscribe protocol. Connects low power IoT clients to MQTT.
All Classes Files Functions Variables Typedefs Enumerations
mqtt_adapter_if.hpp
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include <functional>
13 
14 #include "spsp/mqtt_types.hpp"
15 
16 namespace SPSP::FarLayers::MQTT
17 {
23  {
25  };
26 
27  // Callback types
28  using AdapterConnectedCb = std::function<void()>;
29  using AdapterSubDataCb = std::function<void(const std::string& topic,
30  const std::string& payload)>;
31 
37  class IAdapter
38  {
39  public:
50  virtual bool publish(const std::string& topic, const std::string& payload) = 0;
51 
61  virtual bool subscribe(const std::string& topic) = 0;
62 
72  virtual bool unsubscribe(const std::string& topic) = 0;
73 
79  virtual void setSubDataCb(AdapterSubDataCb cb) = 0;
80 
88  virtual void setConnectedCb(AdapterConnectedCb cb) = 0;
89  };
90 } // namespace SPSP::FarLayers::MQTT
SPSP::FarLayers::MQTT::IAdapter::publish
virtual bool publish(const std::string &topic, const std::string &payload)=0
Publishes message coming from node.
SPSP::FarLayers::MQTT::IAdapter::unsubscribe
virtual bool unsubscribe(const std::string &topic)=0
Unsubscribes from given topic.
SPSP::FarLayers::MQTT::IAdapter
Interface for platform-dependent MQTT adapter.
Definition: mqtt_adapter_if.hpp:37
SPSP::FarLayers::MQTT::IAdapter::setConnectedCb
virtual void setConnectedCb(AdapterConnectedCb cb)=0
Sets connected callback.
SPSP::FarLayers::MQTT::IAdapter::subscribe
virtual bool subscribe(const std::string &topic)=0
Subscribes to given topic.
mqtt_types.hpp
MQTT types.
SPSP::FarLayers::MQTT::AdapterError
Adapter error.
Definition: mqtt_adapter_if.hpp:22
SPSP::Exception::Exception
Exception(const std::string &msg)
Constructs a new exception.
Definition: exception.hpp:31
SPSP::FarLayers::MQTT::IAdapter::setSubDataCb
virtual void setSubDataCb(AdapterSubDataCb cb)=0
Sets callback for incoming subscription data.
SPSP::Exception
Base SPSP exception.
Definition: exception.hpp:21