Simplified IPC code to use less different IPC messages. Share more code. More qork on MQTT code.

This commit is contained in:
Martin Preuss
2023-10-01 21:31:02 +02:00
parent 0f896c1729
commit 1e27223dfa
50 changed files with 1326 additions and 698 deletions

View File

@@ -176,34 +176,36 @@ int _doGetValues(GWEN_DB_NODE *dbArgs)
}
code=GWEN_IpcMsg_GetCode(msg);
if (code==AQH_MSGTYPE_IPC_DATA_GETVALUES_RSP) {
if (AQH_ValuesDataIpcMsg_IsValid(msg)) {
uint32_t numValues;
uint32_t i;
AQH_VALUE_LIST *valueList;
numValues=AQH_ValuesDataIpcMsg_GetNumValues(msg);
for(i=0; i<numValues; i++) {
AQH_ValuesDataIpcMsg_Parse(msg, 0);
valueList=AQH_ValuesDataIpcMsg_ReadValueList(msg);
if (valueList) {
AQH_VALUE *v;
v=AQH_Value_List_First(valueList);
while(v) {
uint64_t valueId;
const char *valueName;
const char *valueUnits;
valueId=AQH_ValuesDataIpcMsg_GetValueId(msg, i);
valueName=AQH_ValuesDataIpcMsg_GetValueName(msg, i);
valueUnits=AQH_ValuesDataIpcMsg_GetValueUnits(msg, i);
valueId=AQH_Value_GetId(v);
valueName=AQH_Value_GetNameForSystem(v);
valueUnits=AQH_Value_GetValueUnits(v);
fprintf(stdout, "%lu\t%s\t%s\n",
(unsigned long int) valueId,
valueName?valueName:"",
valueUnits?valueUnits:"");
v=AQH_Value_List_Next(v);
}
if (AQH_ValuesDataIpcMsg_GetFlags(msg) & AQH_MSGDATA_VALUES_FLAGS_LASTMSG) {
DBG_INFO(NULL, "Last message received");
break;
}
AQH_Value_List_free(valueList);
}
else {
DBG_ERROR(NULL, "Invalid message received");
GWEN_MsgEndpoint_free(epTcp);
return 3;
if (AQH_ValuesDataIpcMsg_GetFlags(msg) & AQH_MSGDATA_VALUES_FLAGS_LASTMSG) {
DBG_INFO(NULL, "Last message received");
break;
}
}
else if (code==AQH_MSGTYPE_IPC_DATA_RESULT) {