#ifndef __WATCHDOG_CLIENT_G_H #define __WATCHDOG_CLIENT_G_H #pragma once // This code is generated by spgen tool! #include "WatchDog_def_g.h" namespace WatchDog { class WatchDogService_ClientBase : public CClientSessionBase { public: WatchDogService_ClientBase(CEntityBase *pEntity) : m_pEntityBase(pEntity), m_bSysManaged(false) {} protected: virtual ~WatchDogService_ClientBase() {} public: ErrorCodeEnum Connect(CSmartPointer &spAsyncWait) { CSmartPointer pFunc = m_pEntityBase->GetFunction(); ErrorCodeEnum Error = pFunc->ConnectRemoteEntity(this, "WatchDog", "WatchDogService", spAsyncWait); if (Error == Error_Succeed) { m_bSysManaged = true; } return Error; } ErrorCodeEnum Connect() { CSmartPointer spAsyncWait; ErrorCodeEnum Error = Connect(spAsyncWait); if (Error == Error_Succeed) { Error = spAsyncWait->WaitAnswer(); } return Error; } ErrorCodeEnum StartWatch(WatchDogService_StartWatch_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); return pFunc->AsyncRequest(WatchDogService_Method_StartWatch, WatchDogService_MethodSignature_StartWatch, Buf, spAsyncWait, dwTimeout); } ErrorCodeEnum StartWatch(WatchDogService_StartWatch_Req &Req, WatchDogService_StartWatch_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = StartWatch(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum StartWatch(WatchDogService_StartWatch_Req &Req, WatchDogService_StartWatch_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = StartWatch(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum Refresh(WatchDogService_Refresh_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); return pFunc->AsyncRequest(WatchDogService_Method_Refresh, WatchDogService_MethodSignature_Refresh, Buf, spAsyncWait, dwTimeout); } ErrorCodeEnum Refresh(WatchDogService_Refresh_Req &Req, WatchDogService_Refresh_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = Refresh(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum Refresh(WatchDogService_Refresh_Req &Req, WatchDogService_Refresh_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = Refresh(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum StopWatch(WatchDogService_StopWatch_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); return pFunc->AsyncRequest(WatchDogService_Method_StopWatch, WatchDogService_MethodSignature_StopWatch, Buf, spAsyncWait, dwTimeout); } ErrorCodeEnum StopWatch(WatchDogService_StopWatch_Req &Req, WatchDogService_StopWatch_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = StopWatch(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum StopWatch(WatchDogService_StopWatch_Req &Req, WatchDogService_StopWatch_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = StopWatch(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } bool SafeDelete() { if (!m_bSysManaged) { delete this; } return m_bSysManaged; } protected: bool m_bSysManaged; CEntityBase *m_pEntityBase; }; /////////////////////////// } // namespace WatchDog #endif // __WATCHDOG_CLIENT_G_H