#include "StdAfx.h"
|
#include "MBTransSvrMgr.h"
|
|
|
//int m_gSec = 0;
|
namespace g_TransSvr
|
{
|
UINT g_nDisplayHistoryCount = 100; // ÀúÊ·ÏÔʾÊý
|
UINT g_nDisplayUploadCount = 100; // ÉÏ´«ÏÞÖÆÊý
|
UINT g_nDisplayDownloadCount = 100; // ÏÂÔØÏÞÖÆÊý
|
UINT g_nDisplayErrorCount = 100; // ´íÎóÏÞÖÆÊý
|
}
|
|
|
CMBTransSvrMgr::CMBTransSvrMgr(void)
|
{
|
m_pSvrMgr = NULL;
|
m_pTransMgr = new CMBTransMgr();
|
m_pTransMgr->InitPreDefDisplay(g_TransSvr::g_nDisplayUploadCount,g_TransSvr::g_nDisplayDownloadCount,g_TransSvr::g_nDisplayHistoryCount,g_TransSvr::g_nDisplayErrorCount);
|
|
m_pFileMD5Mgr = new CMBFileMD5Mgr();
|
|
m_pWatchMgr = new CMBWatchMgr();
|
// ÈÎÎñ¶ÓÁÐ
|
m_pTaskLoopMgr = new CMBTaskLoopMgr();
|
// ´´½¨¶ÓÁÐ
|
m_pTaskLoopMgr->CreateTaskLoop();
|
|
m_pThreadUploadSvr = new CMBThreadUploadSvr();
|
m_pThreadUploadDB = new CMBThreadUploadDB();
|
m_pThreadDownloadDB = new CMBThreadDownloadDB();
|
m_pThreadDownloadDisk = new CMBThreadDownloadDisk();
|
m_pThreadWatchDB = new CMBThreadWatchDB();
|
|
m_pOnlineEdDBMgr = new CMBOnlineEdDBMgr();
|
}
|
|
|
CMBTransSvrMgr::~CMBTransSvrMgr(void)
|
{
|
//////////////////////////////////////
|
MBSAFE_DELETE(m_pThreadUploadDB)
|
MBSAFE_DELETE(m_pThreadUploadSvr)
|
MBSAFE_DELETE(m_pThreadDownloadDB)
|
MBSAFE_DELETE(m_pThreadDownloadDisk)
|
|
MBSAFE_DELETE(m_pThreadWatchDB)
|
|
MBSAFE_DELETE(m_pTaskLoopMgr)
|
|
MBSAFE_DELETE(m_pTransMgr)
|
MBSAFE_DELETE(m_pFileMD5Mgr)
|
MBSAFE_DELETE(m_pOnlineEdDBMgr)
|
MBSAFE_DELETE(m_pWatchMgr)
|
}
|
|
|
CMBTransMgr *CMBTransSvrMgr::GetTransMgr()
|
{
|
return m_pTransMgr;
|
}
|
|
CMBFileMD5Mgr *CMBTransSvrMgr::GetFileMD5Mgr()
|
{
|
return m_pFileMD5Mgr;
|
}
|
|
CMBTaskLoopMgr *CMBTransSvrMgr::GetTaskLoopMgr()
|
{
|
return m_pTaskLoopMgr;
|
}
|
|
CMBWatchMgr *CMBTransSvrMgr::GetWatchMgr()
|
{
|
return m_pWatchMgr;
|
}
|
|
CMBThreadUploadSvr *CMBTransSvrMgr::GetThreadUploadSvr()
|
{
|
return m_pThreadUploadSvr;
|
}
|
|
CMBThreadUploadDB *CMBTransSvrMgr::GetThreadUploadDB()
|
{
|
return m_pThreadUploadDB;
|
}
|
|
CMBThreadDownloadDB *CMBTransSvrMgr::GetThreadDownloadDB()
|
{
|
return m_pThreadDownloadDB;
|
}
|
|
CMBThreadDownloadDisk *CMBTransSvrMgr::GetThreadDownloadDisk()
|
{
|
return m_pThreadDownloadDisk;
|
}
|
|
CMBOnlineEdDBMgr *CMBTransSvrMgr::GetOnlineEdDBMgr()
|
{
|
return m_pOnlineEdDBMgr;
|
}
|
|
CMBThreadWatchDB *CMBTransSvrMgr::GetTreadWatchDB()
|
{
|
return m_pThreadWatchDB;
|
}
|
|
void CMBTransSvrMgr::SetSvrMgr(CMBServerMgr *pSvrMgr)
|
{
|
m_pSvrMgr = pSvrMgr;
|
}
|
|
// ¿ªÊ¼´«Êä·þÎñ¹ÜÀíÆ÷
|
void CMBTransSvrMgr::StartTransSvrMgr(HWND hWnd)
|
{
|
// ÉÏ´«
|
if( m_pThreadUploadDB ){
|
m_pThreadUploadDB->SetHwnd(hWnd);
|
m_pThreadUploadDB->StartThread();
|
}
|
|
if(m_pThreadUploadSvr) {
|
m_pThreadUploadSvr->SetHwnd(hWnd);
|
m_pThreadUploadSvr->StartThread();
|
}
|
|
// ÏÂÔØ
|
if( m_pThreadDownloadDB )
|
m_pThreadDownloadDB->StartThread();
|
|
if(m_pThreadDownloadDisk)
|
m_pThreadDownloadDisk->StartThread();
|
|
if(m_pTaskLoopMgr)
|
m_pTaskLoopMgr->Sethwnd(hWnd );
|
|
// ¼àÊÓĿ¼Ïß³Ì
|
if( m_pThreadWatchDB )
|
m_pThreadWatchDB->StartThread();
|
}
|
|
// ½áÊø´«Êä·þÎñ¹ÜÀíÆ÷
|
void CMBTransSvrMgr::OverTransSvrMgr()
|
{
|
if(m_pThreadUploadDB)
|
m_pThreadUploadDB->OverThread();
|
|
if(m_pThreadUploadSvr)
|
m_pThreadUploadSvr->OverThread();
|
|
if(m_pThreadDownloadDB)
|
m_pThreadDownloadDB->OverThread();
|
|
if( m_pThreadDownloadDisk )
|
m_pThreadDownloadDisk->OverThread();
|
|
if( m_pThreadWatchDB )
|
m_pThreadWatchDB->OverThread();
|
|
// Í£Ö¹ ʼþ
|
if( m_pTaskLoopMgr )
|
m_pTaskLoopMgr->StopTaskLoop();
|
}
|
|
void CMBTransSvrMgr::Init( )
|
{
|
if( NULL == m_pSvrMgr )
|
return ;
|
|
CString strServerIP,strUserLogin,
|
strUserName,strUserSession;
|
int nPort = 0;
|
|
// µÃµ½ÍøÅ̵ØÖ·
|
strServerIP = m_pSvrMgr->GetNetDiskWebCMgr()->m_strServerIP;
|
nPort = m_pSvrMgr->GetNetDiskWebCMgr()->m_nPort;
|
strUserLogin = m_pSvrMgr->GetNetDiskWebCMgr()->m_strUserLogin;
|
strUserName = m_pSvrMgr->GetNetDiskWebCMgr()->m_strUserName;
|
strUserSession = m_pSvrMgr->GetNetDiskWebCMgr()->m_strUserSession;
|
// ÈÎÎñ¶ÓÁÐ
|
m_pTaskLoopMgr->SetServerInfo( strServerIP, nPort,strUserLogin,strUserName, strUserSession);
|
m_pTaskLoopMgr->SetTransMgr(m_pTransMgr);
|
m_pTaskLoopMgr->SetOnlineEdDBMgr(m_pOnlineEdDBMgr);
|
// ÉÏ´«·þÎñÏß³Ì
|
if(m_pThreadUploadSvr){
|
m_pThreadUploadSvr->SetFileMD5Mgr(m_pFileMD5Mgr);
|
m_pThreadUploadSvr->SetTaskLoopMgr(m_pTaskLoopMgr);
|
m_pThreadUploadSvr->SetTransAndServerMgr( m_pTransMgr,m_pSvrMgr );
|
}
|
// ÉÏ´«DBÏß³Ì
|
if(m_pThreadUploadDB)
|
{
|
m_pThreadUploadDB->SetTransMgr(m_pTransMgr);
|
m_pThreadUploadDB->SetTaskLoopMgr(m_pTaskLoopMgr);
|
}
|
// ÏÂÔØDBÏß³Ì
|
if( m_pThreadDownloadDB )
|
{
|
m_pThreadDownloadDB->SetTaskLoopMgr(m_pTaskLoopMgr);
|
m_pThreadDownloadDB->SetTransMgr(m_pTransMgr);
|
}
|
// ÏÂÔØDISKÏß³Ì
|
if( m_pThreadDownloadDisk )
|
{
|
m_pThreadDownloadDisk->SetTaskLoopMgr(m_pTaskLoopMgr);
|
m_pThreadDownloadDisk->SetSvrMgr(m_pSvrMgr);
|
m_pThreadDownloadDisk->SetTransMgr(m_pTransMgr);
|
}
|
// ¼à¹ÜĿ¼Ïß³Ì
|
if( m_pThreadWatchDB )
|
{
|
m_pThreadWatchDB->SetTransMgr(m_pTransMgr);
|
m_pThreadWatchDB->SetWatchMgr(m_pWatchMgr);
|
m_pThreadWatchDB->SetFileSFlag( m_pSvrMgr->GetUserLogin()->GetFileSvrInfo()->m_strFlag );
|
}
|
}
|
|
// ³õʼ»¯Êý¾Ý¿â
|
bool CMBTransSvrMgr::InitDB(BOOL &bStop,CString &strErrInfo )
|
{
|
BOOL bFirstDB = TRUE;
|
CString strDBPath = m_pSvrMgr->GetUserLogin()->m_strDBPath;
|
CString strDBOnlineEdPath = m_pSvrMgr->GetUserLogin()->m_strDBOnlineEdPath;
|
CString strLoginName = m_pSvrMgr->GetUserLogin()->m_strLoginName;
|
CString strServerID = m_pSvrMgr->GetUserLogin()->m_strOrgServerID;
|
CString strPassword = m_pSvrMgr->GetUserLogin()->m_strPwd;
|
// ³õʼ»¯Êý¾Ý¿âmbc.db
|
if( !m_pTransMgr->Init( bStop,strDBPath,strErrInfo ) )
|
return false;
|
// ³õʼ»¯Êý¾Ý¿âmbc_online_ed.db
|
if( !m_pOnlineEdDBMgr->Init( bStop,strDBOnlineEdPath,strErrInfo ) )
|
return false;
|
|
|
// ³õʼ»¯Êý¾Ý¿âmb_watch.db
|
if( !m_pWatchMgr->Init( strLoginName, _T(""), strServerID,bFirstDB, strErrInfo ) )
|
return false;
|
|
return true;
|
}
|