2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
20#ifndef IOT_MQTT_PACKETS_SUBSCRIBE_H
21#define IOT_MQTT_PACKETS_SUBSCRIBE_H
23#include "iot/mqtt/ControlPacket.h"
24#include "iot/mqtt/Topic.h"
25#include "iot/mqtt/types/String.h"
26#include "iot/mqtt/types/UInt16.h"
27#include "iot/mqtt/types/UInt8.h"
29#ifndef DOXYGEN_SHOULD_SKIP_THIS
38 class Subscribe :
public iot::mqtt::ControlPacket {
41 Subscribe(uint16_t packetIdentifier,
const std::list<iot::mqtt::Topic>& topics);
44 std::vector<
char> serializeVP()
const override;
47 uint16_t getPacketIdentifier()
const;
48 const std::list<iot::mqtt::Topic>& getTopics()
const;
51 iot::mqtt::types::UInt16 packetIdentifier;
53 std::list<iot::mqtt::Topic> topics;
void _onPublish(const iot::mqtt::client::packets::Publish &publish)
void sendConnect(uint16_t keepAlive, const std::string &clientId, bool cleanSession, const std::string &willTopic, const std::string &willMessage, uint8_t willQoS, bool willRetain, const std::string &username, const std::string &password, bool loopPrevention=false)
void _onPingresp(const iot::mqtt::client::packets::Pingresp &pingresp)
virtual void onConnack(const iot::mqtt::packets::Connack &connack)
virtual void onPingresp(const iot::mqtt::packets::Pingresp &pingresp)
void sendSubscribe(const std::list< Topic > &topics)
iot::mqtt::ControlPacketDeserializer * createControlPacketDeserializer(iot::mqtt::FixedHeader &fixedHeader) final
void _onSuback(const iot::mqtt::client::packets::Suback &suback)
virtual void onUnsuback(const iot::mqtt::packets::Unsuback &unsuback)
void _onConnack(const iot::mqtt::client::packets::Connack &connack)
void _onUnsuback(const iot::mqtt::client::packets::Unsuback &unsuback)
void sendUnsubscribe(const std::list< std::string > &topics)
bool onSignal(int sig) override
virtual void onSuback(const iot::mqtt::packets::Suback &suback)
void sendDisconnect() const
Mqtt(const std::string &connectionName, const std::string &clientId)
#define MQTT_CONNACK_ACCEPT