Annotation of mqtt/src/dbmqtt.c, revision 1.1.2.3
1.1.2.1 misho 1: #include "global.h"
1.1.2.2 misho 2: #include "dbmqtt.h"
1.1.2.1 misho 3:
4:
5: /* ------------------------------------------------------------------- */
6:
1.1.2.2 misho 7: /*
8: * mqtt_db_open() Open database connection
9: *
10: * @csCfgName = config filename
11: * @modtype = RTL module type, 0== mqtt_acc or !=0 mqtt_pub
12: * return: NULL error or SQL handle
13: */
14: sqlite3 *
15: mqtt_db_open(sl_config *cfg, int modtype)
16: {
17: sqlite3 *sql = NULL;
1.1.2.3 ! misho 18: const char *str = NULL;
1.1.2.2 misho 19:
20: if (!cfg)
21: return NULL;
22:
1.1.2.3 ! misho 23: str = (const char*) cfg_GetAttribute(cfg, (modtype ? CFG("mqtt_pub") : CFG("mqtt_acc")), CFG("name"));
1.1.2.2 misho 24: if (!str) {
25: mqtt_db_log("Error:: Unknown database name ...\n");
26: return NULL;
27: }
28:
29: if (sqlite3_open_v2(str, &sql, modtype ? SQLITE_OPEN_READWRITE : SQLITE_OPEN_READONLY, NULL)) {
30: MQTT_DB_LOG(sql);
31: sqlite3_close(sql);
32: return NULL;
33: }
34:
35: return sql;
36: }
37:
38: /*
39: * mqtt_db_close() Close database connection
40: *
41: * @sql = SQL handle
42: * return: none
43: */
44: void
45: mqtt_db_close(sqlite3 *sql)
46: {
47: sqlite3_close(sql);
48: }
49:
50: /*
51: * mqtt_db_log() Log database connection message
52: *
53: * @fmt = format string
54: * @... = argument list
55: * return: none
56: */
57: void
58: mqtt_db_log(const char *fmt, ...)
59: {
60: va_list lst;
61:
62: va_start(lst, fmt);
63: vsyslog(LOG_ERR, fmt, lst);
64: va_end(lst);
65: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>