continued work on event manager mock, slightly usable now
This commit is contained in:
@ -4,7 +4,6 @@
|
||||
|
||||
EventManagerMock::EventManagerMock() : EventManager(objects::EVENT_MANAGER) {}
|
||||
|
||||
|
||||
ReturnValue_t EventManagerMock::performOperation(uint8_t opCode) {
|
||||
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK;
|
||||
while (result == HasReturnvaluesIF::RETURN_OK) {
|
||||
@ -12,7 +11,53 @@ ReturnValue_t EventManagerMock::performOperation(uint8_t opCode) {
|
||||
result = eventReportQueue->receiveMessage(&message);
|
||||
if (result == HasReturnvaluesIF::RETURN_OK) {
|
||||
notifyListeners(&message);
|
||||
eventList.emplace_back(message);
|
||||
}
|
||||
}
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
|
||||
const std::list<EventMessage>* EventManagerMock::getEventList() {
|
||||
// call performOperation() to get all events still in the message Queue into the list
|
||||
this->performOperation(0);
|
||||
return &eventList;
|
||||
}
|
||||
|
||||
void EventManagerMock::clearEventList() { // call performOperation() to get all events still in the
|
||||
// message Queue into the list
|
||||
this->performOperation(0);
|
||||
eventList.clear();
|
||||
}
|
||||
|
||||
bool EventManagerMock::isEventInEventList(object_id_t object, Event event) {
|
||||
return isEventInEventList(object, event::getEventId(event));
|
||||
}
|
||||
|
||||
bool EventManagerMock::isEventInEventList(object_id_t object, EventId_t eventId) {
|
||||
// call performOperation() to get all events still in the message Queue into the list
|
||||
this->performOperation(0);
|
||||
for (auto iter = eventList.begin(); iter != eventList.end(); iter++) {
|
||||
if ((iter->getReporter() == object) && (iter->getEventId() == eventId)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool EventManagerMock::isEventInEventList(object_id_t object, Event event, uint32_t parameter1,
|
||||
uint32_t parameter2) {
|
||||
return isEventInEventList(object, event::getEventId(event), parameter1, parameter2);
|
||||
}
|
||||
|
||||
bool EventManagerMock::isEventInEventList(object_id_t object, EventId_t eventId,
|
||||
uint32_t parameter1, uint32_t parameter2) {
|
||||
// call performOperation() to get all events still in the message Queue into the list
|
||||
this->performOperation(0);
|
||||
for (auto iter = eventList.begin(); iter != eventList.end(); iter++) {
|
||||
if ((iter->getReporter() == object) && (iter->getEventId() == eventId) &&
|
||||
(iter->getParameter1() == parameter1) && (iter->getParameter2() == parameter2)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
@ -3,11 +3,25 @@
|
||||
|
||||
#include <fsfw/events/EventManager.h>
|
||||
|
||||
#include <list>
|
||||
|
||||
class EventManagerMock : public EventManager {
|
||||
public:
|
||||
EventManagerMock();
|
||||
|
||||
virtual ReturnValue_t performOperation(uint8_t opCode) override;
|
||||
|
||||
const std::list<EventMessage>* getEventList();
|
||||
void clearEventList();
|
||||
|
||||
bool isEventInEventList(object_id_t object, Event event);
|
||||
bool isEventInEventList(object_id_t object, Event event, uint32_t parameter1, uint32_t parameter2);
|
||||
|
||||
bool isEventInEventList(object_id_t object, EventId_t eventId);
|
||||
bool isEventInEventList(object_id_t object, EventId_t eventId, uint32_t parameter1, uint32_t parameter2);
|
||||
|
||||
private:
|
||||
std::list<EventMessage> eventList;
|
||||
};
|
||||
|
||||
#endif /* EVENTMANAGERMOCK_H_ */
|
Reference in New Issue
Block a user