使用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
104
105
106
107
108
109
110
111
112
113
114
115
116
#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;
//}