adapted to latest changes in gwen, more work on data and nodes servers.
This commit is contained in:
@@ -14,6 +14,8 @@
|
||||
#include "./init.h"
|
||||
#include "./aqhomed_p.h"
|
||||
#include "./tty_log.h"
|
||||
#include "./devicesread.h"
|
||||
#include "./devicesdump.h"
|
||||
|
||||
#include "aqhome/aqhome.h"
|
||||
#include "aqhome/msg/endpoint_tty.h"
|
||||
@@ -65,6 +67,7 @@ static void _setupBroker(AQHOMED *aqh, GWEN_DB_NODE *dbArgs);
|
||||
static GWEN_MSG_ENDPOINT *_acceptIpcFn(GWEN_MSG_ENDPOINT *ep, GWEN_SOCKET *sk, const GWEN_INETADDRESS *addr, void *data);
|
||||
static void _setupLog(AQHOMED *aqh, GWEN_DB_NODE *dbArgs);
|
||||
static void _setupDb(AQHOMED *aqh, GWEN_DB_NODE *dbArgs);
|
||||
static int _loadDeviceList(AQHOMED *aqh);
|
||||
|
||||
static int _readArgs(int argc, char **argv, GWEN_DB_NODE *dbArgs);
|
||||
static int _createPidFile(const char *pidFilename);
|
||||
@@ -113,6 +116,20 @@ int AqHomed_Init(AQHOMED *aqh, int argc, char **argv)
|
||||
|
||||
aqh->nodeAddress=GWEN_DB_GetIntValue(dbArgs, "nodeAddress", 0, AQHOMED_DEFAULT_NODEADDR);
|
||||
|
||||
rv=_loadDeviceList(aqh);
|
||||
if (rv<0) {
|
||||
DBG_ERROR(NULL, "Error loading device list(%d)", rv);
|
||||
return rv;
|
||||
}
|
||||
else {
|
||||
GWEN_BUFFER *dbuf;
|
||||
|
||||
dbuf=GWEN_Buffer_new(0, 256, 0, 1);
|
||||
AqHomeNodes_DumpDevices(aqh->deviceDefList, dbuf);
|
||||
fprintf(stdout, "%s\n", GWEN_Buffer_GetStart(dbuf));
|
||||
GWEN_Buffer_free(dbuf);
|
||||
}
|
||||
|
||||
_setupDb(aqh, dbArgs);
|
||||
|
||||
rv=_setupTty(aqh, dbArgs);
|
||||
@@ -220,9 +237,9 @@ void _setupBroker(AQHOMED *aqh, GWEN_DB_NODE *dbArgs)
|
||||
|
||||
|
||||
|
||||
GWEN_MSG_ENDPOINT *_acceptIpcFn(GWEN_MSG_ENDPOINT *ep,
|
||||
GWEN_MSG_ENDPOINT *_acceptIpcFn(GWEN_UNUSED GWEN_MSG_ENDPOINT *ep,
|
||||
GWEN_SOCKET *sk,
|
||||
const GWEN_INETADDRESS *addr,
|
||||
GWEN_UNUSED const GWEN_INETADDRESS *addr,
|
||||
GWEN_UNUSED void *data)
|
||||
{
|
||||
/* AQHOMED *aqh;
|
||||
@@ -258,7 +275,7 @@ void _setupDb(AQHOMED *aqh, GWEN_DB_NODE *dbArgs)
|
||||
AqHomed_SetDbFile(aqh, s);
|
||||
|
||||
dbNodeDb=GWEN_DB_Group_new("dbNodes");
|
||||
rv=GWEN_DB_ReadFile(dbNodeDb, s, GWEN_DB_FLAGS_DEFAULT);
|
||||
rv=GWEN_DB_ReadFile(dbNodeDb, s, GWEN_DB_FLAGS_DEFAULT|GWEN_PATH_FLAGS_CREATE_GROUP);
|
||||
if (rv==0) {
|
||||
AQH_NodeDb_fromDb(aqh->nodeDb, dbNodeDb);
|
||||
}
|
||||
@@ -268,6 +285,21 @@ void _setupDb(AQHOMED *aqh, GWEN_DB_NODE *dbArgs)
|
||||
|
||||
|
||||
|
||||
int _loadDeviceList(AQHOMED *aqh)
|
||||
{
|
||||
AQHNODE_DEVICE_LIST *deviceList;
|
||||
|
||||
deviceList=AqHomeNodes_ReadDataDeviceFiles();
|
||||
if (deviceList==NULL) {
|
||||
DBG_ERROR(NULL, "Error reading device list");
|
||||
return GWEN_ERROR_GENERIC;
|
||||
}
|
||||
aqh->deviceDefList=deviceList;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int _createPidFile(const char *pidFilename)
|
||||
{
|
||||
FILE *f;
|
||||
|
||||
Reference in New Issue
Block a user