Merge branch 'develop' into tle-too-old

This commit is contained in:
Robin Müller 2023-11-29 15:17:19 +01:00
commit 8e367abb47
2 changed files with 13 additions and 0 deletions

View File

@ -28,12 +28,17 @@ FreshDeviceHandlerBase::~FreshDeviceHandlerBase() {
} }
ReturnValue_t FreshDeviceHandlerBase::performOperation(uint8_t opCode) { ReturnValue_t FreshDeviceHandlerBase::performOperation(uint8_t opCode) {
performDeviceOperationPreQueueHandling(opCode);
handleQueue(); handleQueue();
performDeviceOperation(opCode); performDeviceOperation(opCode);
poolManager.performHkOperation(); poolManager.performHkOperation();
return returnvalue::OK; return returnvalue::OK;
} }
ReturnValue_t FreshDeviceHandlerBase::performDeviceOperationPreQueueHandling(uint8_t opCode) {
return returnvalue::OK;
}
void FreshDeviceHandlerBase::startTransition(Mode_t mode_, Submode_t submode_) { void FreshDeviceHandlerBase::startTransition(Mode_t mode_, Submode_t submode_) {
triggerEvent(CHANGING_MODE, mode_, submode_); triggerEvent(CHANGING_MODE, mode_, submode_);
// Complete mode transition immediately by default. // Complete mode transition immediately by default.

View File

@ -82,6 +82,12 @@ class FreshDeviceHandlerBase : public SystemObject,
MessageQueueIF* messageQueue; MessageQueueIF* messageQueue;
/**
* The default queue handler will process all messages for the interfaces implemented
* by this class. If there are special requirements, for example that action commands are
* received on a different queue, the user can override this function for those special
* requirements.
*/
virtual ReturnValue_t handleQueue(); virtual ReturnValue_t handleQueue();
// Mode Helpers. // Mode Helpers.
@ -153,6 +159,8 @@ class FreshDeviceHandlerBase : public SystemObject,
ReturnValue_t getParameter(uint8_t domainId, uint8_t uniqueId, ParameterWrapper* parameterWrapper, ReturnValue_t getParameter(uint8_t domainId, uint8_t uniqueId, ParameterWrapper* parameterWrapper,
const ParameterWrapper* newValues, uint16_t startAtIndex) override; const ParameterWrapper* newValues, uint16_t startAtIndex) override;
virtual ReturnValue_t performDeviceOperationPreQueueHandling(uint8_t opCode);
private: private:
// Executable Overrides. // Executable Overrides.
void setTaskIF(PeriodicTaskIF* task) override; void setTaskIF(PeriodicTaskIF* task) override;