需要理解核心的数据结构
typedef struct tagDeviceMaintParam
{
int iMaintWorkMode; // 是否高级模式
BOOL bEnable; // 是否启用设备自动维护
int iMode; // 维护模式:0-每天 1-每周 2-单次
BOOL bWeekdayEnable[7]; // 每周维护的日期
tagTime tTimeMaint; // 维护的时间
tagTime tTimeNext; // 下次维护时间
}T_DEVICEMAINTPARAM, *H_DEVICEMAINTPARAM;
第一点:
如何linux 关于时间的函数问题 。
第二点:
Edvr.cfg 什么时候创建的文件
第三点:
接口设计 和 变量于变量之间的关系
第四点: 核心部件
int StartMaintenanceTask();
void* work_thread(void *org);
typedef void(*CallBack)();
//维护回调函数
CallBack m_CallBack;
4.1部分 线程
pthread_attr_t new_attr;
pthread_t thread_t;
pthread_attr_init (&new_attr);
pthread_attr_setdetachstate (&new_attr, PTHREAD_CREATE_DETACHED);
第五点; 回调函数
EGUI_main.c
MPU_SYS_Maintenance_SetCallBack(Maintenance_Cb);
调用情况;
ret = SendNotifyMessage(GetStartWindow(), MSG_REBOOT_TIMER, Reboot_Maintenance, (LPARAM)0);
涉及到的相关的窗口
static int StartWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam {
case MSG_REBOOT_TIMER:
{
Reboot_Time(Gui_GetActiveWindow(), wParam); //Gui_GetActiveWindow 当前激活的窗口作为父窗口
return 0;
}
}