MQTTSuite
Loading...
Searching...
No Matches
mqtt::mqttbroker::lib::Mqtt Class Reference

#include <Mqtt.h>

Inheritance diagram for mqtt::mqttbroker::lib::Mqtt:
Collaboration diagram for mqtt::mqttbroker::lib::Mqtt:

Public Member Functions

 Mqtt (const std::string &connectionName, const std::shared_ptr< iot::mqtt::server::broker::Broker > &broker, const nlohmann::json &mappingJson)
void subscribe (const std::string &topic, uint8_t qoS)
void unsubscribe (const std::string &topic)
Public Member Functions inherited from mqtt::lib::MqttMapper
 MqttMapper (const nlohmann::json &mappingJson)
 MqttMapper (const MqttMapper &)=delete
MqttMapperoperator= (const MqttMapper &)=delete
virtual ~MqttMapper ()

Private Member Functions

void onConnect (const iot::mqtt::packets::Connect &connect) final
void onPublish (const iot::mqtt::packets::Publish &publish) final
void onSubscribe (const iot::mqtt::packets::Subscribe &subscribe) final
void onUnsubscribe (const iot::mqtt::packets::Unsubscribe &unsubscribe) final
void onDisconnected () final
void publishMapping (const std::string &topic, const std::string &message, uint8_t qoS, bool retain) final

Additional Inherited Members

Protected Member Functions inherited from mqtt::lib::MqttMapper
std::string dump ()
std::list< iot::mqtt::Topic > extractSubscriptions ()
void publishMappings (const iot::mqtt::packets::Publish &publish)

Detailed Description

Definition at line 63 of file Mqtt.h.

Constructor & Destructor Documentation

◆ Mqtt()

mqtt::mqttbroker::lib::Mqtt::Mqtt ( const std::string & connectionName,
const std::shared_ptr< iot::mqtt::server::broker::Broker > & broker,
const nlohmann::json & mappingJson )
explicit

Definition at line 60 of file Mqtt.cpp.

63 : iot::mqtt::server::Mqtt(connectionName, broker)
64 , mqtt::lib::MqttMapper(mappingJson) {
65 }
const nlohmann::json & mappingJson
Definition MqttMapper.h:99

References mqtt::lib::MqttMapper::MqttMapper().

Here is the call graph for this function:

Member Function Documentation

◆ onConnect()

void mqtt::mqttbroker::lib::Mqtt::onConnect ( const iot::mqtt::packets::Connect & connect)
finalprivate

Definition at line 79 of file Mqtt.cpp.

79 {
80 VLOG(1) << "MQTT: Connected";
81
83 }
static MqttModel & instance()

References mqtt::mqttbroker::lib::MqttModel::connectClient(), and mqtt::mqttbroker::lib::MqttModel::instance().

Here is the call graph for this function:

◆ onDisconnected()

void mqtt::mqttbroker::lib::Mqtt::onDisconnected ( )
finalprivate

Definition at line 109 of file Mqtt.cpp.

109 {
111
112 VLOG(1) << "MQTT: Disconnected";
113 }
void disconnectClient(const std::string &clientId)

References mqtt::mqttbroker::lib::MqttModel::disconnectClient(), and mqtt::mqttbroker::lib::MqttModel::instance().

Here is the call graph for this function:

◆ onPublish()

void mqtt::mqttbroker::lib::Mqtt::onPublish ( const iot::mqtt::packets::Publish & publish)
finalprivate

Definition at line 85 of file Mqtt.cpp.

85 {
86 VLOG(1) << "MQTT: Publish";
87
88 MqttModel::instance().publishMessage(publish.getTopic(), publish.getMessage(), publish.getQoS(), publish.getRetain());
89
90 publishMappings(publish);
91 }
void publishMappings(const iot::mqtt::packets::Publish &publish)
void publishMessage(const std::string &topic, const std::string &message, uint8_t qoS, bool retain)

References mqtt::mqttbroker::lib::MqttModel::instance(), mqtt::lib::MqttMapper::publishMappings(), and mqtt::mqttbroker::lib::MqttModel::publishMessage().

Here is the call graph for this function:

◆ onSubscribe()

void mqtt::mqttbroker::lib::Mqtt::onSubscribe ( const iot::mqtt::packets::Subscribe & subscribe)
finalprivate

Definition at line 93 of file Mqtt.cpp.

93 {
94 VLOG(1) << "MQTT: Subscribe";
95
96 for (const iot::mqtt::Topic& topic : subscribe.getTopics()) {
97 MqttModel::instance().subscribeClient(clientId, topic.getName(), topic.getQoS());
98 }
99 }
void subscribeClient(const std::string &clientId, const std::string &topic, const uint8_t qos)
void subscribe(const std::string &topic, uint8_t qoS)
Definition Mqtt.cpp:67

References mqtt::mqttbroker::lib::MqttModel::instance(), and mqtt::mqttbroker::lib::MqttModel::subscribeClient().

Referenced by subscribe().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ onUnsubscribe()

void mqtt::mqttbroker::lib::Mqtt::onUnsubscribe ( const iot::mqtt::packets::Unsubscribe & unsubscribe)
finalprivate

Definition at line 101 of file Mqtt.cpp.

101 {
102 VLOG(1) << "MQTT: Unsubscribe";
103
104 for (const std::string& topic : unsubscribe.getTopics()) {
105 MqttModel::instance().unsubscribeClient(clientId, topic);
106 }
107 }
void unsubscribeClient(const std::string &clientId, const std::string &topic)
void unsubscribe(const std::string &topic)
Definition Mqtt.cpp:73

References mqtt::mqttbroker::lib::MqttModel::instance(), and mqtt::mqttbroker::lib::MqttModel::unsubscribeClient().

Referenced by unsubscribe().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ publishMapping()

void mqtt::mqttbroker::lib::Mqtt::publishMapping ( const std::string & topic,
const std::string & message,
uint8_t qoS,
bool retain )
finalprivatevirtual

Implements mqtt::lib::MqttMapper.

Definition at line 115 of file Mqtt.cpp.

115 {
116 broker->publish(clientId, topic, message, qoS, retain);
117
118 publishMappings(iot::mqtt::packets::Publish(getPacketIdentifier(), topic, message, qoS, false, retain));
119 }

References mqtt::lib::MqttMapper::publishMappings().

Here is the call graph for this function:

◆ subscribe()

void mqtt::mqttbroker::lib::Mqtt::subscribe ( const std::string & topic,
uint8_t qoS )

Definition at line 67 of file Mqtt.cpp.

67 {
68 broker->subscribe(clientId, topic, qoS);
69
70 onSubscribe(iot::mqtt::packets::Subscribe(0, {{topic, qoS}}));
71 }
void onSubscribe(const iot::mqtt::packets::Subscribe &subscribe) final
Definition Mqtt.cpp:93

References onSubscribe().

Here is the call graph for this function:

◆ unsubscribe()

void mqtt::mqttbroker::lib::Mqtt::unsubscribe ( const std::string & topic)

Definition at line 73 of file Mqtt.cpp.

73 {
74 broker->unsubscribe(clientId, topic);
75
76 onUnsubscribe(iot::mqtt::packets::Unsubscribe(0, {{topic, 0}}));
77 }
void onUnsubscribe(const iot::mqtt::packets::Unsubscribe &unsubscribe) final
Definition Mqtt.cpp:101

References onUnsubscribe().

Here is the call graph for this function:

The documentation for this class was generated from the following files: