File:  [ELWIX - Embedded LightWeight unIX -] / mqtt / example / Attic / rtlm.c
Revision 1.1.2.1: download - view: text, annotated - select for diffs - revision graph
Mon Dec 12 09:24:24 2011 UTC (12 years, 6 months ago) by misho
Branches: mqtt1_0
start client development

/*
 * Test sequence for RTLM SQL modules
 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <aitmqtt.h>

#if 0
	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());
		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", "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);
#endif

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