| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #ifndef __WATCHDOG_H
- #define __WATCHDOG_H
- #pragma once
- #include "stdafx.h"
- #include "SpBase.h"
- #include "modVer.h"
- #include "SpTest.h"
- #include "WatchDogClass.h"
- #include "WatchDogFSM.h"
- #include "DevEntityCommBase.hpp"
- using namespace WatchDog;
- class CWatchDogEntity;
- class WatchDogServerSession : public WatchDogService_ServerSessionBase
- {
- public:
- WatchDogServerSession(CWatchDogEntity* pEntity) : m_pEntity(pEntity){}
- virtual ~WatchDogServerSession(){}
- virtual void Handle_StartWatch(SpReqAnsContext<WatchDogService_StartWatch_Req,WatchDogService_StartWatch_Ans>::Pointer ctx);
- virtual void Handle_Refresh(SpReqAnsContext<WatchDogService_Refresh_Req, WatchDogService_Refresh_Ans>::Pointer ctx);
- virtual void Handle_StopWatch(SpReqAnsContext<WatchDogService_StopWatch_Req, WatchDogService_StopWatch_Ans>::Pointer ctx);
- private:
- CWatchDogEntity* m_pEntity;
- };
- class CWatchDogEntity : public CDevAdptEntityBase
- {
- public:
- CWatchDogEntity(){}
- virtual ~CWatchDogEntity(){}
- virtual const char *GetEntityName() const { return "WatchDog"; }
- const char* GetEntityVersion() const { return MODULE_VERSION_FULL; }
- ON_ENTITYT_TEST()
- virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext)
- {
- LOG_FUNCTION();
- ErrorCodeEnum err = m_fsm.Init(this);
- pTransactionContext->SendAnswer(err);
- }
- virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,CSmartPointer<ITransactionContext> pTransactionContext)
- {
- pTransactionContext->SendAnswer(Error_Succeed);
- }
- virtual void OnPrePause(CSmartPointer<ITransactionContext> pTransactionContext)
- {
- pTransactionContext->SendAnswer(Error_Succeed);
- }
- virtual CServerSessionBase* OnNewSession(const char*,const char*)
- {
- LOG_FUNCTION();
- return new WatchDogServerSession(this);
- }
- void StartWatch(SpReqAnsContext<WatchDogService_StartWatch_Req,WatchDogService_StartWatch_Ans>::Pointer ctx)
- {
- StartWatchEvent* e = new StartWatchEvent();
- e->ctx = ctx;
- m_fsm.PostEventFIFO(e);
- }
- void Refresh(SpReqAnsContext<WatchDogService_Refresh_Req,WatchDogService_Refresh_Ans>::Pointer ctx)
- {
- RefreshEvent* e = new RefreshEvent();
- e->ctx = ctx;
- m_fsm.PostEventFIFO(e);
- }
- void StopWatch(SpReqAnsContext<WatchDogService_StopWatch_Req,WatchDogService_StopWatch_Ans>::Pointer ctx)
- {
- StopWatchEvent* e = new StopWatchEvent();
- e->ctx = ctx;
- m_fsm.PostEventFIFO(e);
- }
- virtual bool IsService()const{return true;}
- private:
- CWatchDogFSM m_fsm;
- };
- #endif //__WATCHDOG_H
|