supla-device
Loading...
Searching...
No Matches
mqtt_channel_handler.h
1// SPDX-FileCopyrightText: AC SOFTWARE SP. Z O.O.
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#ifndef SRC_SUPLA_PROTOCOL_MQTT_CHANNEL_HANDLER_H_
5#define SRC_SUPLA_PROTOCOL_MQTT_CHANNEL_HANDLER_H_
6
7#include <stdint.h>
8
9namespace Supla {
10class Element;
11namespace Protocol {
12
13class Mqtt;
14
16 public:
17 virtual ~MqttChannelHandler() = default;
18
19 virtual int mqttHandledChannelType() const = 0;
20
21 virtual void mqttPublishChannelState(Mqtt *mqtt, Supla::Element *element) = 0;
22 virtual void mqttSubscribeChannel(Mqtt *mqtt, Supla::Element *element) = 0;
23 virtual void mqttUnsubscribeChannel(Mqtt *mqtt, Supla::Element *element) = 0;
24 virtual bool mqttProcessData(Mqtt *mqtt,
25 const char *topic_part,
26 const char *payload,
27 Supla::Element *element) = 0;
28 virtual void mqttPublishHADiscovery(Mqtt *mqtt, Supla::Element *element) = 0;
29};
30
31} // namespace Protocol
32} // namespace Supla
33
34#endif // SRC_SUPLA_PROTOCOL_MQTT_CHANNEL_HANDLER_H_
Base class for all elements of SuplaDevice.
Definition element.h:27
Definition mqtt_channel_handler.h:15
Definition mqtt.h:65