|
|
@ -984,26 +984,27 @@ ControlObject_sendCommandTerminationPositive(ControlObject* self)
|
|
|
|
if (DEBUG_IED_SERVER)
|
|
|
|
if (DEBUG_IED_SERVER)
|
|
|
|
printf("IED_SERVER: send CommandTermination+: %s\n", itemId);
|
|
|
|
printf("IED_SERVER: send CommandTermination+: %s\n", itemId);
|
|
|
|
|
|
|
|
|
|
|
|
char* domainId = MmsDomain_getName(self->mmsDomain);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MmsVariableAccessSpecification varSpec;
|
|
|
|
MmsVariableAccessSpecification varSpec;
|
|
|
|
|
|
|
|
|
|
|
|
varSpec.itemId = itemId;
|
|
|
|
varSpec.itemId = itemId;
|
|
|
|
varSpec.domainId = domainId;
|
|
|
|
varSpec.domainId = MmsDomain_getName(self->mmsDomain);
|
|
|
|
|
|
|
|
|
|
|
|
LinkedList varSpecList = LinkedList_create();
|
|
|
|
struct sLinkedList _varSpecList1;
|
|
|
|
LinkedList values = LinkedList_create();
|
|
|
|
_varSpecList1.next = NULL;
|
|
|
|
|
|
|
|
struct sLinkedList _varSpecList;
|
|
|
|
|
|
|
|
_varSpecList.data = NULL;
|
|
|
|
|
|
|
|
_varSpecList.next = &_varSpecList1;
|
|
|
|
|
|
|
|
|
|
|
|
if ((varSpecList != NULL) && (values != NULL))
|
|
|
|
struct sLinkedList _values1;
|
|
|
|
{
|
|
|
|
_values1.next = NULL;
|
|
|
|
LinkedList_add(varSpecList, &varSpec);
|
|
|
|
struct sLinkedList _values;
|
|
|
|
LinkedList_add(values, self->oper);
|
|
|
|
_values.data = NULL;
|
|
|
|
|
|
|
|
_values.next = &_values1;
|
|
|
|
|
|
|
|
|
|
|
|
MmsServerConnection_sendInformationReportListOfVariables(self->mmsConnection, varSpecList, values, false);
|
|
|
|
_varSpecList1.data = &varSpec;
|
|
|
|
|
|
|
|
_values1.data = self->oper;
|
|
|
|
|
|
|
|
|
|
|
|
LinkedList_destroyStatic(varSpecList);
|
|
|
|
MmsServerConnection_sendInformationReportListOfVariables(self->mmsConnection, &_varSpecList, &_values, false);
|
|
|
|
LinkedList_destroyStatic(values);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
@ -1011,6 +1012,22 @@ ControlObject_sendCommandTerminationNegative(ControlObject* self)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
/* create LastApplError */
|
|
|
|
/* create LastApplError */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct sLinkedList _varSpecList2;
|
|
|
|
|
|
|
|
_varSpecList2.next = NULL;
|
|
|
|
|
|
|
|
struct sLinkedList _varSpecList1;
|
|
|
|
|
|
|
|
_varSpecList1.next = &_varSpecList2;
|
|
|
|
|
|
|
|
struct sLinkedList _varSpecList;
|
|
|
|
|
|
|
|
_varSpecList.data = NULL;
|
|
|
|
|
|
|
|
_varSpecList.next = &_varSpecList1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct sLinkedList _values2;
|
|
|
|
|
|
|
|
_values2.next = NULL;
|
|
|
|
|
|
|
|
struct sLinkedList _values1;
|
|
|
|
|
|
|
|
_values1.next = &_values2;
|
|
|
|
|
|
|
|
struct sLinkedList _values;
|
|
|
|
|
|
|
|
_values.data = NULL;
|
|
|
|
|
|
|
|
_values.next = &_values1;
|
|
|
|
|
|
|
|
|
|
|
|
MmsValue lastApplErrorMemory;
|
|
|
|
MmsValue lastApplErrorMemory;
|
|
|
|
|
|
|
|
|
|
|
|
MmsValue* lastApplError = &lastApplErrorMemory;
|
|
|
|
MmsValue* lastApplError = &lastApplErrorMemory;
|
|
|
@ -1061,24 +1078,18 @@ ControlObject_sendCommandTerminationNegative(ControlObject* self)
|
|
|
|
operVarSpec.itemId = itemId;
|
|
|
|
operVarSpec.itemId = itemId;
|
|
|
|
operVarSpec.domainId = domainId;
|
|
|
|
operVarSpec.domainId = domainId;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* create response */
|
|
|
|
/* create response */
|
|
|
|
|
|
|
|
|
|
|
|
if (DEBUG_IED_SERVER)
|
|
|
|
if (DEBUG_IED_SERVER)
|
|
|
|
printf("IED_SERVER: send CommandTermination-: %s\n", itemId);
|
|
|
|
printf("IED_SERVER: send CommandTermination-: %s\n", itemId);
|
|
|
|
|
|
|
|
|
|
|
|
LinkedList varSpecList = LinkedList_create();
|
|
|
|
_varSpecList1.data = &lastApplErrorVarSpec;
|
|
|
|
LinkedList values = LinkedList_create();
|
|
|
|
_varSpecList2.data = &operVarSpec;
|
|
|
|
|
|
|
|
|
|
|
|
LinkedList_add(varSpecList, &lastApplErrorVarSpec);
|
|
|
|
_values1.data = lastApplError;
|
|
|
|
LinkedList_add(varSpecList, &operVarSpec);
|
|
|
|
_values2.data = self->oper;
|
|
|
|
LinkedList_add(values, lastApplError);
|
|
|
|
|
|
|
|
LinkedList_add(values, self->oper);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MmsServerConnection_sendInformationReportListOfVariables(self->mmsConnection, varSpecList, values, false);
|
|
|
|
MmsServerConnection_sendInformationReportListOfVariables(self->mmsConnection, &_varSpecList, &_values, false);
|
|
|
|
|
|
|
|
|
|
|
|
LinkedList_destroyStatic(varSpecList);
|
|
|
|
|
|
|
|
LinkedList_destroyStatic(values);
|
|
|
|
|
|
|
|
} /* ControlObject_sendCommandTerminationNegative() */
|
|
|
|
} /* ControlObject_sendCommandTerminationNegative() */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1095,7 +1106,7 @@ ControlObject_sendLastApplError(ControlObject* self, MmsServerConnection connect
|
|
|
|
|
|
|
|
|
|
|
|
MmsValue* componentContainer[5];
|
|
|
|
MmsValue* componentContainer[5];
|
|
|
|
|
|
|
|
|
|
|
|
lastApplError->value.structure.components =componentContainer;
|
|
|
|
lastApplError->value.structure.components = componentContainer;
|
|
|
|
|
|
|
|
|
|
|
|
char ctlObj[130];
|
|
|
|
char ctlObj[130];
|
|
|
|
|
|
|
|
|
|
|
|