diff --git a/src/iec61850/client/client_goose_control.c b/src/iec61850/client/client_goose_control.c index c2a5d05d..7873818b 100644 --- a/src/iec61850/client/client_goose_control.c +++ b/src/iec61850/client/client_goose_control.c @@ -59,15 +59,15 @@ ClientGooseControlBlock_destroy(ClientGooseControlBlock self) { GLOBAL_FREEMEM(self->objectReference); - MmsValue_deleteIfNotNull(self->goEna); - MmsValue_deleteIfNotNull(self->goID); - MmsValue_deleteIfNotNull(self->datSet); - MmsValue_deleteIfNotNull(self->confRev); - MmsValue_deleteIfNotNull(self->ndsCom); - MmsValue_deleteIfNotNull(self->dstAddress); - MmsValue_deleteIfNotNull(self->minTime); - MmsValue_deleteIfNotNull(self->maxTime); - MmsValue_deleteIfNotNull(self->fixedOffs); + MmsValue_delete(self->goEna); + MmsValue_delete(self->goID); + MmsValue_delete(self->datSet); + MmsValue_delete(self->confRev); + MmsValue_delete(self->ndsCom); + MmsValue_delete(self->dstAddress); + MmsValue_delete(self->minTime); + MmsValue_delete(self->maxTime); + MmsValue_delete(self->fixedOffs); GLOBAL_FREEMEM(self); } diff --git a/src/iec61850/client/client_report_control.c b/src/iec61850/client/client_report_control.c index f2cc5c7f..07f6df0c 100644 --- a/src/iec61850/client/client_report_control.c +++ b/src/iec61850/client/client_report_control.c @@ -82,22 +82,22 @@ ClientReportControlBlock_destroy(ClientReportControlBlock self) { GLOBAL_FREEMEM(self->objectReference); - MmsValue_deleteIfNotNull(self->rptId); - MmsValue_deleteIfNotNull(self->rptEna); - MmsValue_deleteIfNotNull(self->resv); - MmsValue_deleteIfNotNull(self->datSet); - MmsValue_deleteIfNotNull(self->confRev); - MmsValue_deleteIfNotNull(self->optFlds); - MmsValue_deleteIfNotNull(self->bufTm); - MmsValue_deleteIfNotNull(self->sqNum); - MmsValue_deleteIfNotNull(self->trgOps); - MmsValue_deleteIfNotNull(self->intgPd); - MmsValue_deleteIfNotNull(self->gi); - MmsValue_deleteIfNotNull(self->purgeBuf); - MmsValue_deleteIfNotNull(self->entryId); - MmsValue_deleteIfNotNull(self->timeOfEntry); - MmsValue_deleteIfNotNull(self->resvTms); - MmsValue_deleteIfNotNull(self->owner); + MmsValue_delete(self->rptId); + MmsValue_delete(self->rptEna); + MmsValue_delete(self->resv); + MmsValue_delete(self->datSet); + MmsValue_delete(self->confRev); + MmsValue_delete(self->optFlds); + MmsValue_delete(self->bufTm); + MmsValue_delete(self->sqNum); + MmsValue_delete(self->trgOps); + MmsValue_delete(self->intgPd); + MmsValue_delete(self->gi); + MmsValue_delete(self->purgeBuf); + MmsValue_delete(self->entryId); + MmsValue_delete(self->timeOfEntry); + MmsValue_delete(self->resvTms); + MmsValue_delete(self->owner); GLOBAL_FREEMEM(self); } diff --git a/src/iec61850/inc/iec61850_client.h b/src/iec61850/inc/iec61850_client.h index dd87c470..650c88ad 100644 --- a/src/iec61850/inc/iec61850_client.h +++ b/src/iec61850/inc/iec61850_client.h @@ -580,9 +580,10 @@ LIB61850_API PhyComAddress ClientSVControlBlock_getDstAddress(ClientSVControlBlock self); /** - * \brief returns the OptFlds bit string as integer + * \brief Gets the OptFlds parameter of the RCB (decides what information to include in a report) * - * \param self the ClientSVControlBlock instance to operate on + * \param self the RCB instance + * \return bit field representing the optional fields of a report (uses flags from \ref REPORT_OPTIONS) */ LIB61850_API int ClientSVControlBlock_getOptFlds(ClientSVControlBlock self); @@ -1573,9 +1574,26 @@ ClientReportControlBlock_getOptFlds(ClientReportControlBlock self); LIB61850_API void ClientReportControlBlock_setOptFlds(ClientReportControlBlock self, int optFlds); +/** + * \brief Get the BufTm (buffer time) parameter of the RCB + * + * The buffer time is the time to wait after a triggering event before the report is actually sent. + * It is used to be able to collect events that happen in a short time period and send them in a single report. + * + * \param self the RCB instance + */ LIB61850_API uint32_t ClientReportControlBlock_getBufTm(ClientReportControlBlock self); +/** + * \brief Set the BufTm (buffer time) parameter of the RCB + * + * The buffer time is the time to wait after a triggering event before the report is actually sent. + * It is used to be able to collect events that happen in a short time period and send them in a single report. + * + * \param self the RCB instance + * \param bufTm the buffer time in ms + */ LIB61850_API void ClientReportControlBlock_setBufTm(ClientReportControlBlock self, uint32_t bufTm); diff --git a/src/mms/inc/mms_value.h b/src/mms/inc/mms_value.h index cf6a4e2e..bb21bb0f 100644 --- a/src/mms/inc/mms_value.h +++ b/src/mms/inc/mms_value.h @@ -755,18 +755,6 @@ MmsValue_delete(MmsValue* self); LIB61850_API void MmsValue_deleteConditional(MmsValue* value); -/** - * \brief Delete an MmsValue instance if the provided pointer is not NULL - * - * This operation frees all dynamically allocated memory of the MmsValue instance. - * If the instance is of type MMS_STRUCTURE or MMS_ARRAY all child elements will - * be deleted too. - * - * \param self the MmsValue instance to be deleted. - */ -LIB61850_API void -MmsValue_deleteIfNotNull(MmsValue* value); - /** * \brief Create a new MmsValue instance of type MMS_VISIBLE_STRING. * diff --git a/src/mms/iso_mms/common/mms_value.c b/src/mms/iso_mms/common/mms_value.c index 72d577ba..49359e50 100644 --- a/src/mms/iso_mms/common/mms_value.c +++ b/src/mms/iso_mms/common/mms_value.c @@ -1172,13 +1172,6 @@ MmsValue_getArraySize(const MmsValue* self) return self->value.structure.size; } -void -MmsValue_deleteIfNotNull(MmsValue* self) -{ - if (self != NULL) - MmsValue_delete(self); -} - void MmsValue_delete(MmsValue* self) {