// // Created by mati on 15.05.19. // #ifndef MODULE_SYS_DELAYEDSERVICE_HPP #define MODULE_SYS_DELAYEDSERVICE_HPP #include "Service/Service.hpp" #include "Service/Message.hpp" #include "Service/Common.hpp" #include "Service/LogOutput.hpp" #include "../../SystemManager/SystemManager.hpp" class DelayedService : public sys::Service { public: DelayedService(const std::string &name) : sys::Service(name) {} ~DelayedService() {} // Invoked when service received data message sys::Message_t DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *resp) override { cpp_freertos::Thread::Delay(100); return std::make_shared(); } // Invoked when timer ticked void TickHandler(uint32_t id) override {} // Invoked during initialization sys::ReturnCodes InitHandler() override { DelayerServiceInstanceCount++; return sys::ReturnCodes::Success; } sys::ReturnCodes DeinitHandler() override { DelayerServiceInstanceCount--; return sys::ReturnCodes::Success; } sys::ReturnCodes SwitchPowerModeHandler(const sys::ServicePowerMode mode) override final { return sys::ReturnCodes::Success; } static uint32_t DelayerServiceInstanceCount; static uint32_t DelayerServiceDataMessageReceivedCount; }; #endif // MODULE_SYS_DELAYEDSERVICE_HPP