class NRPMQTTProxy

Overview

#include <nrp_mqtt_proxy.h>

class NRPMQTTProxy {
public:
    // construction

    NRPMQTTProxy();
    NRPMQTTProxy(const NRPMQTTProxy&);
    NRPMQTTProxy(NRPMQTTProxy&&);

    // methods

    NRPMQTTProxy& operator = (const NRPMQTTProxy&);
    NRPMQTTProxy& operator = (NRPMQTTProxy&&);

    void subscribe(
        const std::string& address,
        const std::function<void(const std::string&)>& callback
    );

    void publish(
        const std::string& address,
        const std::string& msg,
        bool retained = false
    );

    void disconnect();
    void clearRetained();
    static NRPMQTTProxy& getInstance();
    static NRPMQTTProxy& resetInstance(const nlohmann::json& clientParams);
};

Detailed Documentation

Methods

void subscribe(
    const std::string& address,
    const std::function<void(const std::string&)>& callback
)

Subscribe to MQTT topic ‘address’ with callback function ‘callback’.

void publish(
    const std::string& address,
    const std::string& msg,
    bool retained = false
)

Publishes ‘msg’ to MQTT topic ‘address’.

void disconnect()

Disconnects client from MQTT Broker.

void clearRetained()

Clear all topics with retain messages by sending an empty msg.

static NRPMQTTProxy& getInstance()

Get singleton instance of NRPMQTTProxy.

static NRPMQTTProxy& resetInstance(const nlohmann::json& clientParams)

Reset singleton instance.