Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -rbf9223700613ced6c377f3e3a7b4de8367c30474 -rb12cc2840bb819c5222bfd3bc2cc5ca6eb4c37fd --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision bf9223700613ced6c377f3e3a7b4de8367c30474) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision b12cc2840bb819c5222bfd3bc2cc5ca6eb4c37fd) @@ -170,8 +170,8 @@ */ void MessageInterpreter::printUnhandled(const Message &vMessage) const { - if ( logUnhandledMessage(vMessage)) return; // the message is defined as unhandled and can still be handled and logged, return. if ( gDisableUnhandledReport ) return; // if the unhandled message error has been disabled, return. + if ( logUnhandledMessage(vMessage)) return; // the message is defined as unhandled and can still be handled and logged, return. QString mActionIdHexString = Format::toHexString(vMessage.actionId, false, eLenMessageIDDigits); QString logMessage = tr("Unhandled Message ID (HD)") + '\n' + QString("%1 # %2 %3") @@ -218,8 +218,6 @@ case Gui::GuiActionType::ID_DuetConfirmUIr : INTERPRET_TRANSMIT_MESSAGE(DuetConfirmUIrData ); break; // RO Water case Gui::GuiActionType::ID_DuetRoWaterModeUIi : INTERPRET_TRANSMIT_MESSAGE(DuetRoWaterModeUIiData ); break; - // Power Off - case Gui::GuiActionType::ID_PowerOff : INTERPRET_TRANSMIT_MESSAGE(AdjustPowerOffRequestData ); break; // POST case Gui::GuiActionType::ID_UIPostFinalResultData : INTERPRET_TRANSMIT_MESSAGE(AdjustUIPostFinalResultRequestData ); break; // Settings @@ -237,8 +235,6 @@ // Pre-Treatment case Gui::GuiActionType::ID_AdjustInitTreatmentReq : INTERPRET_TRANSMIT_MESSAGE(AdjustInitTreatmentRequestData ); break; case Gui::GuiActionType::ID_AdjustParametersValidationReq : INTERPRET_TRANSMIT_MESSAGE(AdjustParametersValidationRequestData ); break; - case Gui::GuiActionType::ID_AdjustParametersConfirmReq : INTERPRET_TRANSMIT_MESSAGE(AdjustParametersConfirmRequestData ); break; - case Gui::GuiActionType::ID_AdjustWaterSampleReq : INTERPRET_TRANSMIT_MESSAGE(AdjustWaterSampleRequestData ); break; case Gui::GuiActionType::ID_AdjustWaterSampleResultReq : INTERPRET_TRANSMIT_MESSAGE(AdjustWaterSampleResultRequestData ); break; case Gui::GuiActionType::ID_AdjustConsumablesConfirmReq : INTERPRET_TRSMT_MT_MESSAGE(AdjustConsumablesConfirmRequestData ); break; case Gui::GuiActionType::ID_AdjustDisposablesConfirmReq : INTERPRET_TRSMT_MT_MESSAGE(AdjustDisposablesConfirmRequestData ); break; @@ -253,12 +249,14 @@ case Gui::GuiActionType::ID_AdjustDurationEditReq : INTERPRET_TRANSMIT_MESSAGE(AdjustDurationEditRequestData ); break; case Gui::GuiActionType::ID_AdjustDurationConfirmReq : INTERPRET_TRANSMIT_MESSAGE(AdjustDurationConfirmRequestData ); break; case Gui::GuiActionType::ID_AdjustSetPointsReq : INTERPRET_TRANSMIT_MESSAGE(AdjustSetPointsRequestData ); break; + case Gui::GuiActionType::ID_AdjustVitalsAlarmLimitsReq : INTERPRET_TRANSMIT_MESSAGE(AdjustVitalsAlarmLimitsRequestData ); break; case Gui::GuiActionType::ID_AdjustBloodFlowRateReq : INTERPRET_TRANSMIT_MESSAGE(AdjustBloodFlowRateRequestData ); break; case Gui::GuiActionType::ID_AdjustDialysateFlowRateReq : INTERPRET_TRANSMIT_MESSAGE(AdjustDialysateFlowRateRequestData ); break; case Gui::GuiActionType::ID_AdjustDialysateTemperatureReq : INTERPRET_TRANSMIT_MESSAGE(AdjustDialysateTemperatureRequestData ); break; case Gui::GuiActionType::ID_AdjustBloodDialysateReq : INTERPRET_TRANSMIT_MESSAGE(AdjustBloodDialysateRequestData ); break; case Gui::GuiActionType::ID_AdjustPressuresLimitsReq : INTERPRET_TRANSMIT_MESSAGE(AdjustPressuresLimitsRequestData ); break; + case Gui::GuiActionType::ID_AdjustPressuresWideningReq : INTERPRET_TRSMT_MT_MESSAGE(AdjustPressuresWideningRequestData ); break; case Gui::GuiActionType::ID_AdjustSalineReq : INTERPRET_TRANSMIT_MESSAGE(AdjustSalineRequestData ); break; case Gui::GuiActionType::ID_AdjustVitalsReq : INTERPRET_TRSMT_MT_MESSAGE(AdjustVitalsRequestData ); break; case Gui::GuiActionType::ID_AdjustHeparinReq : INTERPRET_TRANSMIT_MESSAGE(AdjustHeparinRequestData ); break; @@ -457,17 +455,14 @@ vData.clear(); switch (vMessage.actionId) { // notice we are in receive mode // ----- Debug - case Gui::GuiActionType::ID_CANBusFaultCount : ok = canbusFaultCountData (vMessage, vData); /* TODO : implement notify<>() */ break; case Gui::GuiActionType::ID_TDDebugText : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDDebugText ); break; case Gui::GuiActionType::ID_HDGeneralEvent : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDGeneralEvent ); break; // ----- Events case Gui::GuiActionType::ID_Acknow : ok = true; /* TODO : implement notify<>() */ break; - case Gui::GuiActionType::ID_PowerOff : ok = notify(vMessage, vData, Gui::GuiActionType::ID_PowerOff ); break; - case Gui::GuiActionType::ID_ShuttingDown : ok = true; LOG_APPED("HD,ShuttingDown"); /* TODO : implement notify<>() */ break; + case Gui::GuiActionType::ID_PowerOffWarning : ok = notify(vMessage, vData, Gui::GuiActionType::ID_PowerOffWarning ); break; + case Gui::GuiActionType::ID_DuetConfirmTDi : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DuetConfirmTDi ); break; - case Gui::GuiActionType::ID_DuetConfirmHDi : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DuetConfirmHDi ); break; - // ----- POST case Gui::GuiActionType::ID_HDPostSingleResultData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDPostSingleResultData ); break; case Gui::GuiActionType::ID_HDPostFinalResultData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDPostFinalResultData ); break; @@ -515,16 +510,18 @@ case Gui::GuiActionType::ID_SelfTestNoCartridgeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_SelfTestNoCartridgeData ); break; case Gui::GuiActionType::ID_SelfTestDryData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_SelfTestDryData ); break; case Gui::GuiActionType::ID_DisposablesPrimeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DisposablesPrimeData ); break; - // ----- Pre-Treatment - Adjust + + // ----- Pre-Treatment - Adjust case Gui::GuiActionType::ID_AdjustInitTreatmentRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustInitTreatmentRsp ); break; case Gui::GuiActionType::ID_AdjustParametersValidationRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustParametersValidationRsp ); break; - case Gui::GuiActionType::ID_AdjustWaterSampleRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustWaterSampleRsp ); break; + case Gui::GuiActionType::ID_AdjustWaterSampleResultRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustWaterSampleResultRsp ); break; case Gui::GuiActionType::ID_AdjustDisposablesConfirmRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDisposablesConfirmRsp ); break; case Gui::GuiActionType::ID_AdjustDisposablesPrimeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDisposablesPrimeRsp ); break; case Gui::GuiActionType::ID_AdjustPatientConnectionBeginRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustPatientConnectionBeginRsp ); break; case Gui::GuiActionType::ID_AdjustUltrafiltrationInitRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustUltrafiltrationInitRsp ); break; case Gui::GuiActionType::ID_AdjustPatientConnectionConfirmRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustPatientConnectionConfirmRsp ); break; case Gui::GuiActionType::ID_AdjustStartTreatmentRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustStartTreatmentRsp ); break; + case Gui::GuiActionType::ID_AdjustWaterSampleData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustWaterSampleData ); break; // ----- In-Treatment - Datum case Gui::GuiActionType::ID_TreatmentTime : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TreatmentTime ); break; @@ -547,12 +544,14 @@ case Gui::GuiActionType::ID_AdjustDurationEditRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDurationEditRsp ); break; case Gui::GuiActionType::ID_AdjustDurationConfirmRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDurationConfirmRsp ); break; case Gui::GuiActionType::ID_AdjustSetPointsRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustSetPointsRsp ); break; + case Gui::GuiActionType::ID_AdjustVitalsAlarmLimitsRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustVitalsAlarmLimitsRsp ); break; case Gui::GuiActionType::ID_AdjustBloodFlowRateRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustBloodFlowRateRsp ); break; case Gui::GuiActionType::ID_AdjustDialysateFlowRateRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDialysateFlowRateRsp ); break; case Gui::GuiActionType::ID_AdjustDialysateTemperatureRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDialysateTemperatureRsp ); break; case Gui::GuiActionType::ID_AdjustBolusVolumeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustBolusVolumeRsp ); break; case Gui::GuiActionType::ID_AdjustBloodDialysateRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustBloodDialysateRsp ); break; case Gui::GuiActionType::ID_AdjustPressuresLimitsRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustPressuresLimitsRsp ); break; + case Gui::GuiActionType::ID_AdjustPressuresWideningRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustPressuresWideningRsp ); break; case Gui::GuiActionType::ID_AdjustSalineRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustSalineRsp ); break; case Gui::GuiActionType::ID_AdjustVitalsRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustVitalsRsp ); break; case Gui::GuiActionType::ID_AdjustUltrafiltrationStateRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustUltrafiltrationStateRsp ); break; @@ -589,7 +588,8 @@ // unhandled messages: these will only be logged as received message // there has nothing been defined for these messages. - default : printUnhandled (vMessage ); break; +// default : printUnhandled (vMessage ); break; + default: break; //FIXME later enabled } return ok; @@ -615,43 +615,55 @@ switch (vMessage.actionId) { // notice we are in receive mode case Gui::GuiActionType::ID_Acknow : ok = true; /* TODO : implement notify<>() */ break; LOG_APPED(QString("DD,CheckIn," + QVariant(vData).toStringList().join(','))); break; + + /* // ----- POST case Gui::GuiActionType::ID_DGPostSingleResultData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGPostSingleResultData ); break; case Gui::GuiActionType::ID_DGPostFinalResultData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGPostFinalResultData ); break; // DG data messages case Gui::GuiActionType::ID_DGROPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGROPumpData ); break; - case Gui::GuiActionType::ID_DDPressuresData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDPressuresData ); break; case Gui::GuiActionType::ID_DGDrainPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGDrainPumpData ); break; - case Gui::GuiActionType::ID_DGOperationModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGOperationModeData ); break; case Gui::GuiActionType::ID_DGReservoirData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGReservoirData ); break; - case Gui::GuiActionType::ID_DDValvesStatesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDValvesStatesData ); break; - case Gui::GuiActionType::ID_DDHeatersData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDHeatersData ); break; case Gui::GuiActionType::ID_DGLoadCellReadingsData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGLoadCellReadingsData ); break; - case Gui::GuiActionType::ID_DDConcentratePumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDConcentratePumpData ); break; - case Gui::GuiActionType::ID_DDTemperaturesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDTemperaturesData ); break; - case Gui::GuiActionType::ID_DDDialysatePumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDDialysatePumpData ); break; case Gui::GuiActionType::ID_DDDebugText : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDDebugText ); break; case Gui::GuiActionType::ID_DGGeneralEvent : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGGeneralEvent ); break; case Gui::GuiActionType::ID_DGAccelerometerData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGAccelerometerData ); break; - case Gui::GuiActionType::ID_DDConductivityData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDConductivityData ); break; - case Gui::GuiActionType::ID_DDGenDialysateData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDGenDialysateData ); break; - case Gui::GuiActionType::ID_DDLevelData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDLevelData ); break; - case Gui::GuiActionType::ID_DDBloodLeakData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDBloodLeakData ); break; // ----- Datum - Pre-Treatment progress case Gui::GuiActionType::ID_DGFilterFlushData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGFilterFlushData ); break; // DG Response Messages - case Gui::GuiActionType::ID_AdjustVersionsDDRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustVersionsDDRsp ); break; - case Gui::GuiActionType::ID_AdjustSerialDDRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustSerialDDRsp ); break; case Gui::GuiActionType::ID_AdjustServiceDatesDGRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustServiceDatesDGRsp ); break; - case Gui::GuiActionType::ID_AdjustDDDateTimeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDDDateTimeRsp ); break; case Gui::GuiActionType::ID_AdjustDGCleaningUsageRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDGCleaningUsageRsp ); break; // RO Water case Gui::GuiActionType::ID_DuetRoWaterStatDGq : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DuetRoWaterStatDGq ); break; case Gui::GuiActionType::ID_DuetRoWaterModeDGr : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DuetRoWaterModeDGr ); break; // unhandled messages: these will only be logged as received message // there has nothing been defined for these messages. default : printUnhandled (vMessage ); break; + */ + /////////////////////////////////////// + //// FIXME: RO LOOP TEST + /////////////////////////////////////// + /// + // DD data messages + + case Gui::GuiActionType::ID_DDGenDialysateData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDGenDialysateData ); break; + case Gui::GuiActionType::ID_DDConductivityData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDConductivityData ); break; + case Gui::GuiActionType::ID_DDConcentratePumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDConcentratePumpData ); break; + case Gui::GuiActionType::ID_DDDialysatePumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDDialysatePumpData ); break; + case Gui::GuiActionType::ID_DDHeatersData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDHeatersData ); break; + case Gui::GuiActionType::ID_DDTemperaturesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDTemperaturesData ); break; + case Gui::GuiActionType::ID_DDPressuresData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDPressuresData ); break; + case Gui::GuiActionType::ID_DDLevelData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDLevelData ); break; + case Gui::GuiActionType::ID_DDBloodLeakData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDBloodLeakData ); break; + case Gui::GuiActionType::ID_DDValvesStatesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDValvesStatesData ); break; + + case Gui::GuiActionType::ID_AdjustDDDateTimeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDDDateTimeRsp ); break; + case Gui::GuiActionType::ID_DDOperationModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDOperationModeData ); break; + case Gui::GuiActionType::ID_AdjustVersionsDDRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustVersionsDDRsp ); break; + case Gui::GuiActionType::ID_AdjustSerialDDRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustSerialDDRsp ); break; + + default: break; //FIXME later enabled } return ok; @@ -679,54 +691,28 @@ LOG_APPED(QString("FP,CheckIn," + QVariant(vData).toStringList().join(','))); break; // FP data messages - case Gui::GuiActionType::ID_FPROPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPROPumpData ); break; - case Gui::GuiActionType::ID_FPPressuresData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPPressuresData ); break; - case Gui::GuiActionType::ID_FPLevelData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPLevelData ); break; - case Gui::GuiActionType::ID_FPFlowSensorData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPFlowSensorData ); break; - case Gui::GuiActionType::ID_FPConductivityData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPConductivityData ); break; - case Gui::GuiActionType::ID_FPTemperaturesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPTemperaturesData ); break; - case Gui::GuiActionType::ID_FPROBoosterPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPROBoosterPumpData ); break; + case Gui::GuiActionType::ID_FPROPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPROPumpData ); break; + case Gui::GuiActionType::ID_FPPressuresData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPPressuresData ); break; + case Gui::GuiActionType::ID_FPLevelData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPLevelData ); break; + case Gui::GuiActionType::ID_FPFlowSensorData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPFlowSensorData ); break; + case Gui::GuiActionType::ID_FPConductivityData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPConductivityData ); break; + case Gui::GuiActionType::ID_FPTemperaturesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPTemperaturesData ); break; + case Gui::GuiActionType::ID_FPROBoosterPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPROBoosterPumpData ); break; + case Gui::GuiActionType::ID_FPRORejectionPercentageData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_FPRORejectionPercentageData ); break; // FP Response Messages case Gui::GuiActionType::ID_AdjustVersionsFPRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustVersionsFPRsp ); break; // unhandled messages: these will only be logged as received message // there has nothing been defined for these messages. - default : printUnhandled (vMessage ); break; +// default : printUnhandled (vMessage ); break; + default: break; //FIXME later enabled } return ok; } // ---------- ---------- Message handlers ---------- ---------- // - -// ---------- ---------- ---------- ---------- ---------- Debug ---------- ---------- ---------- ---------- ---------- // -/*! - * \brief MessageInterpreter::canbusFaultCountData - * \details This method interprets Fault Count message data - * in vMessage of type Message. This message is only used for debugging purposes. - * \param vMessage - The vMessage of type Message which contains all the data, - * require to be interpreted. - * \param vData - Fault Count data - * \return true if the data can be extracted as defined for Fault Count Message ID - */ -bool MessageInterpreter::canbusFaultCountData(const Message &vMessage, QVariantList &vData) -{ - // TODO : review other methods - bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_CANBusFaultCount) ) return ok; - - QVariantList mData; - int index = 0; - Types::U32 mCanBUSFaultCount; - ok = GetValue(vMessage.data, index, mCanBUSFaultCount); - // developer safety if for any reason length of CanBUSFaultCount set to 0 - if (ok) { - vData += mCanBUSFaultCount.value; - } - return ok; -} - // ---------- ---------- ---------- ---------- ---------- Adjustments ---------- ---------- ---------- ---------- ---------- // /*! * \brief MessageInterpreter::updateUnhandledMessages