File indexing completed on 2024-05-12 03:47:43
0001 /* 0002 File : MQTTSubscription.h 0003 Project : LabPlot 0004 Description : Represents a subscription made in MQTTClient 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2018 Kovacs Ferencz <kferike98@gmail.com> 0007 0008 SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 0011 #ifndef MQTTSUBSCRIPTION_H 0012 #define MQTTSUBSCRIPTION_H 0013 0014 #include "backend/core/Folder.h" 0015 0016 class MQTTClient; 0017 class MQTTTopic; 0018 class QString; 0019 0020 class MQTTSubscription : public Folder { 0021 Q_OBJECT 0022 0023 public: 0024 explicit MQTTSubscription(const QString& name); 0025 ~MQTTSubscription() override; 0026 0027 void setMQTTClient(MQTTClient*); 0028 QString subscriptionName() const; 0029 const QVector<MQTTTopic*> topics() const; 0030 MQTTClient* mqttClient() const; 0031 void messageArrived(const QString&, const QString&); 0032 0033 QIcon icon() const override; 0034 void save(QXmlStreamWriter*) const override; 0035 bool load(XmlStreamReader*, bool preview) override; 0036 0037 private: 0038 QString m_subscriptionName; 0039 MQTTClient* m_MQTTClient{nullptr}; 0040 0041 Q_SIGNALS: 0042 void loaded(const QString&); 0043 }; 0044 0045 #endif // MQTTSUBSCRIPTION_H