Index: src/libchcore/TSubTaskStatsInfo.cpp =================================================================== diff -u -N -rd5005ff4b983f42d7f0da94e5a562dabe1399f78 -r79399818d01f20d3a83766543e98ef5f0ee3de38 --- src/libchcore/TSubTaskStatsInfo.cpp (.../TSubTaskStatsInfo.cpp) (revision d5005ff4b983f42d7f0da94e5a562dabe1399f78) +++ src/libchcore/TSubTaskStatsInfo.cpp (.../TSubTaskStatsInfo.cpp) (revision 79399818d01f20d3a83766543e98ef5f0ee3de38) @@ -64,7 +64,8 @@ m_eSubOperationType(m_setModifications, eSubOperation_None), m_tTimer(m_setModifications), m_bIsInitialized(m_setModifications, false), - m_fcCurrentIndex(m_setModifications, 0) + m_fcCurrentIndex(m_setModifications, 0), + m_bCurrentItemSilentResume(m_setModifications, false) { m_setModifications[eMod_Added] = true; } @@ -86,6 +87,7 @@ m_eSubOperationType = eSubOperation_None; m_bIsInitialized = false; m_fcCurrentIndex = 0; + m_bCurrentItemSilentResume = false; } void TSubTaskStatsInfo::GetSnapshot(TSubTaskStatsSnapshotPtr& spStatsSnapshot) const @@ -310,6 +312,8 @@ rRowData.SetValue(_T("ci_processed_size"), m_ullCurrentItemProcessedSize); if(m_ullCurrentItemTotalSize.IsModified()) rRowData.SetValue(_T("ci_total_size"), m_ullCurrentItemTotalSize); + if (m_bCurrentItemSilentResume.IsModified()) + rRowData.SetValue(_T("ci_silent_resume"), m_bCurrentItemSilentResume); if(m_fcCurrentIndex.IsModified()) rRowData.SetValue(_T("current_index"), m_fcCurrentIndex); @@ -340,6 +344,7 @@ rColumnDefs.AddColumn(_T("count_speed"), IColumnsDefinition::eType_string); rColumnDefs.AddColumn(_T("ci_processed_size"), IColumnsDefinition::eType_ulonglong); rColumnDefs.AddColumn(_T("ci_total_size"), IColumnsDefinition::eType_ulonglong); + rColumnDefs.AddColumn(_T("ci_silent_resume"), IColumnsDefinition::eType_bool); rColumnDefs.AddColumn(_T("current_index"), ColumnType::value); rColumnDefs.AddColumn(_T("timer"), IColumnsDefinition::eType_ulonglong); rColumnDefs.AddColumn(_T("buffer_index"), IColumnsDefinition::eType_int); @@ -370,6 +375,7 @@ spRowReader->GetValue(_T("ci_processed_size"), m_ullCurrentItemProcessedSize.Modify()); spRowReader->GetValue(_T("ci_total_size"), m_ullCurrentItemTotalSize.Modify()); + spRowReader->GetValue(_T("ci_silent_resume"), m_bCurrentItemSilentResume.Modify()); spRowReader->GetValue(_T("current_index"), m_fcCurrentIndex.Modify()); unsigned long long ullTimer = 0; @@ -443,6 +449,18 @@ return m_ullCurrentItemTotalSize; } +bool TSubTaskStatsInfo::CanCurrentItemSilentResume() const +{ + boost::shared_lock lock(m_lock); + return m_bCurrentItemSilentResume; +} + +void TSubTaskStatsInfo::SetCurrentItemSilentResume(bool bEnableSilentResume) +{ + boost::unique_lock lock(m_lock); + m_bCurrentItemSilentResume = bEnableSilentResume; +} + bool TSubTaskStatsInfo::WasAdded() const { boost::shared_lock lock(m_lock);