26 lines
924 B
C++
26 lines
924 B
C++
#pragma once
|
|
#include <string>
|
|
#include <functional>
|
|
#include <map>
|
|
|
|
typedef std::function<void(uint8_t*, int)> MqttCallback;
|
|
|
|
class Mqtt {
|
|
public:
|
|
static void connect(std::string brokerIp, uint16_t brokerPort, std::string clientId, std::string username="mqtt", std::string password="mqtt");
|
|
static void poll();
|
|
static void checkConnection();
|
|
static void publish(const std::string& topic, const std::string& payload, bool retain = false);
|
|
static void subscribe(const std::string& topic, MqttCallback callback);
|
|
static void mqttCb(char* topic, uint8_t* payload, unsigned int length);
|
|
|
|
private:
|
|
static std::string brokerIp;
|
|
static uint16_t brokerPort;
|
|
static std::string clientId;
|
|
static std::string username;
|
|
static std::string password;
|
|
static bool initialized;
|
|
static bool isConnected;
|
|
static std::map<std::string, MqttCallback> callbacks;
|
|
}; |