Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * CSRVDCM.cpp
- *
- * Created on: Feb 9, 2018
- * Author: michal.kaliszczyk
- */
- #include "../include/CSRV_DCM.h"
- CSRV_DCM::CSRV_DCM(IDomesticInfo& refInterface,ILifecycleManager& refInterfaceLife):
- m_refIDomesticInfo(refInterface),m_refLifecycleManager(refInterfaceLife) {
- // TODO Auto-generated constructor stub
- }
- /* I could not pass here variable by reference */
- void CSRV_DCM::vSignalManager(int iSignal)
- {
- std::cout<<"Serwis zjesc sygnal :) "<<iSignal<<std::endl;
- }
- eErr CSRV_DCM::vAddSignal(int& iSignal)
- {
- eErr enReturnError = E_OK;
- if(0 != sigaction(iSignal, &m_act, NULL))
- {
- enReturnError = E_SRV_WRONG_SIGNAL;
- }
- PRINT_LOG(enReturnError);
- return enReturnError;
- }
- void CSRV_DCM::vAddCycleTime(const MESSAGE_ID& enMessageID,time_t& tCycleTime)
- {
- std::cout<<"Cycle Time Add = "<<tCycleTime<<"Dla MSG_ID = "<<enMessageID<<std::endl;
- m_Timer[enMessageID].t_CycleTime = tCycleTime;
- }
- void CSRV_DCM::vAddTimeOut(const MESSAGE_ID& enMessageID, time_t& tTimeOut)
- {
- std::cout<<"TimeOUT Add = "<<tTimeOut<<"Dla MSG_ID = "<<enMessageID<<std::endl;
- m_Timer[enMessageID].t_TimeOut = tTimeOut;
- }
- eErr CSRV_DCM::enInit()
- {
- eErr enReturnError = E_OK;
- if(0 == sigemptyset(&m_iset))
- {
- m_act.sa_handler = &vSignalManager;
- m_act.sa_mask = m_iset;
- m_act.sa_flags = 0;
- }
- else
- {
- enReturnError = E_SRV_SIG_NOT_EMPTY;
- }
- PRINT_LOG(enReturnError);
- return enReturnError;
- }
- eErr CSRV_DCM::enDeinit()
- {
- eErr enReturnError = E_OK;
- if(0 == sigemptyset(&m_iset))
- {
- enReturnError = E_SRV_SIG_NOT_EMPTY;
- }
- PRINT_LOG(enReturnError);
- return enReturnError;
- }
- //eErr CSRV_DCM::enInitInterfaceLifecycleManager(ILifecycleManager* const pxInterface)
- //{
- // eErr enReturnError = E_OK;
- //
- // if(0 == pxInterface)
- // {
- // enReturnError = E_SRV_NULL_PTR_1;
- // }
- // else
- // {
- // m_pxLifecycleManager = pxInterface;
- // }
- //
- // PRINT_LOG(enReturnError);
- // return enReturnError;
- //}
- //
- //eErr CSRV_DCM::enDeInitInterfaceLifecycleManager()
- //{
- // eErr enReturnError = E_OK;
- //
- // if(0 != m_pxLifecycleManager)
- // {
- // m_pxLifecycleManager = 0;
- // }
- // else
- // {
- // enReturnError = E_SRV_ALREADY_DEREGISTERED;
- // }
- //
- // PRINT_LOG(enReturnError);
- // return enReturnError;
- //}
- eErr CSRV_DCM::enSendDiagnosticMSG(const MSG& stMessage)
- {
- eErr enReturnError;
- uint16_t u16Payload = (uint16_t)(stMessage.DATA[1] + (stMessage.DATA[0] << 8));
- switch(u16Payload)
- {
- case DCM_RESET :
- enReturnError = m_refLifecycleManager.enStateChange(RESET);
- break;
- case DCM_SLEEP :
- enReturnError = m_refLifecycleManager.enStateChange(SLEEP);
- break;
- case DCM_WAKE_UP :
- enReturnError = m_refLifecycleManager.enStateChange(WAKE_UP);
- break;
- case DCM_SHUT_DOWN:
- enReturnError = m_refLifecycleManager.enStateChange(SHUT_DOWN);
- break;
- default:
- enReturnError = E_SRV_DCM_UNKOWN_PAYLOAD;
- break;
- }
- PRINT_LOG(enReturnError);
- return enReturnError;
- }
- eErr CSRV_DCM::enCheckValidMSG(MSG& sMessage)
- {
- eErr enReturnError = E_OK;
- timeval tTimer;
- //std::cout<<"CheckValidMsg "<<std::endl;
- gettimeofday(&tTimer, NULL);
- if(false == m_Timer[sMessage.MSG_ID].boStart)
- {
- m_Timer[sMessage.MSG_ID].boStart = true;
- // std::cout<<"First enter "<<std::endl;
- }
- else
- {
- //std::cout<<"Calculate"<<std::endl;
- m_Timer[sMessage.MSG_ID].t_CurrentTime = tTimer.tv_usec - m_Timer[sMessage.MSG_ID].t_CurrentTime ;
- if(m_Timer[sMessage.MSG_ID].t_TimeOut < m_Timer[sMessage.MSG_ID].t_CurrentTime)
- {
- enReturnError = E_SRV_TIME_OUT_MESSAGE;
- sMessage.boTimeOut = true;
- }
- }
- PRINT_LOG(enReturnError);
- return enReturnError;
- }
- CSRV_DCM::~CSRV_DCM() {
- // TODO Auto-generated destructor stub
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement