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

#include <Mqtt.h>

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

Public Member Functions

 Mqtt (const std::string &connectionName, const Broker &broker)
const BrokergetBroker () const

Private Types

using Super = iot::mqtt::client::Mqtt

Private Member Functions

void onConnected () final
void onDisconnected () final
bool onSignal (int signum) final
void onConnack (const iot::mqtt::packets::Connack &connack) final
void onPublish (const iot::mqtt::packets::Publish &publish) final

Private Attributes

const Brokerbroker

Detailed Description

Definition at line 58 of file Mqtt.h.

Member Typedef Documentation

◆ Super

using mqtt::bridge::lib::Mqtt::Super = iot::mqtt::client::Mqtt
private

Definition at line 65 of file Mqtt.h.

Constructor & Destructor Documentation

◆ Mqtt()

mqtt::bridge::lib::Mqtt::Mqtt ( const std::string & connectionName,
const Broker & broker )
explicit

Definition at line 59 of file Mqtt.cpp.

60 : iot::mqtt::client::Mqtt(connectionName, //
61 broker.getClientId(),
62 broker.getKeepAlive(),
63 broker.getSessionStoreFileName())
64 , broker(broker) {
65 VLOG(1) << "Client Id: " << clientId;
66 VLOG(1) << " Keep Alive: " << keepAlive;
67 VLOG(1) << " Prefix: " << broker.getPrefix();
68 VLOG(1) << " Clean Session: " << broker.getCleanSession();
69 VLOG(1) << " Will Topic: " << broker.getWillTopic();
70 VLOG(1) << " Will Message: " << broker.getWillMessage();
71 VLOG(1) << " Will QoS: " << static_cast<uint16_t>(broker.getWillQoS());
72 VLOG(1) << " Will Retain " << broker.getWillRetain();
73 VLOG(1) << " Username: " << broker.getUsername();
74 VLOG(1) << " Password: " << broker.getPassword();
75 VLOG(1) << " Loop Prevention: " << broker.getLoopPrevention();
76 }
const Broker & broker
Definition Mqtt.h:74

References broker, mqtt::bridge::lib::Broker::getCleanSession(), mqtt::bridge::lib::Broker::getClientId(), mqtt::bridge::lib::Broker::getKeepAlive(), mqtt::bridge::lib::Broker::getLoopPrevention(), mqtt::bridge::lib::Broker::getPassword(), mqtt::bridge::lib::Broker::getPrefix(), mqtt::bridge::lib::Broker::getSessionStoreFileName(), mqtt::bridge::lib::Broker::getUsername(), mqtt::bridge::lib::Broker::getWillMessage(), mqtt::bridge::lib::Broker::getWillQoS(), mqtt::bridge::lib::Broker::getWillRetain(), and mqtt::bridge::lib::Broker::getWillTopic().

Referenced by mqtt::bridge::SocketContextFactory::create(), and mqtt::mqttbridge::websocket::SubProtocolFactory::create().

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

Member Function Documentation

◆ getBroker()

const Broker & mqtt::bridge::lib::Mqtt::getBroker ( ) const

Definition at line 78 of file Mqtt.cpp.

78 {
79 return broker;
80 }

References broker.

Referenced by mqtt::bridge::lib::Bridge::publish().

Here is the caller graph for this function:

◆ onConnack()

void mqtt::bridge::lib::Mqtt::onConnack ( const iot::mqtt::packets::Connack & connack)
finalprivate

Definition at line 109 of file Mqtt.cpp.

109 {
110 if (connack.getReturnCode() == 0) {
111 broker.getBridge().addMqtt(this);
112
113 sendSubscribe(broker.getTopics());
114 }
115 }

References mqtt::bridge::lib::Bridge::addMqtt(), broker, mqtt::bridge::lib::Broker::getBridge(), and mqtt::bridge::lib::Broker::getTopics().

Here is the call graph for this function:

◆ onConnected()

void mqtt::bridge::lib::Mqtt::onConnected ( )
finalprivate

Definition at line 82 of file Mqtt.cpp.

82 {
83 VLOG(1) << "MQTT: Initiating Session";
84
85 sendConnect(broker.getCleanSession(),
86 broker.getWillTopic(),
87 broker.getWillMessage(),
88 broker.getWillQoS(),
89 broker.getWillRetain(),
90 broker.getUsername(),
91 broker.getPassword(),
92 broker.getLoopPrevention());
93 }

References broker, mqtt::bridge::lib::Broker::getCleanSession(), mqtt::bridge::lib::Broker::getLoopPrevention(), mqtt::bridge::lib::Broker::getPassword(), mqtt::bridge::lib::Broker::getUsername(), mqtt::bridge::lib::Broker::getWillMessage(), mqtt::bridge::lib::Broker::getWillQoS(), mqtt::bridge::lib::Broker::getWillRetain(), and mqtt::bridge::lib::Broker::getWillTopic().

Here is the call graph for this function:

◆ onDisconnected()

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

Definition at line 95 of file Mqtt.cpp.

95 {
96 broker.getBridge().removeMqtt(this);
97 VLOG(1) << "MQTT: Disconnected";
98 }

References broker, mqtt::bridge::lib::Broker::getBridge(), and mqtt::bridge::lib::Bridge::removeMqtt().

Here is the call graph for this function:

◆ onPublish()

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

Definition at line 117 of file Mqtt.cpp.

117 {
118 broker.getBridge().publish(this, publish);
119 }

References broker, mqtt::bridge::lib::Broker::getBridge(), and mqtt::bridge::lib::Bridge::publish().

Here is the call graph for this function:

◆ onSignal()

bool mqtt::bridge::lib::Mqtt::onSignal ( int signum)
nodiscardfinalprivate

Definition at line 100 of file Mqtt.cpp.

100 {
101 VLOG(1) << "MQTT: On Exit due to '" << strsignal(signum) << "' (SIG" << utils::system::sigabbrev_np(signum) << " = " << signum
102 << ")";
103
104 sendDisconnect();
105
106 return Super::onSignal(signum);
107 }

Member Data Documentation

◆ broker

const Broker& mqtt::bridge::lib::Mqtt::broker
private

Definition at line 74 of file Mqtt.h.

Referenced by getBroker(), Mqtt(), onConnack(), onConnected(), onDisconnected(), and onPublish().


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