Index: src/ch/TBasicProgressInfo.cpp =================================================================== diff -u -N -r6e8aa26e2428e3bc71099255c5911f57bc722100 -r5fd6beaad9f1eccb664b997d151acb59961e4827 --- src/ch/TBasicProgressInfo.cpp (.../TBasicProgressInfo.cpp) (revision 6e8aa26e2428e3bc71099255c5911f57bc722100) +++ src/ch/TBasicProgressInfo.cpp (.../TBasicProgressInfo.cpp) (revision 5fd6beaad9f1eccb664b997d151acb59961e4827) @@ -22,6 +22,8 @@ // ============================================================================ #include "stdafx.h" #include "TBasicProgressInfo.h" +#include "..\libchcore\TBinarySerializer.h" +#include "..\libchcore\SerializationHelpers.h" TTaskBasicProgressInfo::TTaskBasicProgressInfo() : @@ -90,3 +92,40 @@ boost::unique_lock lock(m_lock); ++m_stSubOperationIndex; } + +void TTaskBasicProgressInfo::Serialize(chcore::TReadBinarySerializer& rSerializer) +{ + using chcore::Serializers::Serialize; + + size_t stCurrentIndex = 0; + Serialize(rSerializer, stCurrentIndex); + + unsigned long long ullCurrentFileProcessedSize = 0; + Serialize(rSerializer, ullCurrentFileProcessedSize); + + size_t stSubOperationIndex = 0; + Serialize(rSerializer, stSubOperationIndex); + + boost::unique_lock lock(m_lock); + + m_stCurrentIndex = stCurrentIndex; + m_ullCurrentFileProcessedSize = ullCurrentFileProcessedSize; + m_stSubOperationIndex = stSubOperationIndex; +} + +void TTaskBasicProgressInfo::Serialize(chcore::TWriteBinarySerializer& rSerializer) const +{ + using chcore::Serializers::Serialize; + + m_lock.lock_shared(); + + size_t stCurrentIndex = m_stCurrentIndex; + unsigned long long ullCurrentFileProcessedSize = m_ullCurrentFileProcessedSize; + size_t stSubOperationIndex = m_stSubOperationIndex; + + m_lock.unlock_shared(); + + Serialize(rSerializer, stCurrentIndex); + Serialize(rSerializer, ullCurrentFileProcessedSize); + Serialize(rSerializer, stSubOperationIndex); +}