version 1.1.1.1.2.3, 2011/11/21 12:47:15
|
version 1.1.1.1.2.19, 2011/12/08 17:02:25
|
Line 1
|
Line 1
|
#include "global.h" |
#include "global.h" |
|
#include "rtlm.h" |
|
|
|
|
|
sl_config cfg; |
|
|
|
|
int |
int |
main(int argc, char **argv) |
main(int argc, char **argv) |
{ |
{ |
mqtt_msg_t *m; | sqlite3 *acc = NULL, *pub = NULL; |
int i; | FILE *logg = NULL; |
| int ret = 0; |
| mqtt_subscr_t *s, *p; |
|
|
m = mqtt_msgAlloc(0); | if (LoadConfig("/etc/mqtt.conf", &cfg)) { |
printf("connect=%d/%d\n", m->msg_len, mqtt_msgCONNECT(m, "MRYN", "aaaaa", NULL, "bbb", NULL, 0, 0, 0)); | printf("Error:: Load config #%d - %s\n", cfg_GetErrno(), cfg_GetError()); |
for (i = 0; i < m->msg_len; i++) | return 1; |
printf("%d\n", ((u_char*) m->msg_base)[i]); | } |
printf("connack=%d/%d\n", m->msg_len, mqtt_msgCONNACK(m, 1)); | if (!mqttLoadRTLM(&cfg, 0)) { |
for (i = 0; i < m->msg_len; i++) | printf("Error:: Can't load RTL ACC module\n"); |
printf("%d\n", ((u_char*) m->msg_base)[i]); | UnloadConfig(&cfg); |
mqtt_msgFree(&m, 42); | return 2; |
| } |
| if (!mqttLoadRTLM(&cfg, 1)) { |
| printf("Error:: Can't load RTL PUB module\n"); |
| mqttUnloadRTLM(0); |
| UnloadConfig(&cfg); |
| return 2; |
| } |
| if (!mqttLoadRTLM(&cfg, 2)) { |
| printf("Error:: Can't load RTL LOG module\n"); |
| mqttUnloadRTLM(1); |
| mqttUnloadRTLM(0); |
| UnloadConfig(&cfg); |
| return 2; |
| } |
| |
| acc = call.OpenACC(&cfg); |
| if (!acc) |
| goto end; |
| pub = call.OpenPUB(&cfg); |
| if (!pub) |
| goto end; |
| logg = call.OpenLOG(&cfg); |
| if (!logg) |
| goto end; |
| |
| if (mqttMkDir(&cfg)) { |
| printf("Error:: in statedir #%d - %s\n", errno, strerror(errno)); |
| goto end; |
| } |
| |
| call.LOG(logg, "success!\n"); |
| if ((ret = call.LoginACC(&cfg, acc, "misho", "test123")) == -1) { |
| printf("Error:: Authentication problem\n"); |
| goto end; |
| } else |
| call.LOG(logg, "Login: %s\n", ret ? "ALLOW" : "DENIED"); |
| |
| 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", "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, 10, "%", "%", "%", -1)) == -1) { |
| printf("Error:: Clear problem\n"); |
| goto end; |
| } else |
| call.LOG(logg, "Clear: %d\n", ret); |
| |
| 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, 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 (!(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", "doophenschmerz", "127.0._.1%")) == -1) { |
| printf("Error:: Session fini problem\n"); |
| goto end; |
| } else |
| call.LOG(logg, "FiniSess: %d\n", ret); |
| |
| end: |
| call.CloseLOG(logg); |
| call.ClosePUB(pub); |
| call.CloseACC(acc); |
| mqttUnloadRTLM(2); |
| mqttUnloadRTLM(1); |
| mqttUnloadRTLM(0); |
| UnloadConfig(&cfg); |
return 0; |
return 0; |
} |
} |