//基类 #include "WatchDogClass.h" //辅助类 #include "CILIX_AUX_UTILS.h" #include "WATCHDOG.h" #ifdef __cplusplus extern "C" { #endif #pragma pack(push, 1) #define WDT_API __attribute__((visibility("default"))) typedef WATCHDOG *(*pCreat_WATCHDOG)(); typedef void *(*pDestory_WATCHDOG)(WATCHDOG *p); class watchdog_nantian : public WatchDogClass { public: watchdog_nantian(void); ~watchdog_nantian(); public: //通用接口 ErrorCodeEnum GetDevCategory(DevCategoryInfo &devCategory); ErrorCodeEnum Reset(); ErrorCodeEnum DevClose(); ErrorCodeEnum GetLastErr(DevErrorInfo &devErrInfo); //wdt ErrorCodeEnum DevOpen(); ErrorCodeEnum StartWatch(DWORD dwDelay, DWORD dwTimeout); ErrorCodeEnum StopWatch(); ErrorCodeEnum RefreshDog(); private: void *dplHandle; WATCHDOG *m_device; CILIXTrace *m_trace; DevErrorInfo m_errorInfo; bool LoadNTDRVSO(); pCreat_WATCHDOG VC_Creat_WATCHDOG; pDestory_WATCHDOG VC_Destory_WATCHDOG; }; WDT_API ErrorCodeEnum CreateDevComponent(DeviceBaseClass *&baseObj); WDT_API ErrorCodeEnum ReleaseDevComponent(DeviceBaseClass *&pBaseObj); #pragma pack(pop) #ifdef __cplusplus } #endif