2020-09-06 15:23:38 +02:00
|
|
|
#include "../datapool/HkSwitchHelper.h"
|
2020-08-13 20:53:35 +02:00
|
|
|
#include "../ipc/QueueFactory.h"
|
2018-07-12 16:29:32 +02:00
|
|
|
|
|
|
|
HkSwitchHelper::HkSwitchHelper(EventReportingProxyIF* eventProxy) :
|
|
|
|
commandActionHelper(this), eventProxy(eventProxy) {
|
|
|
|
actionQueue = QueueFactory::instance()->createMessageQueue();
|
|
|
|
}
|
|
|
|
|
|
|
|
HkSwitchHelper::~HkSwitchHelper() {
|
2021-04-11 21:54:48 +02:00
|
|
|
QueueFactory::instance()->deleteMessageQueue(actionQueue);
|
2018-07-12 16:29:32 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
ReturnValue_t HkSwitchHelper::initialize() {
|
|
|
|
ReturnValue_t result = commandActionHelper.initialize();
|
|
|
|
|
|
|
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
ReturnValue_t HkSwitchHelper::performOperation(uint8_t operationCode) {
|
2020-09-06 15:23:38 +02:00
|
|
|
CommandMessage command;
|
|
|
|
while (actionQueue->receiveMessage(&command) == HasReturnvaluesIF::RETURN_OK) {
|
|
|
|
ReturnValue_t result = commandActionHelper.handleReply(&command);
|
2018-07-12 16:29:32 +02:00
|
|
|
if (result == HasReturnvaluesIF::RETURN_OK) {
|
|
|
|
continue;
|
|
|
|
}
|
2020-09-06 15:23:38 +02:00
|
|
|
command.setToUnknownCommand();
|
|
|
|
actionQueue->reply(&command);
|
2018-07-12 16:29:32 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return HasReturnvaluesIF::RETURN_OK;
|
|
|
|
}
|
|
|
|
|
|
|
|
void HkSwitchHelper::stepSuccessfulReceived(ActionId_t actionId, uint8_t step) {
|
|
|
|
}
|
|
|
|
|
|
|
|
void HkSwitchHelper::stepFailedReceived(ActionId_t actionId, uint8_t step,
|
|
|
|
ReturnValue_t returnCode) {
|
|
|
|
eventProxy->forwardEvent(SWITCHING_TM_FAILED, returnCode, actionId);
|
|
|
|
}
|
|
|
|
|
|
|
|
void HkSwitchHelper::dataReceived(ActionId_t actionId, const uint8_t* data,
|
|
|
|
uint32_t size) {
|
|
|
|
}
|
|
|
|
|
|
|
|
void HkSwitchHelper::completionSuccessfulReceived(ActionId_t actionId) {
|
|
|
|
}
|
|
|
|
|
|
|
|
void HkSwitchHelper::completionFailedReceived(ActionId_t actionId,
|
|
|
|
ReturnValue_t returnCode) {
|
|
|
|
eventProxy->forwardEvent(SWITCHING_TM_FAILED, returnCode, actionId);
|
|
|
|
}
|
|
|
|
|
|
|
|
ReturnValue_t HkSwitchHelper::switchHK(SerializeIF* sids, bool enable) {
|
2018-07-13 15:56:37 +02:00
|
|
|
// ActionId_t action = HKService::DISABLE_HK;
|
|
|
|
// if (enable) {
|
|
|
|
// action = HKService::ENABLE_HK;
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// ReturnValue_t result = commandActionHelper.commandAction(
|
|
|
|
// objects::PUS_HK_SERVICE, action, sids);
|
|
|
|
//
|
|
|
|
// if (result != HasReturnvaluesIF::RETURN_OK) {
|
|
|
|
// eventProxy->forwardEvent(SWITCHING_TM_FAILED, result);
|
|
|
|
// }
|
|
|
|
// return result;
|
|
|
|
return HasReturnvaluesIF::RETURN_OK;
|
2018-07-12 16:29:32 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
MessageQueueIF* HkSwitchHelper::getCommandQueuePtr() {
|
|
|
|
return actionQueue;
|
|
|
|
}
|