--- mqtt/src/Attic/mqtt.c 2011/11/25 15:29:30 1.1.1.1.2.16 +++ mqtt/src/Attic/mqtt.c 2011/12/08 17:02:25 1.1.1.1.2.19 @@ -11,6 +11,7 @@ main(int argc, char **argv) sqlite3 *acc = NULL, *pub = NULL; FILE *logg = NULL; int ret = 0; + mqtt_subscr_t *s, *p; if (LoadConfig("/etc/mqtt.conf", &cfg)) { printf("Error:: Load config #%d - %s\n", cfg_GetErrno(), cfg_GetError()); @@ -57,41 +58,54 @@ main(int argc, char **argv) } else call.LOG(logg, "Login: %s\n", ret ? "ALLOW" : "DENIED"); - if ((ret = call.InitSessPUB(&cfg, pub, "misho", "127.0.0.1", 12345)) == -1) { + if ((ret = call.InitSessPUB(&cfg, pub, "misho", "doophenschmerz", "127.0.0.1", 12345, 1, + "Topic43", "mmm", 2, 0)) == -1) { printf("Error:: Session init problem\n"); goto end; } else call.LOG(logg, "InitSess: %d\n", ret); - if ((ret = call.ChkSessPUB(&cfg, pub, "misho", "127.0._.%")) == -1) { + if ((ret = call.ChkSessPUB(&cfg, pub, "misho", "doophenschmerz", "127.0._.%")) == -1) { printf("Error:: Session check problem\n"); goto end; } else call.LOG(logg, "ChkSess: %d\n", ret); - if ((ret = call.DeletePUB(&cfg, pub, "%", "%", "%", -1)) == -1) { + if ((ret = call.DeletePUB(&cfg, pub, 10, "%", "%", "%", -1)) == -1) { printf("Error:: Clear problem\n"); goto end; } else call.LOG(logg, "Clear: %d\n", ret); - if ((ret = call.WritePUB(&cfg, pub, "oho/boho", "MRYN \n tryn brymbryn", "misho", "1.1.1.1", 1)) == -1) { + if ((ret = call.WritePUB(&cfg, pub, 10, "oho/boho", "MRYN \n tryn brymbryn", "misho", "1.1.1.1", 1)) == -1) { printf("Error:: Publish problem\n"); goto end; } else call.LOG(logg, "Publish: %d\n", ret); - if ((ret = call.WritePUB(&cfg, pub, "boh", "testing", "misho", "1.1.1.2", 0)) == -1) { + if ((ret = call.WritePUB(&cfg, pub, 11, "boh", "testing", "misho", "1.1.1.2", 0)) == -1) { printf("Error:: Publish problem\n"); goto end; } else call.LOG(logg, "Publish: %d\n", ret); - if ((ret = call.DeletePUB(&cfg, pub, "boh", "misho", "1.1.1._", 0)) == -1) { + if (!(s = call.ReadPUB(&cfg, pub, 10, "%", -1))) { + printf("Error:: Subscribe problem\n"); + goto end; + } else { + call.LOG(logg, "Subscribe: %p\n", s); + for (p = s; p->sub_topic._base; p++) { + printf("Retain=%d Topic(%d)=%s Value(%d)=%s\n", p->sub_ret, + p->sub_topic._size, p->sub_topic._base, + p->sub_value._size, p->sub_value._base); + } + mqtt_subFree(&s); + } + if ((ret = call.DeletePUB(&cfg, pub, 11, "boh", "misho", "1.1.1._", 0)) == -1) { printf("Error:: Delete problem\n"); goto end; } else call.LOG(logg, "Delete: %d\n", ret); - if ((ret = call.FiniSessPUB(&cfg, pub, "misho", "127.0._.1%")) == -1) { + if ((ret = call.FiniSessPUB(&cfg, pub, "misho", "doophenschmerz", "127.0._.1%")) == -1) { printf("Error:: Session fini problem\n"); goto end; } else