33 lines
637 B
C++
33 lines
637 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <mqtt/async_client.h>
|
|
|
|
class MqttClient
|
|
{
|
|
public:
|
|
MqttClient(const std::string &configPath);
|
|
~MqttClient();
|
|
|
|
bool start(); // 连接并订阅
|
|
void disconnect(); // 断开连接
|
|
|
|
private:
|
|
std::string broker;
|
|
std::string clientId;
|
|
std::string username;
|
|
std::string password;
|
|
std::string topic;
|
|
int qos;
|
|
|
|
class Callback : public virtual mqtt::callback
|
|
{
|
|
public:
|
|
void message_arrived(mqtt::const_message_ptr msg) override;
|
|
};
|
|
|
|
mqtt::async_client *client = nullptr;
|
|
mqtt::connect_options connOpts;
|
|
Callback callback;
|
|
};
|