set up new internal error reporter mock
This commit is contained in:
@ -8,7 +8,7 @@ MessageQueueBase::MessageQueueBase(MessageQueueId_t id, MessageQueueId_t default
|
||||
}
|
||||
}
|
||||
|
||||
MessageQueueBase::~MessageQueueBase() {}
|
||||
MessageQueueBase::~MessageQueueBase() = default;
|
||||
|
||||
ReturnValue_t MessageQueueBase::sendToDefault(MessageQueueMessageIF* message) {
|
||||
return sendToDefaultFrom(message, this->getId(), false);
|
||||
|
@ -7,28 +7,28 @@
|
||||
class MessageQueueBase : public MessageQueueIF {
|
||||
public:
|
||||
MessageQueueBase(MessageQueueId_t id, MessageQueueId_t defaultDest, MqArgs* mqArgs);
|
||||
virtual ~MessageQueueBase();
|
||||
~MessageQueueBase() override;
|
||||
|
||||
// Default implementations for MessageQueueIF where possible
|
||||
virtual MessageQueueId_t getLastPartner() const override;
|
||||
virtual MessageQueueId_t getId() const override;
|
||||
virtual MqArgs& getMqArgs() override;
|
||||
virtual void setDefaultDestination(MessageQueueId_t defaultDestination) override;
|
||||
virtual MessageQueueId_t getDefaultDestination() const override;
|
||||
virtual bool isDefaultDestinationSet() const override;
|
||||
virtual ReturnValue_t sendMessage(MessageQueueId_t sendTo, MessageQueueMessageIF* message,
|
||||
[[nodiscard]] MessageQueueId_t getLastPartner() const override;
|
||||
[[nodiscard]] MessageQueueId_t getId() const override;
|
||||
MqArgs& getMqArgs() override;
|
||||
void setDefaultDestination(MessageQueueId_t defaultDestination) override;
|
||||
[[nodiscard]] MessageQueueId_t getDefaultDestination() const override;
|
||||
[[nodiscard]] bool isDefaultDestinationSet() const override;
|
||||
ReturnValue_t sendMessage(MessageQueueId_t sendTo, MessageQueueMessageIF* message,
|
||||
bool ignoreFault) override;
|
||||
virtual ReturnValue_t sendToDefault(MessageQueueMessageIF* message) override;
|
||||
virtual ReturnValue_t reply(MessageQueueMessageIF* message) override;
|
||||
virtual ReturnValue_t receiveMessage(MessageQueueMessageIF* message,
|
||||
ReturnValue_t sendToDefault(MessageQueueMessageIF* message) override;
|
||||
ReturnValue_t reply(MessageQueueMessageIF* message) override;
|
||||
ReturnValue_t receiveMessage(MessageQueueMessageIF* message,
|
||||
MessageQueueId_t* receivedFrom) override;
|
||||
virtual ReturnValue_t sendToDefaultFrom(MessageQueueMessageIF* message, MessageQueueId_t sentFrom,
|
||||
ReturnValue_t sendToDefaultFrom(MessageQueueMessageIF* message, MessageQueueId_t sentFrom,
|
||||
bool ignoreFault = false) override;
|
||||
|
||||
// OSAL specific, forward the abstract function
|
||||
virtual ReturnValue_t receiveMessage(MessageQueueMessageIF* message) = 0;
|
||||
virtual ReturnValue_t sendMessageFrom(MessageQueueId_t sendTo, MessageQueueMessageIF* message,
|
||||
MessageQueueId_t sentFrom, bool ignoreFault = false) = 0;
|
||||
ReturnValue_t receiveMessage(MessageQueueMessageIF* message) override = 0;
|
||||
ReturnValue_t sendMessageFrom(MessageQueueId_t sendTo, MessageQueueMessageIF* message,
|
||||
MessageQueueId_t sentFrom, bool ignoreFault = false) override = 0;
|
||||
|
||||
protected:
|
||||
MessageQueueId_t id = MessageQueueIF::NO_QUEUE;
|
||||
|
@ -30,7 +30,7 @@ class MessageQueueIF {
|
||||
//! [EXPORT] : [COMMENT] Returned if the target destination is invalid.
|
||||
static constexpr ReturnValue_t DESTINATION_INVALID = MAKE_RETURN_CODE(4);
|
||||
|
||||
virtual ~MessageQueueIF() {}
|
||||
virtual ~MessageQueueIF() = default;
|
||||
/**
|
||||
* @brief This operation sends a message to the last communication partner.
|
||||
* @details
|
||||
@ -82,11 +82,11 @@ class MessageQueueIF {
|
||||
/**
|
||||
* @brief This method returns the message queue ID of the last communication partner.
|
||||
*/
|
||||
virtual MessageQueueId_t getLastPartner() const = 0;
|
||||
[[nodiscard]] virtual MessageQueueId_t getLastPartner() const = 0;
|
||||
/**
|
||||
* @brief This method returns the message queue ID of this class's message queue.
|
||||
*/
|
||||
virtual MessageQueueId_t getId() const = 0;
|
||||
[[nodiscard]] virtual MessageQueueId_t getId() const = 0;
|
||||
|
||||
/**
|
||||
* @brief With the sendMessage call, a queue message is sent to a receiving queue.
|
||||
@ -159,9 +159,9 @@ class MessageQueueIF {
|
||||
/**
|
||||
* @brief This method is a simple getter for the default destination.
|
||||
*/
|
||||
virtual MessageQueueId_t getDefaultDestination() const = 0;
|
||||
[[nodiscard]] virtual MessageQueueId_t getDefaultDestination() const = 0;
|
||||
|
||||
virtual bool isDefaultDestinationSet() const = 0;
|
||||
[[nodiscard]] virtual bool isDefaultDestinationSet() const = 0;
|
||||
|
||||
virtual MqArgs& getMqArgs() = 0;
|
||||
};
|
||||
|
@ -65,11 +65,11 @@ ReturnValue_t MessageQueue::sendMessageFromMessageQueue(MessageQueueId_t sendTo,
|
||||
// But I will still return a failure here.
|
||||
return HasReturnvaluesIF::RETURN_FAILED;
|
||||
}
|
||||
MessageQueue* targetQueue =
|
||||
auto* targetQueue =
|
||||
dynamic_cast<MessageQueue*>(QueueMapManager::instance()->getMessageQueue(sendTo));
|
||||
if (targetQueue == nullptr) {
|
||||
if (not ignoreFault) {
|
||||
InternalErrorReporterIF* internalErrorReporter =
|
||||
auto* internalErrorReporter =
|
||||
ObjectManager::instance()->get<InternalErrorReporterIF>(objects::INTERNAL_ERROR_REPORTER);
|
||||
if (internalErrorReporter != nullptr) {
|
||||
internalErrorReporter->queueMessageNotSent();
|
||||
|
@ -13,7 +13,6 @@ ReturnValue_t MessageQueueSenderIF::sendMessage(MessageQueueId_t sendTo,
|
||||
MessageQueueMessageIF* message,
|
||||
MessageQueueId_t sentFrom, bool ignoreFault) {
|
||||
return MessageQueue::sendMessageFromMessageQueue(sendTo, message, sentFrom, ignoreFault);
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
|
||||
QueueFactory* QueueFactory::instance() {
|
||||
@ -23,9 +22,9 @@ QueueFactory* QueueFactory::instance() {
|
||||
return factoryInstance;
|
||||
}
|
||||
|
||||
QueueFactory::QueueFactory() {}
|
||||
QueueFactory::QueueFactory() = default;
|
||||
|
||||
QueueFactory::~QueueFactory() {}
|
||||
QueueFactory::~QueueFactory() = default;
|
||||
|
||||
MessageQueueIF* QueueFactory::createMessageQueue(uint32_t messageDepth, size_t maxMessageSize,
|
||||
MqArgs* args) {
|
||||
|
@ -131,7 +131,7 @@ void PusServiceBase::initializeTmHelpers(TmSendHelper& tmSendHelper, TmStoreHelp
|
||||
}
|
||||
|
||||
void PusServiceBase::initializeTmSendHelper(TmSendHelper& tmSendHelper) {
|
||||
tmSendHelper.setMsgSource(requestQueue->getId());
|
||||
tmSendHelper.setMsgQueue(requestQueue);
|
||||
tmSendHelper.setMsgDestination(requestQueue->getDefaultDestination());
|
||||
if (errReporter == nullptr) {
|
||||
errReporter =
|
||||
|
@ -2,15 +2,21 @@
|
||||
|
||||
#include "fsfw/ipc/MessageQueueSenderIF.h"
|
||||
|
||||
TmSendHelper::TmSendHelper(MessageQueueId_t tmtcMsgDest, MessageQueueId_t tmtcMsgSrc,
|
||||
TmSendHelper::TmSendHelper(MessageQueueIF* queue, MessageQueueId_t tmtcMsgDest,
|
||||
InternalErrorReporterIF *reporter)
|
||||
: tmtcMsgDest(tmtcMsgDest), tmtcMsgSrc(tmtcMsgSrc), errReporter(reporter) {}
|
||||
: tmtcMsgDest(tmtcMsgDest), queue(queue), errReporter(reporter) {}
|
||||
|
||||
TmSendHelper::TmSendHelper(MessageQueueIF *queue, InternalErrorReporterIF *reporter)
|
||||
: queue(queue), errReporter(reporter) {}
|
||||
|
||||
TmSendHelper::TmSendHelper(InternalErrorReporterIF *reporter) : errReporter(reporter) {}
|
||||
|
||||
ReturnValue_t TmSendHelper::sendPacket(const store_address_t &storeId) {
|
||||
if(queue == nullptr) {
|
||||
return HasReturnvaluesIF::RETURN_FAILED;
|
||||
}
|
||||
TmTcMessage message(storeId);
|
||||
ReturnValue_t result = MessageQueueSenderIF::sendMessage(tmtcMsgDest, &message, tmtcMsgSrc);
|
||||
ReturnValue_t result = queue->sendMessage(tmtcMsgDest, &message, ignoreFault);
|
||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||
if (errReporter != nullptr) {
|
||||
errReporter->lostTm();
|
||||
@ -22,8 +28,7 @@ ReturnValue_t TmSendHelper::sendPacket(const store_address_t &storeId) {
|
||||
|
||||
void TmSendHelper::setMsgDestination(MessageQueueId_t msgDest) { tmtcMsgDest = msgDest; }
|
||||
|
||||
void TmSendHelper::setMsgSource(MessageQueueId_t msgSrc) { tmtcMsgSrc = msgSrc; }
|
||||
|
||||
void TmSendHelper::setInternalErrorReporter(InternalErrorReporterIF *reporter) {
|
||||
errReporter = reporter;
|
||||
}
|
||||
void TmSendHelper::setMsgQueue(MessageQueueIF *queue_) { queue = queue_; }
|
||||
|
@ -10,16 +10,18 @@
|
||||
class TmSendHelper {
|
||||
public:
|
||||
explicit TmSendHelper(InternalErrorReporterIF* reporter);
|
||||
TmSendHelper(MessageQueueId_t tmtcMsgDest, MessageQueueId_t tmtcMsgSrc,
|
||||
TmSendHelper(MessageQueueIF* queue, InternalErrorReporterIF* reporter);
|
||||
TmSendHelper(MessageQueueIF* queue, MessageQueueId_t tmtcMsgDest,
|
||||
InternalErrorReporterIF* reporter);
|
||||
void setMsgQueue(MessageQueueIF* queue);
|
||||
void setMsgDestination(MessageQueueId_t msgDest);
|
||||
void setMsgSource(MessageQueueId_t msgSrc);
|
||||
void setInternalErrorReporter(InternalErrorReporterIF* reporter);
|
||||
ReturnValue_t sendPacket(const store_address_t& storeId);
|
||||
|
||||
private:
|
||||
MessageQueueId_t tmtcMsgDest = MessageQueueIF::NO_QUEUE;
|
||||
MessageQueueId_t tmtcMsgSrc = MessageQueueIF::NO_QUEUE;
|
||||
bool ignoreFault = false;
|
||||
MessageQueueIF* queue = nullptr;
|
||||
InternalErrorReporterIF* errReporter;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user