#ifndef FSFW_TESTS_PUSSERVICEBASEMOCK_H #define FSFW_TESTS_PUSSERVICEBASEMOCK_H #include #include "fsfw/tmtcservices/PusServiceBase.h" class PsbMock : public PusServiceBase { public: explicit PsbMock(PsbParams params); unsigned int handleRequestCallCnt = 0; std::queue subserviceQueue; unsigned int performServiceCallCnt = 0; static void setStaticPusDistributor(object_id_t pusDistributor); static object_id_t getStaticPusDistributor(); static void setStaticTmDest(object_id_t tmDest); static object_id_t getStaticTmDest(); PsbParams& getParams(); std::pair handleReqFailPair; std::pair performServiceFailPair; ReturnValue_t handleRequest(uint8_t subservice) override; ReturnValue_t performService() override; void makeNextHandleReqCallFail(ReturnValue_t retval); bool getAndPopNextSubservice(uint8_t& subservice); void reset(); }; #endif // FSFW_TESTS_PUSSERVICEBASEMOCK_H