123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- // RemoteUpgrade.cpp : implementation file
- //
- #include "stdafx.h"
- #include "StoneU_HC_OCX.h"
- #include "RemoteUpgrade.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CRemoteUpgrade dialog
- CRemoteUpgrade::CRemoteUpgrade(CWnd* pParent /*=NULL*/)
- : CDialog(CRemoteUpgrade::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CRemoteUpgrade)
- m_sUpgradeFile = _T("");
- m_static = _T("");
- //}}AFX_DATA_INIT
- }
- void CRemoteUpgrade::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CRemoteUpgrade)
- DDX_Text(pDX, IDC_UPGRADEFILE, m_sUpgradeFile);
- DDX_Text(pDX, IDC_UPGRADESTATIC, m_static);
- //}}AFX_DATA_MAP
- }
- BEGIN_MESSAGE_MAP(CRemoteUpgrade, CDialog)
- //{{AFX_MSG_MAP(CRemoteUpgrade)
- ON_BN_CLICKED(IDC_BUTTONBROWSEFILE, OnButtonbrowsefile)
- ON_BN_CLICKED(IDC_BUTTONBUPGRADE, OnButtonbupgrade)
- ON_BN_CLICKED(IDC_BUTTONBEXIT, OnButtonbexit)
- ON_WM_TIMER()
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CRemoteUpgrade message handlers
- void CRemoteUpgrade::OnButtonbrowsefile()
- {
- // TODO: Add your control notification handler code here
-
- static char szFilter[]="All File(*.*)|*.*||";
- CFileDialog dlg(TRUE,"*.*","digicap",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
- szFilter);
- if(dlg.DoModal()==IDOK)
- {
- m_sUpgradeFile = dlg.GetPathName();
- UpdateData(FALSE);
- }
- }
- void CRemoteUpgrade::OnButtonbupgrade()
- {
- // TODO: Add your control notification handler code here
- char filename[100];
-
- UpdateData(TRUE);
- strcpy(filename,m_sUpgradeFile);
- CFile file;
- if(!file.Open(filename,NULL))
- {
- MessageBox("打开文件失败或无此文件!", "温馨提示", MB_ICONINFORMATION);
- return;
- }
- DWORD dwFileSize = file.GetLength();
- if(dwFileSize == 0)
- MessageBox("升级文件为空!", "温馨提示", MB_ICONINFORMATION);
- file.Close();
- m_lUpgrade = NET_DVR_Upgrade(m_lServerID, filename);
- if(m_lUpgrade < 0)
- {
- MessageBox("升级失败!", "温馨提示", MB_ICONINFORMATION);
- }
- else
- {
- GetDlgItem(IDC_UPGRADESTATIC)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_BUTTONBUPGRADE)->EnableWindow(FALSE);
- GetDlgItem(IDC_BUTTONBEXIT)->EnableWindow(FALSE);
- GetDlgItem(IDC_BUTTONBROWSEFILE)->EnableWindow(FALSE);
- m_static = "状态:正在升级服务器,请等待......";
- m_bUpgrade = TRUE;
- m_nTime = SetTimer(UPGRADE_TIMER,1000,NULL);
- UpdateData(FALSE);
- }
- }
- void CRemoteUpgrade::OnButtonbexit()
- {
- // TODO: Add your control notification handler code here
- if(m_nTime)
- {
- KillTimer(UPGRADE_TIMER);
- }
- CDialog::OnCancel();
- }
- void CRemoteUpgrade::OnTimer(UINT nIDEvent)
- {
- // TODO: Add your message handler code here and/or call default
- if(nIDEvent == UPGRADE_TIMER)
- {
- if(m_bUpgrade)
- {
- int UpgradeStatic = NET_DVR_GetUpgradeState(m_lUpgrade);
- if(UpgradeStatic == 2)
- {
- m_static = "状态:正在升级服务器,请等待......";
- UpdateData(FALSE);
- }
- else
- {
- switch(UpgradeStatic) {
- case -1:
- MessageBox("升级失败!", "温馨提示", MB_ICONINFORMATION);
-
- break;
- case 1:
- m_static = "状态:升级服务器成功!";
- break;
- case 3:
- m_static = "状态:升级服务器失败!";
- break;
- case 4:
- m_static = "状态:网络断开,状态未知!";
- break;
- case 5:
- m_static = "状态:升级文件语言版本不匹配!";
- break;
- default:
- break;
- }
- UpdateData(FALSE);
- m_bUpgrade = FALSE;
- GetDlgItem(IDC_BUTTONBUPGRADE)->EnableWindow(TRUE);
- GetDlgItem(IDC_BUTTONBEXIT)->EnableWindow(TRUE);
- GetDlgItem(IDC_BUTTONBROWSEFILE)->EnableWindow(TRUE);
- NET_DVR_CloseUpgradeHandle(m_lUpgrade);
- }
- }
- }
- CDialog::OnTimer(nIDEvent);
- }
- BOOL CRemoteUpgrade::OnInitDialog()
- {
- CDialog::OnInitDialog();
-
- // TODO: Add extra initialization here
- m_sUpgradeFile.Format("c:\\digicap");
- UpdateData(FALSE);
- m_bUpgrade = FALSE;
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
- }
- void CRemoteUpgrade::OnCancel()
- {
- // TODO: Add extra cleanup here
-
- // CDialog::OnCancel();
- }
|