diff --git a/CHANGELOG b/CHANGELOG index e2d99d4..376ac93 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,8 +6,9 @@ Changes to version 0.9.2 - server: negative delete data set response is now compatible with new test procedures (TPCL 1.1) - FileSystem API is now intended to access the complete file system. Path translation for VMD filestore is done by MMS file service implementation (removed FileSystem_setBasePath function) - added CDC_DPL_create function -- MMS server: fixed raced condition when opening/closing connections in multi-threaded configuration. - +- MMS server: fixed race condition when opening/closing connections in multi-threaded configuration. +- client: IedConnection_readObject and IedConnection_getVariableSpecification functions can now be applied to whole LNs +- client: GetLogicalNodeDirectory for data set and log ACSI classes will not use cached model data but request the information from server. This way the client can get up to date information about newly created dynamic data sets Changes to version 0.9.1 ------------------------ diff --git a/demos/beaglebone/static_model.c b/demos/beaglebone/static_model.c index 1010b5c..50ce8fb 100644 --- a/demos/beaglebone/static_model.c +++ b/demos/beaglebone/static_model.c @@ -1,7 +1,7 @@ /* * static_model.c * - * automatically generated from beagle_demo.icd + * automatically generated from beagle_demo.iid */ #include "static_model.h" @@ -1257,7 +1257,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_ctlVal = { NULL, 0, IEC61850_FC_CO, - IEC61850_INT8, + IEC61850_BOOLEAN, 0, NULL, 0}; @@ -2279,7 +2279,7 @@ DataAttribute iedModel_GenericIO_TIM_GAPC1_OpCntRs_Oper_ctlVal = { NULL, 0, IEC61850_FC_CO, - IEC61850_BOOLEAN, + IEC61850_INT32, 0, NULL, 0}; diff --git a/demos/beaglebone/static_model.h b/demos/beaglebone/static_model.h index a50ade8..8409861 100644 --- a/demos/beaglebone/static_model.h +++ b/demos/beaglebone/static_model.h @@ -1,7 +1,7 @@ /* * static_model.h * - * automatically generated from beagle_demo.icd + * automatically generated from beagle_demo.iid */ #ifndef STATIC_MODEL_H_ diff --git a/src/mms/iso_mms/server/mms_domain.c b/src/mms/iso_mms/server/mms_domain.c index 689fcc0..57bc35a 100644 --- a/src/mms/iso_mms/server/mms_domain.c +++ b/src/mms/iso_mms/server/mms_domain.c @@ -88,16 +88,19 @@ MmsDomain_addJournal(MmsDomain* self, const char* name) MmsJournal MmsDomain_getJournal(MmsDomain* self, const char* name) { - LinkedList journal = LinkedList_getNext(self->journals); + if (self->journals != NULL) { - while (journal != NULL) { + LinkedList journal = LinkedList_getNext(self->journals); - MmsJournal mmsJournal = (MmsJournal) LinkedList_getData(journal); + while (journal != NULL) { - if (strcmp(mmsJournal->name, name) == 0) - return mmsJournal; + MmsJournal mmsJournal = (MmsJournal) LinkedList_getData(journal); - journal = LinkedList_getNext(journal); + if (strcmp(mmsJournal->name, name) == 0) + return mmsJournal; + + journal = LinkedList_getNext(journal); + } } return NULL; diff --git a/src/mms/iso_mms/server/mms_get_namelist_service.c b/src/mms/iso_mms/server/mms_get_namelist_service.c index 48e3182..6204e24 100644 --- a/src/mms/iso_mms/server/mms_get_namelist_service.c +++ b/src/mms/iso_mms/server/mms_get_namelist_service.c @@ -188,15 +188,18 @@ getJournalListDomainSpecific(MmsServerConnection connection, char* domainName) if (domain != NULL) { nameList = LinkedList_create(); - LinkedList journalList = domain->journals; + if (domain->journals != NULL) { - while ((journalList = LinkedList_getNext(journalList)) != NULL) { + LinkedList journalList = domain->journals; - MmsJournal journal = (MmsJournal) LinkedList_getData(journalList); + while ((journalList = LinkedList_getNext(journalList)) != NULL) { + + MmsJournal journal = (MmsJournal) LinkedList_getData(journalList); + + LinkedList_add(nameList, (void*) journal->name); + } - LinkedList_add(nameList, (void*) journal->name); } - } return nameList;