aqhome-react: handle MULTI inputs, set input port flags.

This commit is contained in:
Martin Preuss
2024-04-20 02:03:32 +02:00
parent 88d049d68a
commit f083fb1c00

View File

@@ -693,11 +693,13 @@ int _linkFromThisModulesInput(AQHOME_REACT *aqh,
return GWEN_ERROR_NOT_FOUND; return GWEN_ERROR_NOT_FOUND;
} }
receivingPort=AQHREACT_Unit_GetInputPortByName(receivingUnit, receivingPortName); receivingPort=AQHREACT_Unit_GetOrCreateUnusedInputPortByName(receivingUnit, receivingPortName);
/*receivingPort=AQHREACT_Unit_GetInputPortByName(receivingUnit, receivingPortName);*/
if (receivingPort==NULL) { if (receivingPort==NULL) {
DBG_ERROR(NULL, "Input port \"%s\" not found for target unit \"%s\"", receivingPortName, receivingUnitName); DBG_ERROR(NULL, "Input port \"%s\" not found for target unit \"%s\"", receivingPortName, receivingUnitName);
return GWEN_ERROR_NOT_FOUND; return GWEN_ERROR_NOT_FOUND;
} }
AQHREACT_Port_AddFlags(receivingPort, AQHREACT_UNIT_FLAGS_INUSE);
link=AQHREACT_Link_new(); link=AQHREACT_Link_new();
AQHREACT_Link_SetTargetUnit(link, receivingUnit); AQHREACT_Link_SetTargetUnit(link, receivingUnit);
@@ -797,6 +799,7 @@ int _linkBetweenUnits(AQHOME_REACT *aqh,
DBG_ERROR(NULL, "Input port \"%s\" not found for target unit \"%s\"", receivingPortName, receivingUnitName); DBG_ERROR(NULL, "Input port \"%s\" not found for target unit \"%s\"", receivingPortName, receivingUnitName);
return GWEN_ERROR_NOT_FOUND; return GWEN_ERROR_NOT_FOUND;
} }
AQHREACT_Port_AddFlags(receivingPort, AQHREACT_UNIT_FLAGS_INUSE);
link=AQHREACT_Link_new(); link=AQHREACT_Link_new();
AQHREACT_Link_SetTargetUnit(link, receivingUnit); AQHREACT_Link_SetTargetUnit(link, receivingUnit);