From c62165cd9239c8a53c4bab7e422a4354cd10db7f Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Wed, 3 Apr 2024 21:58:34 +0200 Subject: [PATCH] aqhome-react: Unified function names. --- apps/aqhome-react/init.c | 2 +- apps/aqhome-react/main.c | 2 +- apps/aqhome-react/net_read.c | 76 +++++++++++++++++++++--------------- apps/aqhome-react/net_read.h | 4 +- 4 files changed, 49 insertions(+), 35 deletions(-) diff --git a/apps/aqhome-react/init.c b/apps/aqhome-react/init.c index ef67d53..464f93f 100644 --- a/apps/aqhome-react/init.c +++ b/apps/aqhome-react/init.c @@ -120,7 +120,7 @@ void AqHomeReact_ReloadUnitNets(AQHOME_REACT *aqh) _setupBuiltinUnits(aqh); - unitNetList=AQHREACT_ReadUnitNetFiles(aqh); + unitNetList=AQHomeReact_ReadUnitNetFiles(aqh); if (unitNetList) { AQHREACT_UnitNet_List_free(aqh->unitNetList); aqh->unitNetList=unitNetList; diff --git a/apps/aqhome-react/main.c b/apps/aqhome-react/main.c index e43bfca..a1f01a6 100644 --- a/apps/aqhome-react/main.c +++ b/apps/aqhome-react/main.c @@ -182,7 +182,7 @@ void _serve(AQHOME_REACT *aqh) time_t t; DBG_INFO(NULL, "Checking network files"); - tNew=AQHREACT_GetNewestUnitNetFiletime(aqh); + tNew=AQHomeReact_GetNewestUnitNetFiletime(aqh); t=AqHomeReact_GetLatestNetworkFileTime(aqh); if (tNew && tNew>t) { DBG_INFO(NULL, "Reloading network files"); diff --git a/apps/aqhome-react/net_read.c b/apps/aqhome-react/net_read.c index dadd6f7..60a7bcf 100644 --- a/apps/aqhome-react/net_read.c +++ b/apps/aqhome-react/net_read.c @@ -32,6 +32,7 @@ * ------------------------------------------------------------------------------------------------ */ +static time_t _getNewestFiletimeFromFileList(const AQHOME_REACT *aqh, const GWEN_STRINGLIST *sl); static AQHREACT_UNIT_NET_LIST *_readUnitNetFiles(AQHOME_REACT *aqh, const GWEN_STRINGLIST *sl); static int _readAllNetworksFromFileIntoList(AQHOME_REACT *aqh, const char *sFilename, AQHREACT_UNIT_NET_LIST *unitNetList); static GWEN_XMLNODE *_readNetworkFromSysconfIntoXml(AQHOME_REACT *aqh, const char *networkName); @@ -55,47 +56,26 @@ static int _setParamDoubleValueFromString(AQHREACT_PARAM *param, const char *s); */ -time_t AQHREACT_GetNewestUnitNetFiletime(const AQHOME_REACT *aqh) +time_t AQHomeReact_GetNewestUnitNetFiletime(const AQHOME_REACT *aqh) { GWEN_STRINGLIST *sl; - time_t resultTime=0; + time_t t1; + time_t t2; sl=AQH_GetListOfMatchingDataFiles("aqhome/react/networks", "*.xml"); - if (sl) { - GWEN_STRINGLISTENTRY *se; - - se=GWEN_StringList_FirstEntry(sl); - while(se) { - const char *s; - - s=GWEN_StringListEntry_Data(se); - if (s && *s) { - struct stat sb; + t1=_getNewestFiletimeFromFileList(aqh, sl); + GWEN_StringList_free(sl); - if (stat(s, &sb)==0) { - time_t t; + sl=AQH_GetListOfMatchingSysconfFiles("aqhome/react/networks", "*.xml"); + t2=_getNewestFiletimeFromFileList(aqh, sl); + GWEN_StringList_free(sl); - t=sb.st_mtim.tv_sec; - if (t>resultTime) - resultTime=t; - } - else { - DBG_WARN(NULL, "Error on stat(%s): %s (%d)", s, strerror(errno), errno); - } - } - se=GWEN_StringListEntry_Next(se); - } - } - else { - DBG_ERROR(NULL, "No unit network files"); - } - - return resultTime; + return (t1>t2)?t1:t2; } -AQHREACT_UNIT_NET_LIST *AQHREACT_ReadUnitNetFiles(AQHOME_REACT *aqh) +AQHREACT_UNIT_NET_LIST *AQHomeReact_ReadUnitNetFiles(AQHOME_REACT *aqh) { GWEN_STRINGLIST *sl; @@ -119,6 +99,40 @@ AQHREACT_UNIT_NET_LIST *AQHREACT_ReadUnitNetFiles(AQHOME_REACT *aqh) +time_t _getNewestFiletimeFromFileList(const AQHOME_REACT *aqh, const GWEN_STRINGLIST *sl) +{ + time_t resultTime=0; + + if (sl) { + GWEN_STRINGLISTENTRY *se; + + se=GWEN_StringList_FirstEntry(sl); + while(se) { + const char *s; + + s=GWEN_StringListEntry_Data(se); + if (s && *s) { + struct stat sb; + + if (stat(s, &sb)==0) { + time_t t; + + t=sb.st_mtim.tv_sec; + if (t>resultTime) + resultTime=t; + } + else { + DBG_WARN(NULL, "Error on stat(%s): %s (%d)", s, strerror(errno), errno); + } + } + se=GWEN_StringListEntry_Next(se); + } + } + return resultTime; +} + + + GWEN_XMLNODE *_readNetworkFromSysconfIntoXml(AQHOME_REACT *aqh, const char *networkName) { GWEN_XMLNODE *n; diff --git a/apps/aqhome-react/net_read.h b/apps/aqhome-react/net_read.h index 4273bc3..219342b 100644 --- a/apps/aqhome-react/net_read.h +++ b/apps/aqhome-react/net_read.h @@ -13,9 +13,9 @@ #include "./aqhome_react.h" -AQHREACT_UNIT_NET_LIST *AQHREACT_ReadUnitNetFiles(AQHOME_REACT *aqh); +AQHREACT_UNIT_NET_LIST *AQHomeReact_ReadUnitNetFiles(AQHOME_REACT *aqh); -time_t AQHREACT_GetNewestUnitNetFiletime(const AQHOME_REACT *aqh); +time_t AQHomeReact_GetNewestUnitNetFiletime(const AQHOME_REACT *aqh); #endif