add transfer info delete.

This commit is contained in:
floyd 2015-07-06 00:05:23 +08:00
parent 5f622c4008
commit 445ae475e2
4 changed files with 50 additions and 12 deletions

View File

@ -537,12 +537,20 @@ BOOL CFileMgrDlg::IsEquPath( LPCTSTR filename,BOOL isRemote )
int nCount = list->GetItemCount();
BOOL ret = FALSE;
for(int j = 0 ; j < nCount ; j++)
{
CString str1 = list->GetItemText(j,0);
if (str1+_T(".cfg") == filename )
{
ret = FALSE;
break;
}
if (str1 == filename)
return TRUE;
ret = TRUE;
}
return FALSE;

View File

@ -166,6 +166,13 @@ void CTransferDlg::OnDestroy()
void CTransferDlg::OnBnClickedButtonStart()
{
POSITION pos = m_transList.GetFirstSelectedItemPosition();
if (pos == 0)
{
AfxMessageBox(_T("No selected!"));
return;
}
int index = m_transList.GetNextSelectedItem(pos);
TRANS_STATUS* pData = (TRANS_STATUS*)m_transList.GetItemData(index);
@ -177,7 +184,14 @@ void CTransferDlg::OnBnClickedButtonStart()
void CTransferDlg::OnBnClickedButtonStop()
{
POSITION pos = m_transList.GetFirstSelectedItemPosition();
POSITION pos = m_transList.GetFirstSelectedItemPosition();
if (pos == 0)
{
AfxMessageBox(_T("No selected!"));
return;
}
int index = m_transList.GetNextSelectedItem(pos);
TRANS_STATUS* pData = (TRANS_STATUS*)m_transList.GetItemData(index);
@ -189,9 +203,20 @@ void CTransferDlg::OnBnClickedButtonStop()
void CTransferDlg::OnBnClickedButtonDelete()
{
POSITION pos = m_transList.GetFirstSelectedItemPosition();
if (pos == 0)
{
AfxMessageBox(_T("No selected!"));
return;
}
int index = m_transList.GetNextSelectedItem(pos);
TRANS_STATUS* pData = (TRANS_STATUS*)m_transList.GetItemData(index);
DeleteFileTransfer(m_clientid,*pData);
m_transList.DeleteItem(index);
delete pData;
}

View File

@ -465,14 +465,11 @@ int CommManager::HttpMsgHandler( struct mg_connection *conn, enum mg_event ev )
sprintf_s(szLength,"%d",toSendBuffer.Size());
mg_send_header(conn,
"Content-Length",
szLength);
mg_send_header(conn,"Content-Length",szLength);
if (bNeedReply)
{
mg_send_data(conn,toSendBuffer,toSendBuffer.Size());
}
return MG_TRUE;
default: return MG_FALSE;

View File

@ -46,6 +46,13 @@ BOOL CFileTransfer::MsgHandler_GetFile_Proc(MSGID msgid, const CommData& commDat
do
{
ret = IsHasStop(serverpath.c_str());
if ( ret )
{
break;
}
TRANS_STATUS status;
ByteBuffer buffer;
@ -65,8 +72,8 @@ BOOL CFileTransfer::MsgHandler_GetFile_Proc(MSGID msgid, const CommData& commDat
UpdateTransferList(commData.GetClientID(),status);
//下载完成则停止请求
if (offset == FileSize)
//完成则停止请求
if ( offset == FileSize )
break;
CommData sendData;
@ -86,6 +93,7 @@ BOOL CFileTransfer::MsgHandler_GetFile_Proc(MSGID msgid, const CommData& commDat
break;
}
} while (FALSE);
return TRUE;
@ -230,16 +238,16 @@ BOOL CFileTransfer::DeleteTransferInfo(LPCTSTR clientid, TRANS_STATUS& status )
m_csProcessMap.Enter();
{
ProcessMap::iterator it = m_processMap.find(clientid);
if ( it == m_processMap.end() )
if ( it != m_processMap.end() )
{
TransStatusVector::iterator it2 = it->second.begin();
for ( ; it2 != it->second.end(); it2++ )
{
if (it2->second.strSPath == status.strSPath)
if (lstrcmp(it2->second.strSPath , status.strSPath) == 0)
{
DeleteStopList(status.strSPath);
it->second.erase(it2);
m_processMap[clientid].erase(it2);
break;
}
}