--- mqtt/src/Attic/mqtt.c 2011/11/07 08:47:16 1.1.1.1 +++ mqtt/src/Attic/mqtt.c 2011/11/24 16:00:31 1.1.1.1.2.15 @@ -1,8 +1,87 @@ #include "global.h" +#include "rtlm.h" +sl_config cfg; + + int main(int argc, char **argv) { + sqlite3 *acc = NULL, *pub = NULL; + FILE *logg = NULL; + int ret = 0; + + if (LoadConfig("/etc/mqtt.conf", &cfg)) { + printf("Error:: Load config #%d - %s\n", cfg_GetErrno(), cfg_GetError()); + return 1; + } + if (!mqttLoadRTLM(&cfg, 0)) { + printf("Error:: Can't load RTL ACC module\n"); + UnloadConfig(&cfg); + 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", "127.0.0.1", 12345)) == -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) { + printf("Error:: Session check problem\n"); + goto end; + } else + call.LOG(logg, "ChkSess: %d\n", ret); + + if ((ret = call.FiniSessPUB(&cfg, pub, "misho", "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; }