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

#include <Bridge.h>

Collaboration diagram for mqtt::bridge::lib::Bridge:

Public Member Functions

 Bridge (const std::string &name, const std::string &prefix, bool disabled)
const std::string & getName ()
void addMqtt (mqtt::bridge::lib::Mqtt *mqtt)
void removeMqtt (mqtt::bridge::lib::Mqtt *mqtt)
void publish (const mqtt::bridge::lib::Mqtt *originMqtt, const iot::mqtt::packets::Publish &publish)
const std::list< const mqtt::bridge::lib::Mqtt * > & getMqttList () const
const std::string & getPrefix () const
bool getDisabled () const

Private Attributes

std::string name
std::string prefix
bool disabled
std::list< const mqtt::bridge::lib::Mqtt * > mqttList

Detailed Description

Definition at line 64 of file Bridge.h.

Constructor & Destructor Documentation

◆ Bridge()

mqtt::bridge::lib::Bridge::Bridge ( const std::string & name,
const std::string & prefix,
bool disabled )
explicit

Definition at line 55 of file Bridge.cpp.

56 : name(name)
57 , prefix(prefix)
59 }

References disabled, name, and prefix.

Member Function Documentation

◆ addMqtt()

void mqtt::bridge::lib::Bridge::addMqtt ( mqtt::bridge::lib::Mqtt * mqtt)

Definition at line 65 of file Bridge.cpp.

65 {
66 mqttList.push_back(mqtt);
67 }
std::list< const mqtt::bridge::lib::Mqtt * > mqttList
Definition Bridge.h:86

References mqttList.

Referenced by mqtt::bridge::lib::Mqtt::onConnack().

Here is the caller graph for this function:

◆ getDisabled()

bool mqtt::bridge::lib::Bridge::getDisabled ( ) const

Definition at line 91 of file Bridge.cpp.

91 {
92 return disabled;
93 }

References disabled.

◆ getMqttList()

const std::list< const Mqtt * > & mqtt::bridge::lib::Bridge::getMqttList ( ) const

Definition at line 95 of file Bridge.cpp.

95 {
96 return mqttList;
97 }

References mqttList.

◆ getName()

const std::string & mqtt::bridge::lib::Bridge::getName ( )

Definition at line 61 of file Bridge.cpp.

61 {
62 return name;
63 }

References name.

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

Here is the caller graph for this function:

◆ getPrefix()

const std::string & mqtt::bridge::lib::Bridge::getPrefix ( ) const

Definition at line 87 of file Bridge.cpp.

87 {
88 return prefix;
89 }

References prefix.

◆ publish()

void mqtt::bridge::lib::Bridge::publish ( const mqtt::bridge::lib::Mqtt * originMqtt,
const iot::mqtt::packets::Publish & publish )

Definition at line 73 of file Bridge.cpp.

73 {
74 for (const mqtt::bridge::lib::Mqtt* destinationMqtt : mqttList) {
75 if (originMqtt != destinationMqtt) { // Do not reflect message to origin broker. Avoid message looping
76 destinationMqtt->sendPublish(prefix //
77 + originMqtt->getBroker().getPrefix() //
78 + destinationMqtt->getBroker().getPrefix() //
79 + publish.getTopic(),
80 publish.getMessage(),
81 publish.getQoS(),
82 publish.getRetain());
83 }
84 }
85 }
void publish(const mqtt::bridge::lib::Mqtt *originMqtt, const iot::mqtt::packets::Publish &publish)
Definition Bridge.cpp:73
const std::string & getPrefix() const
Definition Broker.cpp:158
const Broker & getBroker() const
Definition Mqtt.cpp:78

References mqtt::bridge::lib::Mqtt::getBroker(), mqtt::bridge::lib::Broker::getPrefix(), mqttList, and prefix.

Referenced by mqtt::bridge::lib::Mqtt::onPublish().

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

◆ removeMqtt()

void mqtt::bridge::lib::Bridge::removeMqtt ( mqtt::bridge::lib::Mqtt * mqtt)

Definition at line 69 of file Bridge.cpp.

69 { // cppcheck-suppress constParameterPointer
70 mqttList.remove(mqtt);
71 }

References mqttList.

Referenced by mqtt::bridge::lib::Mqtt::onDisconnected().

Here is the caller graph for this function:

Member Data Documentation

◆ disabled

bool mqtt::bridge::lib::Bridge::disabled
private

Definition at line 84 of file Bridge.h.

Referenced by Bridge(), and getDisabled().

◆ mqttList

std::list<const mqtt::bridge::lib::Mqtt*> mqtt::bridge::lib::Bridge::mqttList
private

Definition at line 86 of file Bridge.h.

Referenced by addMqtt(), getMqttList(), publish(), and removeMqtt().

◆ name

std::string mqtt::bridge::lib::Bridge::name
private

Definition at line 82 of file Bridge.h.

Referenced by Bridge(), and getName().

◆ prefix

std::string mqtt::bridge::lib::Bridge::prefix
private

Definition at line 83 of file Bridge.h.

Referenced by Bridge(), getPrefix(), and publish().


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