#include "StdAfx.h"
|
#include "MBTileUploadMgr.h"
|
|
|
CMBTileUploadMgr::CMBTileUploadMgr(void)
|
{
|
RemoveAllTUploadFileInfo();
|
}
|
|
|
CMBTileUploadMgr::~CMBTileUploadMgr(void)
|
{
|
RemoveAllTUploadFileInfo();
|
}
|
|
int CMBTileUploadMgr::GetCount()
|
{
|
CSingleLock lock( &m_cs, true );
|
return m_vectorTransInfo.size();
|
}
|
|
CMBUploadFileInfo *CMBTileUploadMgr::GetUploadFileInfo( int nIndex )
|
{
|
CSingleLock lock( &m_cs, true );
|
|
if( nIndex < 0 || nIndex >= GetCount() )
|
return NULL;
|
|
return m_vectorTransInfo[nIndex];
|
}
|
|
// Ìí¼ÓÊý¾Ý
|
bool CMBTileUploadMgr::AddUploadFileInfo(CAutoRefPtr<CMBUploadFileInfo> &pUploadFileInfo)
|
{
|
CSingleLock lock( &m_cs, true );
|
|
if( NULL == pUploadFileInfo || pUploadFileInfo->m_strID.IsEmpty() )
|
return false;
|
|
if(NULL == GetUploadFileInfo( pUploadFileInfo->m_strID ))
|
{
|
if( pUploadFileInfo->GetStatus() != CMBUploadFileInfo::Status_Finish )
|
{
|
m_vectorTransInfo.push_back(pUploadFileInfo);
|
}
|
}
|
|
return true;
|
}
|
|
// ²éÕÒ
|
CMBUploadFileInfo *CMBTileUploadMgr::GetUploadFileInfo( CString strID )
|
{
|
CSingleLock lock( &m_cs, true );
|
|
CMBUploadFileAutoPtrVector::iterator it;
|
CMBUploadFileInfo *pUploadFileInfo = NULL;
|
|
for( it = m_vectorTransInfo.begin();it != m_vectorTransInfo.end();it++ )
|
{
|
pUploadFileInfo = *it;
|
if( pUploadFileInfo->m_strID == strID)
|
return pUploadFileInfo;
|
}
|
return NULL;
|
}
|
|
// ÒÆ³ý
|
bool CMBTileUploadMgr::RemoveAllTUploadFileInfo()
|
{
|
CSingleLock lock( &m_cs, true );
|
|
m_vectorTransInfo.clear();
|
return true;
|
}
|
|
bool CMBTileUploadMgr::RemoveUploadFileInfo( CString strID )
|
{
|
CSingleLock lock( &m_cs, true );
|
|
CMBUploadFileInfo *pUploadFileInfo = GetUploadFileInfo( strID );
|
if( pUploadFileInfo == NULL )
|
return false;
|
|
CMBUploadFileAutoPtrVector::iterator it = find( m_vectorTransInfo.begin( ),m_vectorTransInfo.end( ), pUploadFileInfo );
|
if ( it != m_vectorTransInfo.end( ) )
|
{
|
m_vectorTransInfo.erase(it);
|
}
|
|
return true;
|
}
|
|
// ÒÆ³ýÍê³ÉµÄÎļþ
|
//bool CMBTileUploadMgr::RemoveFinishUploadFile( )
|
//{
|
// CMBUploadFileAutoPtrVector::iterator it;
|
// CMBUploadFileInfo *pUploadFileInfo = NULL;
|
//
|
// for( it = m_vectorTransInfo.begin();it != m_vectorTransInfo.end(); )
|
// {
|
// pUploadFileInfo = *it;
|
//
|
// if(pUploadFileInfo->GetStatus() == CMBUploadFileInfo::Status_Finish )
|
// {
|
// m_vectorTransInfo.erase(it++);
|
// }
|
// else
|
// {
|
// ++it;
|
// }
|
// }
|
// return true;
|
//}
|
|
|