Commit 0dd83c1d authored by Ian Craggs's avatar Ian Craggs

Return connack information for MQTT 3.1.1 in the async client

Bug: 436049
parent 2d2bd98c
...@@ -59,13 +59,13 @@ SYNC_SAMPLES = ${addprefix ${blddir}/samples/,${SAMPLE_FILES_C}} ...@@ -59,13 +59,13 @@ SYNC_SAMPLES = ${addprefix ${blddir}/samples/,${SAMPLE_FILES_C}}
SAMPLE_FILES_A = stdoutsuba MQTTAsync_subscribe MQTTAsync_publish SAMPLE_FILES_A = stdoutsuba MQTTAsync_subscribe MQTTAsync_publish
ASYNC_SAMPLES = ${addprefix ${blddir}/samples/,${SAMPLE_FILES_A}} ASYNC_SAMPLES = ${addprefix ${blddir}/samples/,${SAMPLE_FILES_A}}
TEST_FILES_C = test1 sync_client_test TEST_FILES_C = test1 sync_client_test test_mqtt4sync
SYNC_TESTS = ${addprefix ${blddir}/test/,${TEST_FILES_C}} SYNC_TESTS = ${addprefix ${blddir}/test/,${TEST_FILES_C}}
TEST_FILES_CS = test3 TEST_FILES_CS = test3
SYNC_SSL_TESTS = ${addprefix ${blddir}/test/,${TEST_FILES_CS}} SYNC_SSL_TESTS = ${addprefix ${blddir}/test/,${TEST_FILES_CS}}
TEST_FILES_A = test4 TEST_FILES_A = test4 test_mqtt4async
ASYNC_TESTS = ${addprefix ${blddir}/test/,${TEST_FILES_A}} ASYNC_TESTS = ${addprefix ${blddir}/test/,${TEST_FILES_A}}
TEST_FILES_AS = test5 TEST_FILES_AS = test5
......
...@@ -1511,8 +1511,16 @@ thread_return_type WINAPI MQTTAsync_receiveThread(void* n) ...@@ -1511,8 +1511,16 @@ thread_return_type WINAPI MQTTAsync_receiveThread(void* n)
MQTTAsync_freeConnect(m->connect); MQTTAsync_freeConnect(m->connect);
if (m->connect.onSuccess) if (m->connect.onSuccess)
{ {
MQTTAsync_successData data;
memset(&data, '\0', sizeof(data));
Log(TRACE_MIN, -1, "Calling connect success for client %s", m->c->clientID); Log(TRACE_MIN, -1, "Calling connect success for client %s", m->c->clientID);
(*(m->connect.onSuccess))(m->connect.context, NULL); if (m->connect.details.conn.serverURIcount > 0)
data.alt.connect.serverURI = m->connect.details.conn.serverURIs[m->connect.details.conn.currentURI];
else
data.alt.connect.serverURI = m->serverURI;
data.alt.connect.MQTTVersion = m->connect.details.conn.MQTTVersion;
data.alt.connect.sessionPresent = ((Connack*)pack)->flags.bits.sessionPresent;
(*(m->connect.onSuccess))(m->connect.context, &data);
} }
} }
else else
......
...@@ -158,6 +158,10 @@ ...@@ -158,6 +158,10 @@
* MQTT version to connect with: 3.1.1 * MQTT version to connect with: 3.1.1
*/ */
#define MQTTVERSION_3_1_1 4 #define MQTTVERSION_3_1_1 4
/**
* Bad return code from subscribe, as defined in the 3.1.1 specification
*/
#define MQTT_BAD_SUBSCRIBE 0x80
/** /**
* A handle representing an MQTT client. A valid client handle is available * A handle representing an MQTT client. A valid client handle is available
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment