SNode.C
Loading...
Searching...
No Matches
Unsubscribe.h
Go to the documentation of this file.
1/*
2 * snode.c - a slim toolkit for network communication
3 * Copyright (C) 2020, 2021, 2022 Volker Christian <me@vchrist.at>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as published
7 * by the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef IOT_MQTT_PACKETS_DESERIALIZER_UNSUBSCRIBE_H
20#define IOT_MQTT_PACKETS_DESERIALIZER_UNSUBSCRIBE_H
21
22#include "iot/mqtt/packets/Unsubscribe.h" // IWYU pragma: export
23#include "iot/mqtt/server/ControlPacketDeserializer.h" // IWYU pragma: export
24
25#ifndef DOXYGEN_SHOULD_SKIP_THIS
26
27#include <cstddef>
28#include <cstdint>
29
30#endif // DOXYGEN_SHOUĂ–D_SKIP_THIS
31
32namespace iot::mqtt::server::packets {
33
34 class Unsubscribe
35 : public iot::mqtt::packets::Unsubscribe
36 , public iot::mqtt::server::ControlPacketDeserializer {
37 public:
38 Unsubscribe(uint32_t remainingLength, uint8_t flags);
39
40 private:
41 std::size_t deserializeVP(iot::mqtt::MqttContext* mqttContext) override;
42 void deliverPacket(iot::mqtt::server::Mqtt* mqtt) override;
43
44 iot::mqtt::types::String topic;
45
46 int state = 0;
47 };
48
49} // namespace iot::mqtt::server::packets
50
51#endif // IOT_MQTT_PACKETS_DESERIALIZER_UNSUBSCRIBE_H
bool getReflect() const
Definition Mqtt.cpp:402
uint8_t getLevel() const
Definition Mqtt.cpp:346
bool getPasswordFlag() const
Definition Mqtt.cpp:382
void sendSuback(uint16_t packetIdentifier, const std::list< uint8_t > &returnCodes) const
Definition Mqtt.cpp:330
bool getCleanSession() const
Definition Mqtt.cpp:398
bool onSignal(int sig) override
Definition Mqtt.cpp:64
uint8_t getConnectFlags() const
Definition Mqtt.cpp:350
uint16_t getKeepAlive() const
Definition Mqtt.cpp:354
bool getWillRetain() const
Definition Mqtt.cpp:386
std::string getProtocol() const
Definition Mqtt.cpp:342
bool getUsernameFlag() const
Definition Mqtt.cpp:378
iot::mqtt::ControlPacketDeserializer * createControlPacketDeserializer(iot::mqtt::FixedHeader &fixedHeader) final
Definition Mqtt.cpp:69
bool initSession(const utils::Timeval &keepAlive)
Definition Mqtt.cpp:125
std::string getWillMessage() const
Definition Mqtt.cpp:366
void sendPingresp() const
Definition Mqtt.cpp:338
void sendConnack(uint8_t returnCode, uint8_t flags) const
Definition Mqtt.cpp:326
std::string getClientId() const
Definition Mqtt.cpp:358
uint8_t getWillQoS() const
Definition Mqtt.cpp:390
std::string getWillTopic() const
Definition Mqtt.cpp:362
bool getWillFlag() const
Definition Mqtt.cpp:394
void sendUnsuback(uint16_t packetIdentifier) const
Definition Mqtt.cpp:334
std::string getUsername() const
Definition Mqtt.cpp:370
std::string getPassword() const
Definition Mqtt.cpp:374
#define MQTT_SESSION_NEW
Definition Connack.h:44
#define MQTT_CONNACK_ACCEPT
Definition Connack.h:37
#define MQTT_CONNACK_UNACEPTABLEVERSION
Definition Connack.h:38
#define MQTT_SESSION_PRESENT
Definition Connack.h:45
#define MQTT_CONNACK_IDENTIFIERREJECTED
Definition Connack.h:39
#define MQTT_CONNECT
Definition Connect.h:36
#define MQTT_VERSION_3_1_1
Definition Connect.h:38
#define MQTT_DISCONNECT
Definition Disconnect.h:33
#define MQTT_PINGREQ
Definition Pingreq.h:33
#define MQTT_PUBACK
Definition Puback.h:35
#define MQTT_PUBCOMP
Definition Pubcomp.h:35
#define MQTT_PUBLISH
Definition Publish.h:36
#define MQTT_PUBREC
Definition Pubrec.h:35
#define MQTT_PUBREL
Definition Pubrel.h:35
#define MQTT_SUBSCRIBE
Definition Subscribe.h:37
#define MQTT_UNSUBSCRIBE
Definition Unsubscribe.h:37