1
0
mirror of https://github.com/qt/qtmqtt.git synced 2026-10-25 16:16:26 +00:00

Rename shared subscription functions

As agreed on the review process, using sharedSubscription(Name) is more
verbose and descriptive.

Change-Id: I81fa5d9f74ecd12d3b90d485f67b52dfb4f70bf5
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
This commit is contained in:
Maurice Kalinowski 2018-09-12 11:46:38 +02:00
parent 65f5d9cecc
commit 7d2525e623
7 changed files with 32 additions and 31 deletions

View File

@ -462,11 +462,12 @@ QMqttSubscription *QMqttConnection::sendControlSubscribe(const QMqttTopicFilter
qCDebug(lcMqttConnection) << Q_FUNC_INFO << " Topic:" << topic << " qos:" << qos;
if (m_clientPrivate->m_protocolVersion == QMqttClient::MQTT_5_0) {
if (!topic.shareName().isEmpty()) {
if (!topic.sharedSubscriptionName().isEmpty()) {
const QMqttTopicFilter filter(topic.filter().section(QLatin1Char('/'), 2));
if (m_activeSubscriptions.contains(filter) && m_activeSubscriptions.value(filter)->shareName() == topic.shareName())
if (m_activeSubscriptions.contains(filter)
&& m_activeSubscriptions.value(filter)->sharedSubscriptionName() == topic.sharedSubscriptionName())
return m_activeSubscriptions[filter];
} else if (m_activeSubscriptions.contains(topic) && !m_activeSubscriptions.value(topic)->isShared())
} else if (m_activeSubscriptions.contains(topic) && !m_activeSubscriptions.value(topic)->isSharedSubscription())
return m_activeSubscriptions[topic];
} else if (m_activeSubscriptions.contains(topic))
return m_activeSubscriptions[topic];
@ -504,9 +505,9 @@ QMqttSubscription *QMqttConnection::sendControlSubscribe(const QMqttTopicFilter
result->setClient(m_clientPrivate->m_client);
result->setQos(qos);
result->setState(QMqttSubscription::SubscriptionPending);
if (m_clientPrivate->m_protocolVersion == QMqttClient::MQTT_5_0 && !topic.shareName().isEmpty()) {
result->setShareName(topic.shareName());
result->setShared(true);
if (m_clientPrivate->m_protocolVersion == QMqttClient::MQTT_5_0 && !topic.sharedSubscriptionName().isEmpty()) {
result->setSharedSubscriptionName(topic.sharedSubscriptionName());
result->setSharedSubscription(true);
result->setTopic(topic.filter().section(QLatin1Char('/'), 2));
}

View File

@ -105,13 +105,13 @@ QT_BEGIN_NAMESPACE
*/
/*!
\property QMqttSubscription::shared
\property QMqttSubscription::sharedSubscription
\since 5.12
\brief This property holds whether the subscription is shared.
*/
/*!
\property QMqttSubscription::shareName
\property QMqttSubscription::sharedSubscriptionName
\since 5.12
\brief This property holds the name of the shared subscription.
*/
@ -177,16 +177,16 @@ QMqttUserProperties QMqttSubscription::userProperties() const
return d->m_userProperties;
}
bool QMqttSubscription::isShared() const
bool QMqttSubscription::isSharedSubscription() const
{
Q_D(const QMqttSubscription);
return d->m_shared;
}
QString QMqttSubscription::shareName() const
QString QMqttSubscription::sharedSubscriptionName() const
{
Q_D(const QMqttSubscription);
return d->m_shareName;
return d->m_sharedSubscriptionName;
}
void QMqttSubscription::setState(QMqttSubscription::SubscriptionState state)
@ -230,16 +230,16 @@ void QMqttSubscription::setQos(quint8 qos)
d->m_qos = qos;
}
void QMqttSubscription::setShared(bool s)
void QMqttSubscription::setSharedSubscription(bool s)
{
Q_D(QMqttSubscription);
d->m_shared = s;
}
void QMqttSubscription::setShareName(const QString &name)
void QMqttSubscription::setSharedSubscriptionName(const QString &name)
{
Q_D(QMqttSubscription);
d->m_shareName = name;
d->m_sharedSubscriptionName = name;
}
QMqttSubscriptionPrivate::QMqttSubscriptionPrivate()

View File

@ -50,8 +50,8 @@ class Q_MQTT_EXPORT QMqttSubscription : public QObject
Q_PROPERTY(QMqttTopicFilter topic READ topic)
Q_PROPERTY(QString reason READ reason)
Q_PROPERTY(QMqtt::ReasonCode reasonCode READ reasonCode)
Q_PROPERTY(bool shared READ isShared)
Q_PROPERTY(QString shareName READ shareName)
Q_PROPERTY(bool sharedSubscription READ isSharedSubscription)
Q_PROPERTY(QString sharedSubscriptionName READ sharedSubscriptionName)
public:
~QMqttSubscription() override;
enum SubscriptionState {
@ -69,8 +69,8 @@ public:
QMqtt::ReasonCode reasonCode() const;
QMqttUserProperties userProperties() const;
bool isShared() const;
QString shareName() const;
bool isSharedSubscription() const;
QString sharedSubscriptionName() const;
Q_SIGNALS:
void stateChanged(SubscriptionState state);
@ -87,8 +87,8 @@ private:
void setTopic(const QMqttTopicFilter &topic);
void setClient(QMqttClient *client);
void setQos(quint8 qos);
void setShared(bool s);
void setShareName(const QString &name);
void setSharedSubscription(bool s);
void setSharedSubscriptionName(const QString &name);
friend class QMqttConnection;
friend class QMqttClient;
explicit QMqttSubscription(QObject *parent = nullptr);

View File

@ -56,7 +56,7 @@ public:
QMqttTopicFilter m_topic;
QString m_reasonString;
QMqttUserProperties m_userProperties;
QString m_shareName;
QString m_sharedSubscriptionName;
QMqttSubscription::SubscriptionState m_state{QMqttSubscription::Unsubscribed};
QMqtt::ReasonCode m_reasonCode{QMqtt::ReasonCode::Success};
quint8 m_qos{0};

View File

@ -160,7 +160,7 @@ void QMqttTopicFilter::setFilter(const QString &filter)
a shared subscription. The format of shared subscriptions is defined
as \c $share/sharename/topicfilter.
*/
QString QMqttTopicFilter::shareName() const
QString QMqttTopicFilter::sharedSubscriptionName() const
{
QString result;
if (d->filter.startsWith(QLatin1String("$share/"))) {

View File

@ -69,7 +69,7 @@ public:
QString filter() const;
void setFilter(const QString &filter);
QString shareName() const;
QString sharedSubscriptionName() const;
Q_REQUIRED_RESULT bool isValid() const;
Q_REQUIRED_RESULT bool match(const QMqttTopicName &name, MatchOptions matchOptions = NoMatchOption) const;

View File

@ -265,8 +265,8 @@ void Tst_QMqttSubscription::sharedConnection()
// listenerAx: $share/groupA/Qt/Subscription/shared_check/#
for (int i = 0; i < groupSizeA; ++i) {
createAndSubscribe(&listenersA[i], &subsA[i], groupTopicA);
QCOMPARE(subsA[i]->isShared(), true);
QCOMPARE(subsA[i]->shareName(), QLatin1String("groupA"));
QCOMPARE(subsA[i]->isSharedSubscription(), true);
QCOMPARE(subsA[i]->sharedSubscriptionName(), QLatin1String("groupA"));
connect(subsA[i], &QMqttSubscription::messageReceived, [i, &messageCounterA, &messageSumA]() {
messageCounterA[i]++;
messageSumA++;
@ -284,8 +284,8 @@ void Tst_QMqttSubscription::sharedConnection()
// listenerBx: $share/groupB/Qt/Subscription/shared_check/#
for (int i = 0; i < groupSizeB; ++i) {
createAndSubscribe(&listenersB[i], &subsB[i], groupTopicB);
QCOMPARE(subsB[i]->isShared(), true);
QCOMPARE(subsB[i]->shareName(), QLatin1String("groupB"));
QCOMPARE(subsB[i]->isSharedSubscription(), true);
QCOMPARE(subsB[i]->sharedSubscriptionName(), QLatin1String("groupB"));
connect(subsB[i], &QMqttSubscription::messageReceived, [i, &messageCounterB, &messageSumB]() {
messageCounterB[i]++;
messageSumB++;
@ -351,12 +351,12 @@ void Tst_QMqttSubscription::sharedNonShared()
QTRY_VERIFY2(client.state() == QMqttClient::Connected, "Could not connect to broker.");
QMqttSubscription *sub1 = client.subscribe(topic1, 1);
QCOMPARE(sub1->isShared(), shared1);
QVERIFY(sub1->shareName().isEmpty() == !shared1);
QCOMPARE(sub1->isSharedSubscription(), shared1);
QVERIFY(sub1->sharedSubscriptionName().isEmpty() == !shared1);
QMqttSubscription *sub2 = client.subscribe(topic2, 1);
QCOMPARE(sub2->isShared(), shared2);
QVERIFY(sub2->shareName().isEmpty() == !shared2);
QCOMPARE(sub2->isSharedSubscription(), shared2);
QVERIFY(sub2->sharedSubscriptionName().isEmpty() == !shared2);
// Verify that a subscription is reused / not reused
QCOMPARE(sub1 == sub2, expected);