summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMaurice Kalinowski <maurice.kalinowski@qt.io>2017-03-23 13:03:14 +0100
committerMaurice Kalinowski <maurice.kalinowski@qt.io>2017-03-23 13:03:14 +0100
commitd990cef71f4b794e3c6c7a9cf487bc7dcda63ce5 (patch)
treedad7aba816eaeaab708936adb3431eb2682af81b /examples
parentc41e8d06ca282215e900dbce764c91b2b3be5303 (diff)
Add support for QoS Level 1
On subscription and message side.
Diffstat (limited to 'examples')
-rw-r--r--examples/mqtt/subscriptions/mainwindow.cpp4
-rw-r--r--examples/mqtt/subscriptions/mainwindow.ui267
-rw-r--r--examples/mqtt/subscriptions/subscriptionwindow.cpp4
-rw-r--r--examples/mqtt/subscriptions/subscriptionwindow.ui14
4 files changed, 188 insertions, 101 deletions
diff --git a/examples/mqtt/subscriptions/mainwindow.cpp b/examples/mqtt/subscriptions/mainwindow.cpp
index 33e54be..d125297 100644
--- a/examples/mqtt/subscriptions/mainwindow.cpp
+++ b/examples/mqtt/subscriptions/mainwindow.cpp
@@ -90,12 +90,12 @@ void MainWindow::setClientPort(int p)
void MainWindow::on_buttonPublish_clicked()
{
- m_client->publish(ui->lineEditTopic->text(), ui->lineEditMessage->text().toUtf8());
+ m_client->publish(ui->lineEditTopic->text(), ui->lineEditMessage->text().toUtf8(), ui->spinQoS_2->text().toUInt());
}
void MainWindow::on_buttonSubscribe_clicked()
{
- auto subscription = m_client->subscribe(ui->lineEditTopic->text());
+ auto subscription = m_client->subscribe(ui->lineEditTopic->text(), ui->spinQoS->text().toUInt());
auto subWindow = new SubscriptionWindow(subscription);
subWindow->setWindowTitle(subscription->topic());
subWindow->show();
diff --git a/examples/mqtt/subscriptions/mainwindow.ui b/examples/mqtt/subscriptions/mainwindow.ui
index b67b6c2..0c245a6 100644
--- a/examples/mqtt/subscriptions/mainwindow.ui
+++ b/examples/mqtt/subscriptions/mainwindow.ui
@@ -6,113 +6,182 @@
<rect>
<x>0</x>
<y>0</y>
- <width>629</width>
- <height>595</height>
+ <width>349</width>
+ <height>666</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralWidget">
- <layout class="QVBoxLayout" name="verticalLayout">
+ <layout class="QVBoxLayout" name="verticalLayout_4">
<item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <layout class="QFormLayout" name="formLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Host:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="lineEditHost">
- <property name="text">
- <string>hostprocess.de</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Port:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QSpinBox" name="spinBoxPort">
- <property name="maximum">
- <number>99999</number>
- </property>
- <property name="value">
- <number>1883</number>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QPushButton" name="buttonConnect">
- <property name="text">
- <string>Connect</string>
- </property>
- </widget>
- </item>
- </layout>
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="title">
+ <string>Connection</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Host:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="lineEditHost">
+ <property name="text">
+ <string>hostprocess.de</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Port:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="spinBoxPort">
+ <property name="maximum">
+ <number>99999</number>
+ </property>
+ <property name="value">
+ <number>1883</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="buttonConnect">
+ <property name="text">
+ <string>Connect</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QPushButton" name="buttonPing">
+ <property name="text">
+ <string>Ping</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
</item>
<item>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="1">
- <widget class="QLineEdit" name="lineEditTopic">
- <property name="text">
- <string>qtmqtt/topic1</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Topic:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Message:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="QPushButton" name="buttonPublish">
- <property name="text">
- <string>Publish</string>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QPushButton" name="buttonSubscribe">
- <property name="text">
- <string>Subscribe</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLineEdit" name="lineEditMessage">
- <property name="text">
- <string>This is a test message</string>
- </property>
- </widget>
- </item>
- <item row="2" column="2">
- <widget class="QPushButton" name="buttonPing">
- <property name="text">
- <string>Ping</string>
- </property>
- </widget>
- </item>
- </layout>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>Subscriptions</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Topic:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="lineEditTopic">
+ <property name="text">
+ <string>qtmqtt/topic1</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>QoS:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="spinQoS">
+ <property name="maximum">
+ <number>2</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QPushButton" name="buttonSubscribe">
+ <property name="text">
+ <string>Subscribe</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_4">
+ <property name="title">
+ <string>Messages</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Content:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="lineEditMessage">
+ <property name="text">
+ <string>This is a test message</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>QoS:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="spinQoS_2">
+ <property name="maximum">
+ <number>2</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Retain:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QCheckBox" name="checkBoxRetain">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QPushButton" name="buttonPublish">
+ <property name="text">
+ <string>Publish</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
@@ -157,7 +226,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>629</width>
+ <width>349</width>
<height>21</height>
</rect>
</property>
diff --git a/examples/mqtt/subscriptions/subscriptionwindow.cpp b/examples/mqtt/subscriptions/subscriptionwindow.cpp
index 19bb31c..f9c6ecb 100644
--- a/examples/mqtt/subscriptions/subscriptionwindow.cpp
+++ b/examples/mqtt/subscriptions/subscriptionwindow.cpp
@@ -9,9 +9,13 @@ SubscriptionWindow::SubscriptionWindow(QSharedPointer<QMqttSubscription> &sub, Q
ui->setupUi(this);
ui->labelSub->setText(m_sub->topic());
+ ui->labelQoS->setText(QString::number(sub->qos()));
updateStatus(m_sub->state());
connect(m_sub.data(), &QMqttSubscription::messageReceived, this, &SubscriptionWindow::updateMessage);
connect(m_sub.data(), &QMqttSubscription::stateChanged, this, &SubscriptionWindow::updateStatus);
+ connect(m_sub.data(), &QMqttSubscription::qosChanged, [this](quint8 qos) {
+ ui->labelQoS->setText(QString::number(qos));
+ });
connect(ui->pushButton, &QAbstractButton::clicked, m_sub.data(), &QMqttSubscription::unsubscribe);
}
diff --git a/examples/mqtt/subscriptions/subscriptionwindow.ui b/examples/mqtt/subscriptions/subscriptionwindow.ui
index 46ca75f..acf6591 100644
--- a/examples/mqtt/subscriptions/subscriptionwindow.ui
+++ b/examples/mqtt/subscriptions/subscriptionwindow.ui
@@ -44,6 +44,20 @@
</property>
</widget>
</item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>QoS:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="labelQoS">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
</layout>
</item>
<item>