Advertisement
Guest User

Untitled

a guest
Feb 9th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #ifndef MQTTSUBSCRIPTIONWIDGET_H
  2. #define MQTTSUBSCRIPTIONWIDGET_H
  3.  
  4. #include <QWidget>
  5. #include <QVector>
  6.  
  7. #ifdef HAVE_MQTT
  8. #include "ui_mqttsubscriptionwidget.h"
  9. class QMqttSubscription;
  10. #endif
  11.  
  12. class MQTTSubscriptionWidget : public QWidget {
  13. #ifdef HAVE_MQTT
  14.     Q_OBJECT
  15.  
  16. public:
  17.     explicit MQTTSubscriptionWidget(QWidget* parent = nullptr);
  18.     ~MQTTSubscriptionWidget() override;
  19.     enum MQTTParentWidget {
  20.         ImportFileWidget = 0,
  21.         LiveDataDock = 1
  22.     };
  23.  
  24.     void setTopicList (QStringList topicList);
  25.     QStringList getTopicList();\
  26.     int subscriptionCount();
  27.     QTreeWidgetItem* topLevelTopic(int);
  28.     QTreeWidgetItem* topLevelSubscription(int);
  29.     void addTopic(QTreeWidgetItem*);
  30.     int topicCount();
  31.     void setTopicTreeText(const QString&);
  32.     void makeVisible(bool);
  33.     void testSubscribe(QTreeWidgetItem*);
  34.     void testUnsubscribe(QTreeWidgetItem*);
  35.  
  36. signals:
  37.     void makeSubscription(const QString& name, quint8 QoS);
  38.     void MQTTUnsubscribeFromTopic(const QString&, QVector<QTreeWidgetItem*> children);
  39.     void removeMQTTSubscription(const QString&);
  40.     void addBeforeRemoveSubscription(const QString&, quint8);
  41.     void reparentTopic(const QString& topic, const QString& parent);
  42.     void enableWill(bool);
  43.  
  44. private:
  45.     Ui::MQTTSubscriptionWidget ui;
  46.     MQTTParentWidget m_parent;
  47.     QWidget* m_parentWidget;
  48.     QCompleter* m_subscriptionCompleter{nullptr};
  49.     QCompleter* m_topicCompleter{nullptr};
  50.     QStringList m_topicList;
  51.     bool m_searching{false};
  52.     QTimer* m_searchTimer;
  53.  
  54.     void unsubscribeFromTopic(const QString&);
  55.     void manageCommonLevelSubscriptions();
  56.     void updateSubscriptionCompleter();
  57.  
  58. private slots:
  59.     void mqttAvailableTopicDoubleClicked(QTreeWidgetItem* item, int column);
  60.     void mqttSubscribedTopicDoubleClicked(QTreeWidgetItem* item, int column);
  61.     void mqttSubscribe();
  62.     void mqttUnsubscribe();
  63.     void setTopicCompleter(const QString&);
  64.     void scrollToTopicTreeItem(const QString& rootName);
  65.     void scrollToSubsriptionTreeItem(const QString& rootName);
  66.     void topicTimeout();
  67.     void updateSubscriptionTree(const QVector<QString>&);
  68.     void clearWidgets();
  69.     void onDisconnect();
  70.  
  71.  
  72.  
  73. #endif  // HAVE_MQTT
  74. };
  75.  
  76.  
  77. #endif // MQTTSUBSCRIPTIONWIDGET_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement