#if !defined(AFX_DLGBURN_H__EB833CD8_F326_4021_B29F_8BF8F03A460B__INCLUDED_) #define AFX_DLGBURN_H__EB833CD8_F326_4021_B29F_8BF8F03A460B__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // DlgBurn.h : header file // #include "ListViewCtrlEx.h" #include "TextProgressCtrl.h" #include "MyRichEditCtrl.h" #define WM_BURN_WORK_START WM_USER+12 #define WM_BURN_STATUS WM_USER+13 #define ITEM_OCX 1 #define ITEM_WEB 2 #define ITEM_FW 3 #define ITEM_BL 4 class CUDPAdminToolDlg; enum { eProgress, eItem, // ÇÑ°³ÀÇ Àåºñ¿¡ ocx, web, fireware eStatus, eLog, eTotalLog, eEnumProgress }; class CDlgBurn; typedef struct _THREAD_PARAM { CDlgBurn* dlg_; int _cnt_; int index; BOOL bQuit; } THREAD_PARAM; ///////////////////////////////////////////////////////////////////////////// // CDlgBurn dialog class CDlgBurn : public CDialog { // Construction public: CDlgBurn(CWnd* pParent = NULL); // standard constructor CUDPAdminToolDlg* parent_; //CTextProgressCtrl* prog_; ULONG m_uItemIndex[MAXCLIENT]; BOOL m_bUpdateOcx; BOOL m_bUpdateWeb; BOOL m_bUpdateFirmware; BOOL m_bUpdateBootloader; // log·Î ÀúÀå °ü·Ã BOOL m_bSaveLog; CString m_sLogName; void SetProgress(const char *pszIP, ULONG uPos); // Dialog Data //{{AFX_DATA(CDlgBurn) enum { IDD = IDD_DIALOG_BURN }; CButton m_btnForce; CMyRichEditCtrl m_richLog; CListCtrlEx m_lstDevice; CString m_sStCount; BOOL m_bChkAutoReboot; CString m_sEdLoop; CString m_sEdToggle; BOOL m_bChkSaveLog; //}}AFX_DATA // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CDlgBurn) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: // Generated message map functions //{{AFX_MSG(CDlgBurn) virtual BOOL OnInitDialog(); afx_msg void OnButtonStart(); virtual void OnCancel(); afx_msg void OnClose(); afx_msg void OnClickListDevice(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnTimer(UINT nIDEvent); afx_msg void OnButtonLog(); afx_msg void OnDestroy(); //}}AFX_MSG afx_msg LRESULT OnBurnWorkStart(WPARAM wp, LPARAM lp); afx_msg LRESULT OnBurnStatus(WPARAM wp, LPARAM lp); DECLARE_MESSAGE_MAP() void InitHeaderItem(); void refresh_server_list(); void clear_list(); // work~ void EnableControl(BOOL bEn); // -1 : upgrade ³»ºÎ ¿À·ù // -2 : Thread³»ºÎ¿¡¼­ ¿À·ù // -3 : Thread waitforsingleObject ¿À·ù // cnt : Å×½ºÆ® ¸ðµåÀÏ °æ¿ì ¹Ýº¹ Ƚ¼öÀÔ´Ï´Ù. int upgrade_thread(int cnt); void start_prog(int index, int time); //void modify_prog(int time); void end_prog(int index); void show_info(int nitem); private: static UINT WINAPI ThreadBrunStub(LPVOID lpParam); UINT WINAPI ThreadBrun(LPVOID lpParam); private: //HANDLE m_hThreadBurn[MAXCLIENT]; CWinThread* m_hThreadBurn[MAXCLIENT]; // - cjy, 08_0108 15:56 THREAD_PARAM m_threadUp[MAXCLIENT]; ULONG m_uElapsed[MAXCLIENT]; BOOL m_bCancel; CRITICAL_SECTION m_CritSec; }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_DLGBURN_H__EB833CD8_F326_4021_B29F_8BF8F03A460B__INCLUDED_)