#include "StdAfx.h"
|
#include "MBTaskLoopMgr.h"
|
|
CMBTaskLoopMgr::CMBTaskLoopMgr(void)
|
{
|
m_pUploadComMgr = new SComMgr();
|
m_pUploadTaskLoop = NULL;
|
// ÏÂÔØ¶ÓÁÐ
|
m_pDownloadComMgr = new SComMgr();
|
m_pDownloadTaskLoop = NULL;
|
}
|
|
|
CMBTaskLoopMgr::~CMBTaskLoopMgr(void)
|
{
|
MBSAFE_DELETE(m_pUploadComMgr)
|
MBSAFE_DELETE(m_pDownloadComMgr)
|
}
|
|
void CMBTaskLoopMgr::SetServerInfo( CString strServerIP,int nPort,CString strUserLogin,CString strUserName,CString strUserSession )
|
{
|
m_UploadAsyncTask.SetServerInfo( strServerIP, nPort, strUserLogin, strUserName, strUserSession );
|
m_DownloadAsyncTask.SetServerInfo( strServerIP, nPort,strUserLogin,strUserName,strUserSession );
|
}
|
|
void CMBTaskLoopMgr::SetTransMgr( CMBTransMgr *pTransMgr )
|
{
|
m_UploadAsyncTask.SetTransMgr( pTransMgr );
|
m_DownloadAsyncTask.SetTransMgr( pTransMgr );
|
}
|
|
void CMBTaskLoopMgr::SetOnlineEdDBMgr( CMBOnlineEdDBMgr *pOnlineEdDBMgr )
|
{
|
m_UploadAsyncTask.SetOnlineEdDBMgr(pOnlineEdDBMgr);
|
}
|
|
void CMBTaskLoopMgr::Sethwnd( HWND hWnd )
|
{
|
m_hWnd = hWnd;
|
//m_UploadAsyncTask.Sethwnd( hWnd );
|
}
|
|
void CMBTaskLoopMgr::PostCreateCatalogTask( CMBUploadFileInfo *pUploadFileInfo, bool waitUntilDone )
|
{
|
STaskHelper::post(m_pUploadTaskLoop, &m_UploadAsyncTask, &CMBUploadAsyncTask::CreateCatalogTask,pUploadFileInfo, waitUntilDone);
|
}
|
|
void CMBTaskLoopMgr::PostGetDocInfoTask( CMBDownFileInfo *pDownFileInfo, bool waitUntilDone )
|
{
|
STaskHelper::post(m_pDownloadTaskLoop, &m_DownloadAsyncTask, &CMBDownloadAsyncTask::GetDocInfo,pDownFileInfo, waitUntilDone);
|
}
|
|
void CMBTaskLoopMgr::PostGetDocListTask( CMBDownDirInfo *pDownDirInfo, bool waitUntilDone )
|
{
|
STaskHelper::post(m_pDownloadTaskLoop, &m_DownloadAsyncTask, &CMBDownloadAsyncTask::GetDocList,pDownDirInfo, waitUntilDone);
|
}
|
|
void CMBTaskLoopMgr::PostCreateDocTask(CMBUploadFileInfo *pUploadFileInfo,bool waitUntilDone)
|
{
|
STaskHelper::post(m_pUploadTaskLoop, &m_UploadAsyncTask, &CMBUploadAsyncTask::CreateDocTask,pUploadFileInfo, waitUntilDone);
|
}
|
|
void CMBTaskLoopMgr::PostGetDocList2Task(CMBSvrDiff *pSvrDiff,bool waitUntilDone)
|
{
|
STaskHelper::post(m_pUploadTaskLoop, &m_UploadAsyncTask, &CMBUploadAsyncTask::GetDocList2,pSvrDiff, waitUntilDone);
|
}
|
|
void CMBTaskLoopMgr::PostEditDocTask(CMBUploadFileInfo *pUploadFileInfo,bool waitUntilDone)
|
{
|
STaskHelper::post(m_pUploadTaskLoop, &m_UploadAsyncTask, &CMBUploadAsyncTask::EditDocTask,pUploadFileInfo, waitUntilDone);
|
}
|
|
|
bool CMBTaskLoopMgr::CreateTaskLoop()
|
{
|
// ÉÏ´«Òì²½ÈÎÎñ¡£
|
if (m_pUploadComMgr->CreateTaskLoop((IObjRef**)&m_pUploadTaskLoop))
|
{
|
m_pUploadTaskLoop->start("Upload", ITaskLoop::Low);
|
}
|
// ÏÂÔØÒì²½ÈÎÎñ
|
if (m_pDownloadComMgr->CreateTaskLoop((IObjRef**)&m_pDownloadTaskLoop))
|
{
|
m_pDownloadTaskLoop->start("Download", ITaskLoop::Low);
|
}
|
return true;
|
}
|
|
bool CMBTaskLoopMgr::StopTaskLoop()
|
{
|
if(m_pUploadTaskLoop)
|
{
|
m_pUploadTaskLoop->stop();
|
m_pUploadTaskLoop = NULL;
|
}
|
if(m_pDownloadTaskLoop)
|
{
|
m_pDownloadTaskLoop->stop();
|
m_pDownloadTaskLoop = NULL;
|
}
|
|
return true;
|
}
|