SNode.C
Loading...
Searching...
No Matches
iot::mqtt_fast::packets::Subscribe Class Reference

#include <Subscribe.h>

Inheritance diagram for iot::mqtt_fast::packets::Subscribe:
Collaboration diagram for iot::mqtt_fast::packets::Subscribe:

Public Member Functions

 Subscribe (uint16_t packetIdentifier, const std::list< iot::mqtt_fast::Topic > &topics)
 
 Subscribe (iot::mqtt_fast::ControlPacketFactory &controlPacketFactory)
 
uint16_t getPacketIdentifier () const
 
const std::list< iot::mqtt_fast::Topic > & getTopics () const
 
- Public Member Functions inherited from iot::mqtt_fast::ControlPacket
 ControlPacket (uint8_t type, uint8_t reserved=0)
 
 ControlPacket (iot::mqtt_fast::ControlPacketFactory &controlPacketFactory)
 
 ControlPacket (const ControlPacket &)=delete
 
 ControlPacket (ControlPacket &&)=delete
 
ControlPacketoperator= (const ControlPacket &)=delete
 
ControlPacketoperator= (ControlPacket &&)=delete
 
uint8_t getType () const
 
uint8_t getReserved () const
 
uint64_t getRemainingLength () const
 
std::vector< char > getPacket ()
 
bool isError () const
 

Private Attributes

uint16_t packetIdentifier
 
std::list< iot::mqtt_fast::Topictopics
 

Additional Inherited Members

- Protected Member Functions inherited from iot::mqtt_fast::ControlPacket
std::vector< char > & getValue ()
 
uint8_t getInt8 ()
 
uint16_t getInt16 ()
 
uint32_t getInt32 ()
 
uint64_t getInt64 ()
 
uint32_t getIntV ()
 
std::string getString ()
 
std::string getStringRaw ()
 
std::list< uint8_t > getUint8ListRaw ()
 
void putInt8 (uint8_t value)
 
void putInt16 (uint16_t value)
 
void putInt32 (uint32_t value)
 
void putInt64 (uint64_t value)
 
void putIntV (uint32_t value)
 
void putString (const std::string &value)
 
void putStringRaw (const std::string &value)
 
void putUint8ListRaw (const std::list< uint8_t > &value)
 
bool isError ()
 
- Protected Attributes inherited from iot::mqtt_fast::ControlPacket
bool error = false
 

Detailed Description

Definition at line 63 of file Subscribe.h.

Constructor & Destructor Documentation

◆ Subscribe() [1/2]

iot::mqtt_fast::packets::Subscribe::Subscribe ( uint16_t  packetIdentifier,
const std::list< iot::mqtt_fast::Topic > &  topics 
)

Definition at line 52 of file Subscribe.cpp.

55 , topics(topics) {
56 // V-Header
58
59 // Payload
60 for (const iot::mqtt_fast::Topic& topic : this->topics) {
61 putString(topic.getName());
62 putInt8(topic.getRequestedQoS());
63 }
64 }
void putInt16(uint16_t value)
void putString(const std::string &value)
std::list< iot::mqtt_fast::Topic > topics
Definition Subscribe.h:74
#define MQTT_SUBSCRIBE
Definition Subscribe.h:59

References iot::mqtt_fast::ControlPacket::ControlPacket(), iot::mqtt_fast::Topic::getName(), iot::mqtt_fast::Topic::getRequestedQoS(), packetIdentifier, iot::mqtt_fast::ControlPacket::putInt16(), iot::mqtt_fast::ControlPacket::putInt8(), iot::mqtt_fast::ControlPacket::putString(), and topics.

Referenced by iot::mqtt_fast::SocketContext::sendSubscribe().

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

◆ Subscribe() [2/2]

iot::mqtt_fast::packets::Subscribe::Subscribe ( iot::mqtt_fast::ControlPacketFactory controlPacketFactory)
explicit

Definition at line 66 of file Subscribe.cpp.

67 : iot::mqtt_fast::ControlPacket(controlPacketFactory) {
68 // V-Header
70
71 // Payload
72 for (std::string name = getString(); !name.empty(); name = getString()) {
73 const uint8_t requestedQoS = getInt8();
74 topics.emplace_back(name, requestedQoS);
75 }
76
77 if (!isError()) {
78 error = topics.empty();
79 }
80 }

References iot::mqtt_fast::ControlPacket::ControlPacket(), iot::mqtt_fast::ControlPacket::error, iot::mqtt_fast::ControlPacket::getInt16(), iot::mqtt_fast::ControlPacket::getInt8(), iot::mqtt_fast::ControlPacket::getString(), iot::mqtt_fast::ControlPacket::isError(), packetIdentifier, and topics.

Referenced by iot::mqtt_fast::SocketContext::onReceivedFromPeer().

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

Member Function Documentation

◆ getPacketIdentifier()

uint16_t iot::mqtt_fast::packets::Subscribe::getPacketIdentifier ( ) const

Definition at line 82 of file Subscribe.cpp.

82 {
83 return packetIdentifier;
84 }

References packetIdentifier.

◆ getTopics()

const std::list< iot::mqtt_fast::Topic > & iot::mqtt_fast::packets::Subscribe::getTopics ( ) const

Definition at line 86 of file Subscribe.cpp.

86 {
87 return topics;
88 }

References topics.

Member Data Documentation

◆ packetIdentifier

uint16_t iot::mqtt_fast::packets::Subscribe::packetIdentifier
private

Definition at line 72 of file Subscribe.h.

Referenced by getPacketIdentifier(), Subscribe(), and Subscribe().

◆ topics

std::list<iot::mqtt_fast::Topic> iot::mqtt_fast::packets::Subscribe::topics
private

Definition at line 74 of file Subscribe.h.

Referenced by getTopics(), Subscribe(), and Subscribe().


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