Diff for /mqtt/src/Attic/mqtt.c between versions 1.1.1.1.2.14 and 1.1.1.1.2.20

version 1.1.1.1.2.14, 2011/11/24 15:34:18 version 1.1.1.1.2.20, 2011/12/12 09:24:25
Line 1 Line 1
 #include "global.h"  #include "global.h"
 #include "rtlm.h"  #include "rtlm.h"
   #include "mqtt.h"
   
   
 sl_config cfg;  sl_config cfg;
   sqlite3 *acc, *pub;
   FILE *logg;
   extern char compiled[], compiledby[], compilehost[];
   static char szCfgName[MAXPATHLEN];
   int Verbose, Kill;
   
   char szPublish[STRSIZ];
   
   
   static void
   Usage(void)
   {
           printf( " -= MQTT Client =- Publisher/Subscriber from ELWIX\n"
                   "=== %s@%s === Compiled: %s ===\n\n"
                   " Syntax: mqtt [options] <connect_to_broker[:port]> [value_for_publish]\n\n"
                   "\t-p <topic>\tPublish topic\n"
                   "\t-s <topic>\tSubscribe for this topic\n"
                   "\t-q <QoS>\tQoS level (0-at most 1, 1-at least 1, 2-explicit 1)\n"
                   "\t-d\t\tSend duplicate message\n"
                   "\t-r\t\tRetain message from broker\n"
                   "\t-c <config>\tService config\n"
                   "\t-f\t\t'value_for_publish' is file instead text\n"
                   "\t-D\t\tDaemon mode\n"
                   "\t-v\t\tVerbose (more -vvv, more verbose)\n"
                   "\t-h\t\tHelp! This screen\n\n", 
                   compiledby, compilehost, compiled);
   }
   
   
 int  int
 main(int argc, char **argv)  main(int argc, char **argv)
 {  {
        sqlite3 *acc = NULL, *pub = NULL;        char ch, batch = 1, szStr[STRSIZ] = { 0 };
        FILE *logg = NULL; 
        int ret = 0; 
   
        if (LoadConfig("/etc/mqtt.conf", &cfg)) {        strlcpy(szCfgName, DEFAULT_CONFIG, sizeof szCfgName);
                printf("Error:: Load config #%d - %s\n", cfg_GetErrno(), cfg_GetError());        while ((ch = getopt(argc, argv, "p:s:q:drc:fDvh")) != -1)
                 switch (ch) {
                         case 'p':
                                 break;
                         case 's':
                                 break;
                         case 'q':
                                 break;
                         case 'd':
                                 break;
                         case 'r':
                                 break;
                         case 'f':
                                 break;
                         case 'c':
                                 strlcpy(szCfgName, optarg, sizeof szCfgName);
                                 break;
                         case 'D':
                                 batch = 0;
                                 break;
                         case 'v':
                                 Verbose++;
                                 break;
                         case 'h':
                         default:
                                 Usage();
                                 return 1;
                 }
         argc -= optind;
         argv += optind;
 
         if (LoadConfig(szCfgName, &cfg)) {
                 printf("Error:: can't load #%d - %s\n", cfg_GetErrno(), cfg_GetError());
                 return 1;                  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%")) == -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);          UnloadConfig(&cfg);
         return 0;          return 0;
 }  }

Removed from v.1.1.1.1.2.14  
changed lines
  Added in v.1.1.1.1.2.20


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>