More work on aqhome-react service.

This commit is contained in:
Martin Preuss
2024-03-25 23:18:18 +01:00
parent 02d12b4209
commit 50bdefcb4a
16 changed files with 725 additions and 34 deletions

View File

@@ -157,6 +157,26 @@ void AQHREACT_Param_SubFlags(AQHREACT_PARAM *param, uint32_t f)
AQHREACT_PARAM *AQHREACT_Param_List_GetParamByName(const AQHREACT_PARAM_LIST *paramList, const char *paramName)
{
if (paramList && paramName && *paramName) {
AQHREACT_PARAM *param;
param=AQHREACT_Param_List_First(paramList);
while(param) {
const char *s;
s=AQHREACT_Param_GetName(param);
if (s && *s && strcasecmp(paramName, s)==0)
return param;
param=AQHREACT_Param_List_Next(param);
}
}
return NULL;
}

View File

@@ -42,6 +42,7 @@ void AQHREACT_Param_SetFlags(AQHREACT_PARAM *param, uint32_t f);
void AQHREACT_Param_AddFlags(AQHREACT_PARAM *param, uint32_t f);
void AQHREACT_Param_SubFlags(AQHREACT_PARAM *param, uint32_t f);
AQHREACT_PARAM *AQHREACT_Param_List_GetParamByName(const AQHREACT_PARAM_LIST *paramList, const char *paramName);
#endif

View File

@@ -28,6 +28,7 @@ AQHREACT_UNIT_NET *AQHREACT_UnitNet_new(void)
GWEN_LIST_INIT(AQHREACT_UNIT_NET, unitNet);
unitNet->unitList=AQHREACT_Unit_List_new();
unitNet->paramList=AQHREACT_Param_List_new();
return unitNet;
}
@@ -38,6 +39,7 @@ void AQHREACT_UnitNet_free(AQHREACT_UNIT_NET *unitNet)
{
if (unitNet) {
GWEN_LIST_FINI(AQHREACT_UNIT_NET, unitNet);
AQHREACT_Param_List_free(unitNet->paramList);
AQHREACT_Unit_List_free(unitNet->unitList);
GWEN_FREE_OBJECT(unitNet);
}
@@ -84,6 +86,41 @@ void AQHREACT_UnitNet_AddUnit(AQHREACT_UNIT_NET *unitNet, AQHREACT_UNIT *unit)
AQHREACT_PARAM_LIST *AQHREACT_UnitNet_GetParamList(const AQHREACT_UNIT_NET *unitNet)
{
return unitNet?unitNet->paramList:NULL;
}
void AQHREACT_UnitNet_AddParam(AQHREACT_UNIT_NET *unitNet, AQHREACT_PARAM *param)
{
if (unitNet)
AQHREACT_Param_List_Add(param, unitNet->paramList);
}
AQHREACT_PARAM *AQHREACT_UnitNet_GetParamByName(const AQHREACT_UNIT_NET *unitNet, const char *paramName)
{
if (unitNet && unitNet->paramList && paramName && *paramName) {
AQHREACT_PARAM *param;
param=AQHREACT_Param_List_First(unitNet->paramList);
while(param) {
const char *s;
s=AQHREACT_Param_GetName(param);
if (s && *s && strcasecmp(paramName, s)==0)
return param;
param=AQHREACT_Param_List_Next(param);
}
}
return NULL;
}
AQHREACT_UNIT_NET *AQHREACT_UnitNet_List_GetByName(const AQHREACT_UNIT_NET_LIST *unitNetList, const char *name)
{
if (unitNetList && name && *name) {

View File

@@ -18,6 +18,7 @@ GWEN_LIST_FUNCTION_DEFS(AQHREACT_UNIT_NET, AQHREACT_UnitNet)
#include "aqhome-react/aqhome_react.h"
#include "aqhome-react/types/param.h"
AQHREACT_UNIT_NET *AQHREACT_UnitNet_new(void);
@@ -30,6 +31,11 @@ AQHREACT_UNIT_LIST *AQHREACT_UnitNet_GetUnitList(const AQHREACT_UNIT_NET *unitNe
AQHREACT_UNIT *AQHREACT_UnitNet_GetUnitById(const AQHREACT_UNIT_NET *unitNet, const char *s);
void AQHREACT_UnitNet_AddUnit(AQHREACT_UNIT_NET *unitNet, AQHREACT_UNIT *unit);
AQHREACT_PARAM_LIST *AQHREACT_UnitNet_GetParamList(const AQHREACT_UNIT_NET *unitNet);
void AQHREACT_UnitNet_AddParam(AQHREACT_UNIT_NET *unitNet, AQHREACT_PARAM *param);
AQHREACT_PARAM *AQHREACT_UnitNet_GetParamByName(const AQHREACT_UNIT_NET *unitNet, const char *paramName);
AQHREACT_UNIT_NET *AQHREACT_UnitNet_List_GetByName(const AQHREACT_UNIT_NET_LIST *unitNetList, const char *name);

View File

@@ -18,6 +18,7 @@ struct AQHREACT_UNIT_NET {
char *name;
AQHREACT_UNIT_LIST *unitList;
AQHREACT_PARAM_LIST *paramList;
};