From e94418ebceaf0723f5bbc109f66866e41ea9d9fa Mon Sep 17 00:00:00 2001 From: Ian Craggs Date: Fri, 7 Sep 2018 12:06:42 +0100 Subject: [PATCH] Update samples for latest API changes --- src/samples/paho_c_pub.c | 2 ++ src/samples/paho_c_sub.c | 9 +++++++-- src/samples/paho_cs_pub.c | 20 ++++++++++++++++++-- src/samples/paho_cs_sub.c | 16 +++++++++++++--- 4 files changed, 40 insertions(+), 7 deletions(-) diff --git a/src/samples/paho_c_pub.c b/src/samples/paho_c_pub.c index 05b77334..5d92b173 100644 --- a/src/samples/paho_c_pub.c +++ b/src/samples/paho_c_pub.c @@ -346,6 +346,8 @@ int main(int argc, char** argv) } create_opts.sendWhileDisconnected = 1; + if (opts.MQTTVersion >= MQTTVERSION_5) + create_opts.MQTTVersion = MQTTVERSION_5; rc = MQTTAsync_createWithOptions(&client, url, opts.clientid, MQTTCLIENT_PERSISTENCE_NONE, NULL, &create_opts); if (rc != MQTTASYNC_SUCCESS) { diff --git a/src/samples/paho_c_sub.c b/src/samples/paho_c_sub.c index d2b75524..7fa82dc7 100644 --- a/src/samples/paho_c_sub.c +++ b/src/samples/paho_c_sub.c @@ -201,6 +201,7 @@ int main(int argc, char** argv) { MQTTAsync client; MQTTAsync_disconnectOptions disc_opts = MQTTAsync_disconnectOptions_initializer; + MQTTAsync_createOptions create_opts = MQTTAsync_createOptions_initializer; MQTTAsync_willOptions will_opts = MQTTAsync_willOptions_initializer; MQTTAsync_SSLOptions ssl_opts = MQTTAsync_SSLOptions_initializer; int rc = 0; @@ -237,7 +238,10 @@ int main(int argc, char** argv) MQTTAsync_setTraceLevel(opts.tracelevel); } - rc = MQTTAsync_create(&client, url, opts.clientid, MQTTCLIENT_PERSISTENCE_NONE, NULL); + if (opts.MQTTVersion >= MQTTVERSION_5) + create_opts.MQTTVersion = MQTTVERSION_5; + rc = MQTTAsync_createWithOptions(&client, url, opts.clientid, MQTTCLIENT_PERSISTENCE_NONE, + NULL, &create_opts); if (rc != MQTTASYNC_SUCCESS) { if (!opts.quiet) @@ -271,14 +275,15 @@ int main(int argc, char** argv) conn_opts = conn_opts5; conn_opts.onSuccess5 = onConnect5; conn_opts.onFailure5 = onConnectFailure5; + conn_opts.cleanstart = 1; } else { conn_opts.onSuccess = onConnect; conn_opts.onFailure = onConnectFailure; + conn_opts.cleansession = 1; } conn_opts.keepAliveInterval = opts.keepalive; - conn_opts.cleansession = 1; conn_opts.username = opts.username; conn_opts.password = opts.password; conn_opts.MQTTVersion = opts.MQTTVersion; diff --git a/src/samples/paho_cs_pub.c b/src/samples/paho_cs_pub.c index 2e6bdc1c..e5d627a0 100644 --- a/src/samples/paho_cs_pub.c +++ b/src/samples/paho_cs_pub.c @@ -114,7 +114,7 @@ int myconnect(MQTTClient* client) if (opts.verbose && rc == MQTTCLIENT_SUCCESS) printf("Connected\n"); else if (rc != MQTTCLIENT_SUCCESS && !opts.quiet) - fprintf(stderr, "Connect failed with rc %d\n", rc); + fprintf(stderr, "Connect failed return code: %s\n", MQTTClient_strerror(rc)); return rc; } @@ -137,6 +137,7 @@ int main(int argc, char** argv) { MQTTClient client; MQTTProperties pub_props = MQTTProperties_initializer; + MQTTClient_createOptions createOpts = MQTTClient_createOptions_initializer; char* buffer = NULL; int rc = 0; char* url; @@ -169,7 +170,16 @@ int main(int argc, char** argv) MQTTClient_setTraceLevel(opts.tracelevel); } - rc = MQTTClient_create(&client, url, opts.clientid, MQTTCLIENT_PERSISTENCE_NONE, NULL); + if (opts.MQTTVersion >= MQTTVERSION_5) + createOpts.MQTTVersion = MQTTVERSION_5; + rc = MQTTClient_createWithOptions(&client, url, opts.clientid, MQTTCLIENT_PERSISTENCE_NONE, + NULL, &createOpts); + if (rc != MQTTCLIENT_SUCCESS) + { + if (!opts.quiet) + fprintf(stderr, "Failed to create client, return code: %s\n", MQTTClient_strerror(rc)); + exit(EXIT_FAILURE); + } #if defined(WIN32) signal(SIGINT, cfinish); @@ -184,6 +194,12 @@ int main(int argc, char** argv) #endif rc = MQTTClient_setCallbacks(client, NULL, NULL, messageArrived, NULL); + if (rc != MQTTCLIENT_SUCCESS) + { + if (!opts.quiet) + fprintf(stderr, "Failed to set callbacks, return code: %s\n", MQTTClient_strerror(rc)); + exit(EXIT_FAILURE); + } if (myconnect(client) != MQTTCLIENT_SUCCESS) goto exit; diff --git a/src/samples/paho_cs_sub.c b/src/samples/paho_cs_sub.c index d48ba15a..dbe1bf00 100644 --- a/src/samples/paho_cs_sub.c +++ b/src/samples/paho_cs_sub.c @@ -112,7 +112,7 @@ int myconnect(MQTTClient* client) if (opts.verbose && rc == MQTTCLIENT_SUCCESS) fprintf(stderr, "Connected\n"); else if (rc != MQTTCLIENT_SUCCESS && !opts.quiet) - fprintf(stderr, "Connect failed with rc %d\n", rc); + fprintf(stderr, "Connect failed return code: %s\n", MQTTClient_strerror(rc)); return rc; } @@ -135,6 +135,7 @@ int main(int argc, char** argv) { MQTTClient client; MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer; + MQTTClient_createOptions createOpts = MQTTClient_createOptions_initializer; int rc = 0; char* url; const char* version = NULL; @@ -169,7 +170,16 @@ int main(int argc, char** argv) MQTTClient_setTraceLevel(opts.tracelevel); } - rc = MQTTClient_create(&client, url, opts.clientid, MQTTCLIENT_PERSISTENCE_NONE, NULL); + if (opts.MQTTVersion >= MQTTVERSION_5) + createOpts.MQTTVersion = MQTTVERSION_5; + rc = MQTTClient_createWithOptions(&client, url, opts.clientid, MQTTCLIENT_PERSISTENCE_NONE, + NULL, &createOpts); + if (rc != MQTTCLIENT_SUCCESS) + { + if (!opts.quiet) + fprintf(stderr, "Failed to create client, return code: %s\n", MQTTClient_strerror(rc)); + exit(EXIT_FAILURE); + } #if defined(WIN32) signal(SIGINT, cfinish); @@ -194,7 +204,7 @@ int main(int argc, char** argv) } else rc = MQTTClient_subscribe(client, opts.topic, opts.qos); - if (rc != MQTTCLIENT_SUCCESS) + if (rc != MQTTCLIENT_SUCCESS && rc != opts.qos) { if (!opts.quiet) fprintf(stderr, "Error %d subscribing to topic %s\n", rc, opts.topic);