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

#include <Subscribe.h>

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

Public Member Functions

 Subscribe ()
 
 Subscribe (uint16_t packetIdentifier, const std::list< iot::mqtt::Topic > &topics)
 
uint16_t getPacketIdentifier () const
 
const std::list< iot::mqtt::Topic > & getTopics () const
 
- Public Member Functions inherited from iot::mqtt::ControlPacket
 ControlPacket (uint8_t type, const std::string &name)
 
 ControlPacket (const ControlPacket &)=default
 
 ControlPacket (ControlPacket &&)=default
 
virtual ~ControlPacket ()
 
ControlPacketoperator= (const ControlPacket &)=default
 
ControlPacketoperator= (ControlPacket &&)=default
 
std::vector< char > serialize () const
 
const std::string & getName () const
 
uint8_t getType () const
 
uint8_t getFlags () const
 

Protected Attributes

iot::mqtt::types::UInt16 packetIdentifier
 
std::list< iot::mqtt::Topictopics
 
- Protected Attributes inherited from iot::mqtt::ControlPacket
uint8_t flags = 0
 

Private Member Functions

std::vector< char > serializeVP () const override
 

Detailed Description

Definition at line 38 of file Subscribe.h.

Constructor & Destructor Documentation

◆ Subscribe() [1/2]

iot::mqtt::packets::Subscribe::Subscribe ( )

Definition at line 34 of file Subscribe.cpp.

36 }
#define MQTT_SUBSCRIBE
Definition Subscribe.h:37

References Subscribe().

Referenced by Subscribe(), and Subscribe().

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

◆ Subscribe() [2/2]

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

Definition at line 38 of file Subscribe.cpp.

39 : Subscribe() {
41 this->topics = topics;
42 }
std::list< iot::mqtt::Topic > topics
Definition Subscribe.h:53
iot::mqtt::types::UInt16 packetIdentifier
Definition Subscribe.h:51

References Subscribe().

Here is the call graph for this function:

Member Function Documentation

◆ getPacketIdentifier()

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

Definition at line 60 of file Subscribe.cpp.

60 {
61 return packetIdentifier;
62 }

◆ getTopics()

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

Definition at line 64 of file Subscribe.cpp.

64 {
65 return topics;
66 }

◆ serializeVP()

std::vector< char > iot::mqtt::packets::Subscribe::serializeVP ( ) const
overrideprivatevirtual

Implements iot::mqtt::ControlPacket.

Definition at line 44 of file Subscribe.cpp.

44 {
45 std::vector<char> packet(packetIdentifier.serialize());
46
47 for (const Topic& topic : topics) {
48 iot::mqtt::types::String topicString;
49 topicString = topic.getName();
50
51 std::vector<char> tmpPacket = topicString.serialize();
52 packet.insert(packet.end(), tmpPacket.begin(), tmpPacket.end());
53
54 packet.push_back(static_cast<char>(topic.getQoS()));
55 }
56
57 return packet;
58 }
std::vector< char > serialize() const override
Definition String.cpp:75
virtual std::vector< char > serialize() const
Definition TypeBase.hpp:61

Member Data Documentation

◆ packetIdentifier

iot::mqtt::types::UInt16 iot::mqtt::packets::Subscribe::packetIdentifier
protected

Definition at line 51 of file Subscribe.h.

◆ topics

std::list<iot::mqtt::Topic> iot::mqtt::packets::Subscribe::topics
protected

Definition at line 53 of file Subscribe.h.


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