File indexing completed on 2024-05-12 03:49:29
0001 /* 0002 File : MQTT_test.h 0003 Project : LabPlot 0004 Description : Tests for MQTT import. 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2018 Kovacs Ferencz <kferike98@gmail.com> 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef MQTT_TEST_H 0011 #define MQTT_TEST_H 0012 0013 #include <QMainWindow> 0014 #include <QMqttClient> 0015 #include <QMqttTopicName> 0016 #include <QTimer> 0017 #include <QVector> 0018 #include <random> 0019 0020 namespace Ui { 0021 class MainWindow; 0022 } 0023 0024 class MainWindow : public QMainWindow { 0025 Q_OBJECT 0026 0027 public: 0028 explicit MainWindow(QWidget* parent = 0); 0029 ~MainWindow(); 0030 0031 public Q_SLOTS: 0032 void setClientPort(int p); 0033 0034 private Q_SLOTS: 0035 void on_buttonConnect_clicked(); 0036 void on_buttonQuit_clicked(); 0037 void brokerDisconnected(); 0038 void on_buttonSubscribe_clicked(); 0039 void onTimeout(); 0040 void intervalChanged(const QString&); 0041 void onConnect(); 0042 0043 private: 0044 Ui::MainWindow* ui; 0045 QMqttClient* m_client; 0046 bool m_run; 0047 QMqttTopicName* m_brownianX; 0048 quint8 m_qos; 0049 QTimer* m_timer; 0050 unsigned int m_seed; 0051 std::default_random_engine* m_generator; 0052 std::normal_distribution<double>* m_distribution; 0053 double m_delta; 0054 double m_dt; 0055 int m_pathes; 0056 int m_iters; 0057 int m_iterCount; 0058 int m_itersTotal; 0059 int m_interval; 0060 0061 QVector<QMqttTopicName*> m_brownianTopics; 0062 QVector<double> m_x; 0063 }; 0064 0065 #endif // MQTT_TEST_H