File indexing completed on 2025-07-13 03:33:01
0001 /* 0002 File : MQTTWillSettingsWidget.h 0003 Project : LabPlot 0004 Description : widget for managing MQTT connection's will settings 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2018 Ferencz Kovacs <kferike98@gmail.com> 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef MQTTWILLSETTINGSWIDGET_H 0011 #define MQTTWILLSETTINGSWIDGET_H 0012 0013 #include "ui_mqttwillsettingswidget.h" 0014 #include <QWidget> 0015 0016 #include "backend/datasources/MQTTClient.h" 0017 0018 class MQTTWillSettingsWidget : public QWidget { 0019 Q_OBJECT 0020 0021 public: 0022 explicit MQTTWillSettingsWidget(QWidget*, const MQTTClient::MQTTWill&, const QVector<QString>&); 0023 0024 MQTTClient::MQTTWill will() const; 0025 MQTTClient::WillStatisticsType statisticsType() const; 0026 0027 private: 0028 Ui::MQTTWillSettingsWidget ui; 0029 MQTTClient::MQTTWill m_will; 0030 0031 MQTTClient::WillStatisticsType m_statisticsType{MQTTClient::WillStatisticsType::NoStatistics}; 0032 0033 Q_SIGNALS: 0034 void applyClicked(); 0035 0036 private Q_SLOTS: 0037 void enableWillSettings(bool); 0038 void willMessageTypeChanged(int); 0039 void loadSettings(const MQTTClient::MQTTWill&, const QVector<QString>&); 0040 void willUpdateTypeChanged(int); 0041 }; 0042 0043 #endif // MQTTWILLSETTINGSWIDGET_H