added getter for reject reply
This commit is contained in:
parent
fc0d42e3e0
commit
ce3e4a1176
@ -120,3 +120,14 @@ void CommandMessage::setReplyRejected(ReturnValue_t reason,
|
|||||||
setParameter(reason);
|
setParameter(reason);
|
||||||
setParameter2(initialCommand);
|
setParameter2(initialCommand);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ReturnValue_t CommandMessage::getReplyRejectedReason(
|
||||||
|
Command_t *initialCommand) const {
|
||||||
|
ReturnValue_t reason = HasReturnvaluesIF::RETURN_FAILED;
|
||||||
|
std::memcpy(&reason, getData(), sizeof(reason));
|
||||||
|
if(initialCommand != nullptr) {
|
||||||
|
std::memcpy(initialCommand, getData() + sizeof(reason),
|
||||||
|
sizeof(Command_t));
|
||||||
|
}
|
||||||
|
return reason;
|
||||||
|
}
|
||||||
|
@ -124,6 +124,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setToUnknownCommand();
|
void setToUnknownCommand();
|
||||||
void setReplyRejected(ReturnValue_t reason, Command_t initialCommand = CMD_NONE);
|
void setReplyRejected(ReturnValue_t reason, Command_t initialCommand = CMD_NONE);
|
||||||
|
ReturnValue_t getReplyRejectedReason(Command_t *initialCommand) const;
|
||||||
|
|
||||||
size_t getMinimumMessageSize() const;
|
size_t getMinimumMessageSize() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -180,14 +180,14 @@ void CommandingServiceBase::handleReplyHandlerResult(ReturnValue_t result,
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (isStep) {
|
if (isStep) {
|
||||||
nextCommand->clear();
|
nextCommand->clearCommandMessage();
|
||||||
verificationReporter.sendFailureReport(
|
verificationReporter.sendFailureReport(
|
||||||
TC_VERIFY::PROGRESS_FAILURE, iter->tcInfo.ackFlags,
|
TC_VERIFY::PROGRESS_FAILURE, iter->tcInfo.ackFlags,
|
||||||
iter->tcInfo.tcPacketId,
|
iter->tcInfo.tcPacketId,
|
||||||
iter->tcInfo.tcSequenceControl, sendResult,
|
iter->tcInfo.tcSequenceControl, sendResult,
|
||||||
++iter->step, failureParameter1, failureParameter2);
|
++iter->step, failureParameter1, failureParameter2);
|
||||||
} else {
|
} else {
|
||||||
nextCommand->clear();
|
nextCommand->clearCommandMessage();
|
||||||
verificationReporter.sendFailureReport(
|
verificationReporter.sendFailureReport(
|
||||||
TC_VERIFY::COMPLETION_FAILURE,
|
TC_VERIFY::COMPLETION_FAILURE,
|
||||||
iter->tcInfo.ackFlags, iter->tcInfo.tcPacketId,
|
iter->tcInfo.ackFlags, iter->tcInfo.tcPacketId,
|
||||||
@ -267,7 +267,7 @@ ReturnValue_t CommandingServiceBase::sendTmPacket(uint8_t subservice,
|
|||||||
object_id_t objectId, const uint8_t *data, size_t dataLen) {
|
object_id_t objectId, const uint8_t *data, size_t dataLen) {
|
||||||
uint8_t buffer[sizeof(object_id_t)];
|
uint8_t buffer[sizeof(object_id_t)];
|
||||||
uint8_t* pBuffer = buffer;
|
uint8_t* pBuffer = buffer;
|
||||||
size_t size = 0;
|
uint32_t size = 0;
|
||||||
SerializeAdapter<object_id_t>::serialize(&objectId, &pBuffer, &size,
|
SerializeAdapter<object_id_t>::serialize(&objectId, &pBuffer, &size,
|
||||||
sizeof(object_id_t), true);
|
sizeof(object_id_t), true);
|
||||||
TmPacketStored tmPacketStored(this->apid, this->service, subservice,
|
TmPacketStored tmPacketStored(this->apid, this->service, subservice,
|
||||||
@ -322,7 +322,7 @@ void CommandingServiceBase::startExecution(TcPacketStored *storedPacket,
|
|||||||
storedPacket->getPacketSequenceControl();
|
storedPacket->getPacketSequenceControl();
|
||||||
acceptPacket(TC_VERIFY::START_SUCCESS, storedPacket);
|
acceptPacket(TC_VERIFY::START_SUCCESS, storedPacket);
|
||||||
} else {
|
} else {
|
||||||
command.clear();
|
command.clearCommandMessage();
|
||||||
rejectPacket(TC_VERIFY::START_FAILURE, storedPacket, sendResult);
|
rejectPacket(TC_VERIFY::START_FAILURE, storedPacket, sendResult);
|
||||||
checkAndExecuteFifo(iter);
|
checkAndExecuteFifo(iter);
|
||||||
}
|
}
|
||||||
@ -339,7 +339,7 @@ void CommandingServiceBase::startExecution(TcPacketStored *storedPacket,
|
|||||||
acceptPacket(TC_VERIFY::COMPLETION_SUCCESS, storedPacket);
|
acceptPacket(TC_VERIFY::COMPLETION_SUCCESS, storedPacket);
|
||||||
checkAndExecuteFifo(iter);
|
checkAndExecuteFifo(iter);
|
||||||
} else {
|
} else {
|
||||||
command.clear();
|
command.clearCommandMessage();
|
||||||
rejectPacket(TC_VERIFY::START_FAILURE, storedPacket, sendResult);
|
rejectPacket(TC_VERIFY::START_FAILURE, storedPacket, sendResult);
|
||||||
checkAndExecuteFifo(iter);
|
checkAndExecuteFifo(iter);
|
||||||
}
|
}
|
||||||
@ -378,7 +378,7 @@ void CommandingServiceBase::checkAndExecuteFifo(CommandMapIter iter) {
|
|||||||
|
|
||||||
|
|
||||||
void CommandingServiceBase::handleUnrequestedReply(CommandMessage* reply) {
|
void CommandingServiceBase::handleUnrequestedReply(CommandMessage* reply) {
|
||||||
reply->clear();
|
reply->clearCommandMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user