Index: src/libchcore/TSubTaskScanDirectory.cpp =================================================================== diff -u -N -ra27d1acf1bda3c25b6dcce0d0eb0278009ce63ae -r410f8f7b06e7639102eff1021e523b3cfdc185a2 --- src/libchcore/TSubTaskScanDirectory.cpp (.../TSubTaskScanDirectory.cpp) (revision a27d1acf1bda3c25b6dcce0d0eb0278009ce63ae) +++ src/libchcore/TSubTaskScanDirectory.cpp (.../TSubTaskScanDirectory.cpp) (revision 410f8f7b06e7639102eff1021e523b3cfdc185a2) @@ -255,14 +255,32 @@ return 0; } - void TSubTaskScanDirectories::Store(const ISerializerPtr& spSerializer) const { - spSerializer; + ISerializerContainerPtr spContainer = spSerializer->GetContainer(_T("subtask_scan")); + + InitColumns(spContainer); + + ISerializerRowData& rRow = spContainer->GetRow(0, m_tSubTaskStats.WasAdded()); + + m_tSubTaskStats.Store(rRow); } void TSubTaskScanDirectories::Load(const ISerializerPtr& spSerializer) { - spSerializer; + ISerializerContainerPtr spContainer = spSerializer->GetContainer(_T("subtask_scan")); + + InitColumns(spContainer); + + ISerializerRowReaderPtr spRowReader = spContainer->GetRowReader(); + if(spRowReader->Next()) + m_tSubTaskStats.Load(spRowReader); } + + void TSubTaskScanDirectories::InitColumns(const ISerializerContainerPtr& spContainer) const + { + IColumnsDefinition& rColumns = spContainer->GetColumnsDefinition(); + if(rColumns.IsEmpty()) + TSubTaskStatsInfo::InitColumns(rColumns); + } }