- MMS client: delete named variable list service supports VMD specific lists

pull/37/head
Michael Zillgith 8 years ago
parent 3b941ca577
commit ba985ec2b0

@ -57,14 +57,17 @@ mmsClient_createDeleteNamedVariableListRequest(long invokeId, ByteBuffer* writeB
if (domainId != NULL) { if (domainId != NULL) {
request->listOfVariableListName->list.array[0]->present = ObjectName_PR_domainspecific; request->listOfVariableListName->list.array[0]->present = ObjectName_PR_domainspecific;
request->listOfVariableListName->list.array[0]->choice.domainspecific.domainId.size = strlen(domainId); request->listOfVariableListName->list.array[0]->choice.domainspecific.domainId.size = strlen(domainId);
request->listOfVariableListName->list.array[0]->choice.domainspecific.domainId.buf = (uint8_t*) StringUtils_copyString(domainId); request->listOfVariableListName->list.array[0]->choice.domainspecific.domainId.buf =
(uint8_t*) StringUtils_copyString(domainId);
request->listOfVariableListName->list.array[0]->choice.domainspecific.itemId.size = strlen(listNameId); request->listOfVariableListName->list.array[0]->choice.domainspecific.itemId.size = strlen(listNameId);
request->listOfVariableListName->list.array[0]->choice.domainspecific.itemId.buf = (uint8_t*) StringUtils_copyString(listNameId); request->listOfVariableListName->list.array[0]->choice.domainspecific.itemId.buf =
(uint8_t*) StringUtils_copyString(listNameId);
} }
else { else {
request->listOfVariableListName->list.array[0]->present = ObjectName_PR_vmdspecific; request->listOfVariableListName->list.array[0]->present = ObjectName_PR_vmdspecific;
request->listOfVariableListName->list.array[0]->choice.vmdspecific.size = strlen(listNameId); request->listOfVariableListName->list.array[0]->choice.vmdspecific.size = strlen(listNameId);
request->listOfVariableListName->list.array[0]->choice.vmdspecific.buf = (uint8_t*) StringUtils_copyString(listNameId); request->listOfVariableListName->list.array[0]->choice.vmdspecific.buf =
(uint8_t*) StringUtils_copyString(listNameId);
} }
request->scopeOfDelete = (INTEGER_t*) GLOBAL_CALLOC(1, sizeof(INTEGER_t)); request->scopeOfDelete = (INTEGER_t*) GLOBAL_CALLOC(1, sizeof(INTEGER_t));
@ -220,11 +223,25 @@ parseNamedVariableAttributes(GetNamedVariableListAttributesResponse_t* response,
LinkedList attributes = LinkedList_create(); LinkedList attributes = LinkedList_create();
for (i = 0; i < attributesCount; i++) { for (i = 0; i < attributesCount; i++) {
char* domainId = mmsMsg_createStringFromAsnIdentifier(response->listOfVariable.list.array[i]->
char* domainId;
char* itemId;
if (response->listOfVariable.list.array[i]->variableSpecification.choice.name.present == ObjectName_PR_vmdspecific) {
domainId = NULL;
itemId = mmsMsg_createStringFromAsnIdentifier(response->listOfVariable.list.array[i]->
variableSpecification.choice.name.choice.vmdspecific);
}
else {
domainId = mmsMsg_createStringFromAsnIdentifier(response->listOfVariable.list.array[i]->
variableSpecification.choice.name.choice.domainspecific.domainId); variableSpecification.choice.name.choice.domainspecific.domainId);
char* itemId = mmsMsg_createStringFromAsnIdentifier(response->listOfVariable.list.array[i]-> itemId = mmsMsg_createStringFromAsnIdentifier(response->listOfVariable.list.array[i]->
variableSpecification.choice.name.choice.domainspecific.itemId); variableSpecification.choice.name.choice.domainspecific.itemId);
}
MmsVariableAccessSpecification* listEntry = MmsVariableAccessSpecification_create(domainId, itemId); MmsVariableAccessSpecification* listEntry = MmsVariableAccessSpecification_create(domainId, itemId);

Loading…
Cancel
Save