2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
44#include "mqttbroker/lib/MqttModel.h"
46#include <iot/mqtt/packets/Publish.h>
47#include <iot/mqtt/packets/Subscribe.h>
48#include <iot/mqtt/packets/Unsubscribe.h>
49#include <iot/mqtt/server/broker/Broker.h>
51#ifndef DOXYGEN_SHOULD_SKIP_THIS
54#include <log/Logger.h>
58namespace mqtt::mqttbroker::
lib {
60 Mqtt::Mqtt(
const std::string& connectionName,
61 const std::shared_ptr<iot::
mqtt::server::
broker::Broker>& broker,
63 : iot::
mqtt::server::Mqtt(connectionName, broker)
68 broker->subscribe(clientId, topic, qoS);
74 broker->unsubscribe(clientId, topic);
80 VLOG(1) <<
"MQTT: Connected";
86 VLOG(1) <<
"MQTT: Publish";
94 VLOG(1) <<
"MQTT: Subscribe";
96 for (
const iot::
mqtt::Topic& topic : subscribe.getTopics()) {
102 VLOG(1) <<
"MQTT: Unsubscribe";
104 for (
const std::string& topic : unsubscribe.getTopics()) {
112 VLOG(1) <<
"MQTT: Disconnected";
115 void Mqtt::
publishMapping(
const std::string& topic,
const std::string& message, uint8_t qoS,
bool retain) {
116 broker->publish(clientId, topic, message, qoS, retain);
void publishMappings(const iot::mqtt::packets::Publish &publish)
MqttMapper(const nlohmann::json &mappingJson)
void connectClient(Mqtt *mqtt)
void publishMessage(const std::string &topic, const std::string &message, uint8_t qoS, bool retain)
static MqttModel & instance()
void unsubscribeClient(const std::string &clientId, const std::string &topic)
void subscribeClient(const std::string &clientId, const std::string &topic, const uint8_t qos)
void disconnectClient(const std::string &clientId)
void unsubscribe(const std::string &topic)
void publishMapping(const std::string &topic, const std::string &message, uint8_t qoS, bool retain) final
void onPublish(const iot::mqtt::packets::Publish &publish) final
void onConnect(const iot::mqtt::packets::Connect &connect) final
void subscribe(const std::string &topic, uint8_t qoS)
void onDisconnected() final
void onSubscribe(const iot::mqtt::packets::Subscribe &subscribe) final
void onUnsubscribe(const iot::mqtt::packets::Unsubscribe &unsubscribe) final