使用soui开发的mbc,只支持windows版本
w1146869587
2022-01-24 4905e2e7537d507f218e8e9595485e09d9f3a2b4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#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;
}