fix subscribing to topic after first pairing

This commit is contained in:
Michael Zanetti 2017-11-17 11:53:00 +01:00
parent 5337f225eb
commit bb47abd585
2 changed files with 7 additions and 1 deletions

View File

@ -160,6 +160,11 @@ void AWSConnector::setupPairing()
subscribe(subscriptions);
// fetch previous pairings
fetchPairings();
}
void AWSConnector::fetchPairings()
{
QVariantMap params;
params.insert("timestamp", QDateTime::currentMSecsSinceEpoch());
params.insert("id", ++m_transactionId);
@ -367,7 +372,7 @@ ResponseCode AWSConnector::onSubscriptionReceivedCallback(util::String topic_nam
} else if (!userId.isEmpty()) {
qCDebug(dcAWS()) << "Pairing response for id:" << userId << statusCode;
emit connector->devicePaired(userId, statusCode, message);
connector->subscribe({QString("%1/eu-west-1:%2/#").arg(connector->m_clientId).arg(userId)});
connector->staticMetaObject.invokeMethod(connector, "fetchPairings", Qt::QueuedConnection);
} else {
qCWarning(dcAWS()) << "Received a pairing response for a transaction we didn't start";
}

View File

@ -59,6 +59,7 @@ private slots:
void registerDevice();
void onDeviceRegistered(bool needsReconnect);
void setupPairing();
void fetchPairings();
void onPairingsRetrieved(const QVariantList &pairings);
void setName();
void onDisconnected();