#include <fsc_Copy.h>


Definition at line 37 of file fsc_Copy.h.
Public Member Functions | |
| fsc_Copy () | |
| Default constructor. | |
| fsc_Copy (fsc_MedPosMgr *a_medPosMgr_p, df_SplitInfo &a_splitInfo) | |
| Move media position instance from higher level to copy splitInfor is only for set common data. | |
| fsc_Copy (fsc_dlcType_e a_dclType, fsc_EntryMgr *a_entryMgr_p, ivd_DataType_t a_dataType) | |
| fsc_Copy (df_SplitInfo &a_splitInfo) | |
| fsc_Copy (fsc_Split *a_split_p) | |
| NOTE a_split_p must be used or deleted. | |
| fsc_Copy (const fsc_Copy_t &a_copy) | |
| ~fsc_Copy () | |
| sp_State_e | AddSplit (fsc_Split *a_split_p, fsc_Split_p_l_i &a_possibleInsertPoint, fsc_Split_p_l_t &a_replacedSplit_p_l) |
| void | AddSplit (fsc_Split_p_l_i &a_insertPoint, fsc_Split *a_split_p) |
| void | Remove (ivd_MediaKey_t a_mediumKey, ivd_MedVolNum_t a_medVolNum, fsc_Split_p_l_t &a_replacedSplit_p_l) |
| remove all entries from particular volume. | |
| bool | Remove (ivd_MediaKey_t a_mediumKey, ivd_MedVolNum_t a_medVolNum, UInt32_t a_blockOffs, fsc_Split_p_l_t &a_replacedSplit_p_l) |
| Remove one particular entry. | |
| bool | isEqual (df_SplitInfo &a_splitInfo) |
| check if current copy has common parts of data in its splits | |
| bool | isReorganized () |
| void | GetMediaPos (ivd_MediaPos_v_t &a_mediaPos_v, fsc_MigInfo_t &migInfo) |
| Get all media position from copy. | |
| void | ReadMembers () |
| create and read next level members | |
| bool | Write2DB (fsc_Copy_t &a_copyData, fio_Transaction &a_trans) |
| invoke next level write2DB and collect data for previous level | |
| void | Dump (ostream &os) |
| bool | TreeWalk (fsc_Collector &a_collector) |
Public Attributes | |
| ivd_DataType_t | m_dataType |
| all data type that are stored in splits | |
| bool | m_reorganized |
| log_CLASSID_m | |
| fsc_Copy::fsc_Copy | ( | ) |
Default constructor.
Definition at line 37 of file fsc_Copy.cpp.
00038 : 00039 fsc_Entry(), 00040 m_dataType(dlc_NotUsed), 00041 m_reorganized(false) 00042 { 00043 // log_FUNC_m(fsc_Copy()); 00044 // Empty 00045 }
| fsc_Copy::fsc_Copy | ( | fsc_MedPosMgr * | a_medPosMgr_p, | |
| df_SplitInfo & | a_splitInfo | |||
| ) |
Move media position instance from higher level to copy splitInfor is only for set common data.
| fsc_Copy::fsc_Copy | ( | fsc_dlcType_e | a_dclType, | |
| fsc_EntryMgr * | a_entryMgr_p, | |||
| ivd_DataType_t | a_dataType | |||
| ) |
Definition at line 48 of file fsc_Copy.cpp.
00052 : 00053 // fix bug 00054 fsc_Entry(a_dclType, a_entryMgr_p), 00055 m_dataType(a_dataType), 00056 m_reorganized(false) 00057 { 00058 // log_FUNC_m(fsc_Copy(fsc_dlcType_e, fsc_EntryMgr, ivd_DataType_t)); 00059 } //============================================================================//
| fsc_Copy::fsc_Copy | ( | df_SplitInfo & | a_splitInfo | ) |
Definition at line 62 of file fsc_Copy.cpp.
References dlc_MediaPos, dlc_Split, fsc_Entry::InitNextEntry(), df_SplitInfo::lastSplit, and df_SplitInfo::splitOffset.
00063 : 00064 fsc_Entry(), 00065 m_dataType(a_splitInfo.dataType), 00066 m_reorganized(false) 00067 { 00068 // log_FUNC_m(fsc_Copy(df_SplitInfo)); 00069 00070 if ( !a_splitInfo.lastSplit 00071 || a_splitInfo.splitOffset > 0) { //FIX bug 680 if split then generate another empty 00072 fsc_Entry::InitNextEntry(dlc_Split, new fsc_SplitMgr(a_splitInfo)); 00073 00074 } 00075 else { // not last split create media position 00076 fsc_Entry::InitNextEntry(dlc_MediaPos, new fsc_MedPosMgr(a_splitInfo)); 00077 00078 } 00079 } //============================================================================//

| fsc_Copy::fsc_Copy | ( | fsc_Split * | a_split_p | ) |
NOTE a_split_p must be used or deleted.
Definition at line 82 of file fsc_Copy.cpp.
References dlc_MediaPos, dlc_Split, fsc_Entry::InitNextEntry(), fsc_Entry::m_entryMgr_p, fsc_Split::m_lastSplit, fsc_Split::m_offset, and NULL.
00083 : 00084 fsc_Entry(), 00085 m_dataType(a_split_p->m_dataType), 00086 m_reorganized(false) 00087 { 00088 // log_FUNC_m(fsc_Copy(fsc_Split*)); 00089 00090 if ( !a_split_p->m_lastSplit 00091 || a_split_p->m_offset > 0) { //FIX bug 680 if split then generate another empty 00092 fsc_Entry::InitNextEntry(dlc_Split, new fsc_SplitMgr(a_split_p)); 00093 00094 } 00095 else { // not last split use only media position 00096 // FIX bug 832 00097 fsc_Entry::InitNextEntry(dlc_MediaPos, a_split_p->m_entryMgr_p); 00098 a_split_p->m_entryMgr_p = NULL; // to prevent delete 00099 delete a_split_p; 00100 } 00101 } //============================================================================//

| fsc_Copy::fsc_Copy | ( | const fsc_Copy_t & | a_copy | ) |
Definition at line 104 of file fsc_Copy.cpp.
00105 : 00106 fsc_Entry(a_copy.nextEntity), 00107 // m_copyID(a_copy.copyID), 00108 m_dataType(a_copy.nextEntity.dataType), 00109 m_reorganized(false) 00110 { 00111 // log_FUNC_m(fsc_Copy(fsc_Copy_t)); 00112 } //============================================================================//
| fsc_Copy::~fsc_Copy | ( | ) |
| sp_State_e fsc_Copy::AddSplit | ( | fsc_Split * | a_split_p, | |
| fsc_Split_p_l_i & | a_possibleInsertPoint, | |||
| fsc_Split_p_l_t & | a_replacedSplit_p_l | |||
| ) |
Definition at line 120 of file fsc_Copy.cpp.
References fsc_SplitMgr::AddSplit(), cmn_Num2Str(), dbg_DETAIL, dlc_MediaPos, dlc_Split, fsc_NextEntity_t::dlcType, fsc_Split::Dump(), ie_INVALID_ARG, fsc_MedPosMgr::IsItEqual(), log_DBG_m, log_FUNC_m, fsc_Entry::m_changed, fsc_Split::m_dataType, m_dataType, fsc_Entry::m_entryMgr_p, fsc_Entry::m_nextEntry, ReadMembers(), sp_ALREADY_ADDED, sp_INSERTTED, and sp_NEW_COPY.
Referenced by AddSplit().
00122 { 00123 00124 ReadMembers(); 00125 00126 // check if some new data type is add 00127 ivd_DataType_t dataType = m_dataType | a_split_p->m_dataType; 00128 00129 switch (m_nextEntry.dlcType) { 00130 case dlc_Split : { 00131 if ( dataType != m_dataType) { 00132 m_dataType = dataType; 00133 m_changed = true; 00134 } 00135 fsc_SplitMgr* p = static_cast<fsc_SplitMgr*>(m_entryMgr_p); 00136 return p->AddSplit(a_split_p, a_possibleInsertPoint, a_replacedSplit_p_l); 00137 } 00138 break; 00139 00140 case dlc_MediaPos : { 00141 fsc_MedPosMgr* p = static_cast<fsc_MedPosMgr*>(m_entryMgr_p); 00142 if (p->IsItEqual(*static_cast<fsc_MedPosMgr*>(a_split_p->m_entryMgr_p))) { 00143 log_FUNC_m(AddSplit); 00144 // correct data type if neccesary. 00145 // because of bug 4491. 00146 // bug when data type is changed before copy (split) is realocated, 00147 // so its realocated data type is changed. 00148 log_DBG_m(dbg_DETAIL, "m_dataType: " << m_dataType 00149 << ", a_split_p->m_dataType: " << a_split_p->m_dataType); 00150 if (m_dataType != a_split_p->m_dataType) { 00151 m_dataType = a_split_p->m_dataType; 00152 m_changed = true; 00153 } 00154 return sp_ALREADY_ADDED; 00155 } 00156 return sp_NEW_COPY; 00157 } 00158 break; 00159 00160 default: 00161 stringstream dump; 00162 a_split_p->Dump(dump); 00163 log_FUNC_m(AddSplit); 00164 throw ivd_InternalError(ie_INVALID_ARG, 00165 "Wrong dlcType =" + cmn_Num2Str((int)m_nextEntry.dlcType) + dump.str(), true); 00166 break; 00167 } 00168 return sp_INSERTTED; 00169 }


| void fsc_Copy::AddSplit | ( | fsc_Split_p_l_i & | a_insertPoint, | |
| fsc_Split * | a_split_p | |||
| ) |
Definition at line 172 of file fsc_Copy.cpp.
References AddSplit(), cmn_Num2Str(), dlc_Split, fsc_NextEntity_t::dlcType, fsc_Split::Dump(), ie_INVALID_ARG, log_FUNC_m, fsc_Entry::m_changed, fsc_Split::m_dataType, m_dataType, fsc_Entry::m_entryMgr_p, fsc_Entry::m_nextEntry, and fsc_SplitMgr::m_split_p_l.
00173 { 00174 00175 // log_FUNC_m(AddSplit(fsc_Split_p_l_i&, fsc_Split*)); 00176 00177 // it is called after upper AddSplit(...) method so it already has members 00178 // ReadMembers(); 00179 00180 // check if some new data type is add 00181 ivd_DataType_t dataType = m_dataType | a_split_p->m_dataType; 00182 if ( dataType != m_dataType) { 00183 m_dataType = dataType; 00184 m_changed = true; 00185 } 00186 00187 switch (m_nextEntry.dlcType) { 00188 case dlc_Split : { 00189 fsc_SplitMgr* p = static_cast<fsc_SplitMgr*>(m_entryMgr_p); 00190 p->m_split_p_l.insert(a_insertPoint, a_split_p); 00191 } 00192 break; 00193 00194 default: 00195 log_FUNC_m(AddSplit(fsc_Split_p_l_i&, fsc_Split*)); 00196 stringstream dump; 00197 a_split_p->Dump(dump); 00198 throw ivd_InternalError(ie_INVALID_ARG, 00199 "Only splits are alowed here. dlcType =" + 00200 cmn_Num2Str((int)m_nextEntry.dlcType) + 00201 dump.str(), true); 00202 break; 00203 } 00204 }

| void fsc_Copy::Remove | ( | ivd_MediaKey_t | a_mediumKey, | |
| ivd_MedVolNum_t | a_medVolNum, | |||
| fsc_Split_p_l_t & | a_replacedSplit_p_l | |||
| ) |
remove all entries from particular volume.
Definition at line 207 of file fsc_Copy.cpp.
References cmn_Num2Str(), dlc_MediaPos, dlc_NotUsed, dlc_Split, fsc_NextEntity_t::dlcType, ie_INVALID_ARG, log_FUNC_m, fsc_Entry::m_entryMgr_p, fsc_Entry::m_nextEntry, m_reorganized, ReadMembers(), fsc_MedPosMgr::Remove(), and fsc_SplitMgr::Remove().
Referenced by Remove().
00209 { 00210 log_FUNC_m(Remove); 00211 00212 ReadMembers(); 00213 00214 switch (m_nextEntry.dlcType) { 00215 00216 case dlc_NotUsed : 00217 return; 00218 00219 case dlc_Split : { 00220 fsc_SplitMgr* p = static_cast<fsc_SplitMgr*>(m_entryMgr_p); 00221 m_reorganized = p->Remove(a_mediumKey, a_medVolNum, a_replacedSplit_p_l); 00222 return; 00223 } 00224 break; 00225 00226 case dlc_MediaPos : { 00227 fsc_MedPosMgr* p = static_cast<fsc_MedPosMgr*>(m_entryMgr_p); 00228 p->Remove(a_mediumKey, a_medVolNum); 00229 return; 00230 } 00231 break; 00232 00233 default: 00234 throw ivd_InternalError(ie_INVALID_ARG, 00235 "Wrong dlcType =" + cmn_Num2Str((int)m_nextEntry.dlcType), true); 00236 break; 00237 } 00238 }


| bool fsc_Copy::Remove | ( | ivd_MediaKey_t | a_mediumKey, | |
| ivd_MedVolNum_t | a_medVolNum, | |||
| UInt32_t | a_blockOffs, | |||
| fsc_Split_p_l_t & | a_replacedSplit_p_l | |||
| ) |
Remove one particular entry.
Definition at line 241 of file fsc_Copy.cpp.
References cmn_Num2Str(), dlc_MediaPos, dlc_NotUsed, dlc_Split, fsc_NextEntity_t::dlcType, ie_INVALID_ARG, log_FUNC_m, fsc_Entry::m_entryMgr_p, fsc_Entry::m_nextEntry, m_reorganized, ReadMembers(), fsc_MedPosMgr::Remove(), fsc_SplitMgr::Remove(), and Remove().
00244 { 00245 log_FUNC_m(Remove); 00246 00247 ReadMembers(); 00248 00249 switch (m_nextEntry.dlcType) { 00250 00251 case dlc_NotUsed : 00252 return false; 00253 00254 case dlc_Split : { 00255 fsc_SplitMgr* p = static_cast<fsc_SplitMgr*>(m_entryMgr_p); 00256 m_reorganized = p->Remove(a_mediumKey, a_medVolNum, a_blockOffs, a_replacedSplit_p_l); 00257 return m_reorganized; 00258 } 00259 break; 00260 00261 case dlc_MediaPos : { 00262 fsc_MedPosMgr* p = static_cast<fsc_MedPosMgr*>(m_entryMgr_p); 00263 return p->Remove(a_mediumKey, a_medVolNum, a_blockOffs); 00264 } 00265 break; 00266 00267 default: 00268 throw ivd_InternalError(ie_INVALID_ARG, 00269 "Wrong dlcType =" + cmn_Num2Str((int)m_nextEntry.dlcType), true); 00270 break; 00271 } 00272 return false; 00273 }

| bool fsc_Copy::isEqual | ( | df_SplitInfo & | a_splitInfo | ) |
check if current copy has common parts of data in its splits
check if current copy is equal to new to insert it
| bool fsc_Copy::isReorganized | ( | ) | [inline] |
Definition at line 96 of file fsc_Copy.h.
References m_reorganized.
00096 { return m_reorganized; };
| void fsc_Copy::GetMediaPos | ( | ivd_MediaPos_v_t & | a_mediaPos_v, | |
| fsc_MigInfo_t & | migInfo | |||
| ) |
Get all media position from copy.
Definition at line 338 of file fsc_Copy.cpp.
References cmn_Num2Str(), ivd_MediaPos_t::dataType, dlc_MediaPos, dlc_NotUsed, dlc_Split, fsc_NextEntity_t::dlcType, fsc_MedPosMgr::GetMediaPos(), fsc_SplitMgr::GetMediaPos(), ie_INVALID_ARG, log_FUNC_m, fsc_MigInfo_t::m_dataType, fsc_Entry::m_entryMgr_p, fsc_Entry::m_nextEntry, fsc_MigInfo_t::m_size, ReadMembers(), ivd_MediaPos_t::splitOffset, and ivd_MediaPos_t::splitSize.
Referenced by fsc_CopyMgr::GetCopiesPos().
00338 { 00339 // log_FUNC_m(GetMediaPos); 00340 00341 ReadMembers(); 00342 00343 switch (m_nextEntry.dlcType) { 00344 case dlc_NotUsed : 00345 break; 00346 00347 case dlc_Split : { // TODO check copy ID and no of copies 00348 fsc_SplitMgr* p = static_cast<fsc_SplitMgr*>(m_entryMgr_p); 00349 p->GetMediaPos(a_mediaPos_v, migInfo); 00350 } 00351 break; 00352 00353 case dlc_MediaPos : { 00354 a_mediaPos_v.resize(1); // one split 00355 fsc_MedPosMgr* p = static_cast<fsc_MedPosMgr*>(m_entryMgr_p); 00356 ivd_MediaPos_t &mediaPos = a_mediaPos_v[0]; 00357 p->GetMediaPos(mediaPos); 00358 // in case that copy hold media location than 00359 // size and data type is get from migInfo 00360 mediaPos.splitOffset = 0; 00361 mediaPos.splitSize = migInfo.m_size; 00362 mediaPos.dataType = migInfo.m_dataType; 00363 } 00364 break; 00365 00366 default: 00367 log_FUNC_m(GetMediaPos); 00368 throw ivd_InternalError(ie_INVALID_ARG, 00369 "Wrong dlcType =" + cmn_Num2Str((int)m_nextEntry.dlcType), true); 00370 break; 00371 } 00372 }


| void fsc_Copy::ReadMembers | ( | ) |
create and read next level members
Definition at line 409 of file fsc_Copy.cpp.
References cmn_Num2Str(), dlc_MediaPos, dlc_NotUsed, dlc_Split, fsc_NextEntity_t::dlcType, fsc_Vector_t::entryIdx, ie_INVALID_ARG, log_FUNC_m, fsc_Entry::m_entryMgr_p, fsc_Entry::m_nextEntry, NULL, fsc_Vector_t::numOfElement, and fsc_NextEntity_t::vector.
Referenced by AddSplit(), Dump(), GetMediaPos(), Remove(), and TreeWalk().
00409 { 00410 00411 if ( m_entryMgr_p == NULL) { 00412 switch (m_nextEntry.dlcType) { 00413 case dlc_NotUsed : 00414 break; 00415 // case dlc_Chunk, 00416 case dlc_Split : 00417 m_entryMgr_p = new fsc_SplitMgr(m_nextEntry.vector.numOfElement, 00418 m_nextEntry.vector.entryIdx); 00419 00420 break; 00421 00422 case dlc_MediaPos : 00423 m_entryMgr_p = new fsc_MedPosMgr(m_nextEntry); 00424 00425 break; 00426 00427 default: 00428 log_FUNC_m(ReadMembers); 00429 throw ivd_InternalError(ie_INVALID_ARG, 00430 "Wrong dlcType =" + cmn_Num2Str((int)m_nextEntry.dlcType), true); 00431 break; 00432 } 00433 // } 00434 } 00435 00436 }


| bool fsc_Copy::Write2DB | ( | fsc_Copy_t & | a_copyData, | |
| fio_Transaction & | a_trans | |||
| ) |
invoke next level write2DB and collect data for previous level
Definition at line 439 of file fsc_Copy.cpp.
References cmn_Num2Str(), fsc_NextEntity_t::dataType, dbg_DETAIL, dlc_MediaPos, dlc_NotUsed, dlc_Split, fsc_NextEntity_t::dlcType, ie_INVALID_ARG, log_DBG_m, log_FUNC_m, fsc_Entry::m_changed, m_dataType, fsc_Entry::m_entryMgr_p, fsc_Entry::m_nextEntry, fsc_Copy_t::nextEntity, NULL, fsc_Copy_t::reserved, fsc_MedPosMgr::Write2DB(), and fsc_SplitMgr::Write2DB().
Referenced by fsc_CopyMgr::Write2DB().
00440 { 00441 log_FUNC_m(Write2DB); 00442 // log_DBG_m(dbg_DETAIL, "fsc_Copy::Write2DB "); 00443 00444 bool vecIdxOrSizeChanged = false; 00445 00446 if (m_entryMgr_p != NULL) { 00447 00448 log_DBG_m(dbg_DETAIL, " m_nextEntry.dlcType = " << (int)m_nextEntry.dlcType ); 00449 // Write and check if changed next entryes first 00450 switch (m_nextEntry.dlcType) { 00451 00452 case dlc_NotUsed : 00453 a_copyData.nextEntity = m_nextEntry; 00454 // memset(&a_copyData, 0, sizeof(fsc_Copy_t)); 00455 break; 00456 00457 case dlc_Split : { 00458 fsc_SplitMgr *splitMgr_p = static_cast<fsc_SplitMgr*>(m_entryMgr_p); 00459 // update next level data 00460 vecIdxOrSizeChanged = splitMgr_p->Write2DB(a_copyData.nextEntity, 00461 a_trans); 00462 m_nextEntry = a_copyData.nextEntity; 00463 } 00464 break; 00465 00466 case dlc_MediaPos : { 00467 fsc_MedPosMgr *medPosMgr_p = static_cast<fsc_MedPosMgr*>(m_entryMgr_p); 00468 vecIdxOrSizeChanged = medPosMgr_p->Write2DB(a_copyData.nextEntity); 00469 m_nextEntry = a_copyData.nextEntity; 00470 } 00471 break; 00472 00473 default: 00474 log_FUNC_m(Write2DB); 00475 throw ivd_InternalError(ie_INVALID_ARG, 00476 "Wrong dlcType =" + cmn_Num2Str((int)m_nextEntry.dlcType), true); 00477 break; 00478 } 00479 } 00480 else { // index and size are the same as at construct time 00481 log_DBG_m(dbg_DETAIL, " m_entryMgr_p == NULL"); 00482 a_copyData.nextEntity = m_nextEntry; 00483 } 00484 // a_copyData.nextEntity.Dbg(); 00485 00486 //set data, cause of moving vector. Doesn't mather if was not changed. 00487 a_copyData.nextEntity.dataType = m_dataType; 00488 a_copyData.reserved = 0; 00489 00490 // if any data changed send message that was changed 00491 // log_DBG_m(dbg_DETAIL, " vecIdxOrSizeCahnged " << vecIdxOrSizeChanged 00492 // << " m_changed " << m_changed); 00493 if ( vecIdxOrSizeChanged 00494 || m_changed) { 00495 m_changed = false; 00496 return true; 00497 } 00498 return false; 00499 }


| void fsc_Copy::Dump | ( | ostream & | os | ) |
Definition at line 502 of file fsc_Copy.cpp.
References cmn_GetMigFlags(), dlc_MediaPos, dlc_NotUsed, dlc_Split, fsc_NextEntity_t::dlcType, fsc_MedPosMgr::Dump(), fsc_SplitMgr::Dump(), log_FUNC_m, m_dataType, fsc_Entry::m_entryMgr_p, fsc_Entry::m_nextEntry, and ReadMembers().
Referenced by fsc_CopyMgr::GetCopiesPos().
00502 { 00503 log_FUNC_m(Dump); 00504 00505 ReadMembers(); 00506 os << " Data type: " << hex << m_dataType << dec << " " 00507 << cmn_GetMigFlags(m_dataType) << endl; 00508 00509 switch (m_nextEntry.dlcType) { 00510 case dlc_NotUsed : 00511 os << " Copy not used" << endl; 00512 break; 00513 00514 case dlc_Split : { // TODO check copy ID and no of copies 00515 fsc_SplitMgr* p = static_cast<fsc_SplitMgr*>(m_entryMgr_p); 00516 p->Dump(os); 00517 } 00518 break; 00519 00520 case dlc_MediaPos : { 00521 fsc_MedPosMgr* p = static_cast<fsc_MedPosMgr*>(m_entryMgr_p); 00522 p->Dump(os); 00523 } 00524 break; 00525 00526 default: 00527 os << " Wrong dlcType " << (int)m_nextEntry.dlcType << endl; 00528 break; 00529 } 00530 }


| bool fsc_Copy::TreeWalk | ( | fsc_Collector & | a_collector | ) |
Definition at line 375 of file fsc_Copy.cpp.
References cmn_Num2Str(), dlc_MediaPos, dlc_NotUsed, dlc_Split, fsc_NextEntity_t::dlcType, ie_INVALID_ARG, log_FUNC_m, fsc_Entry::m_entryMgr_p, fsc_Entry::m_nextEntry, fsc_Collector::ProcObjCopy(), ReadMembers(), fsc_MedPosMgr::TreeWalk(), and fsc_SplitMgr::TreeWalk().
00375 { 00376 00377 ReadMembers(); 00378 00379 if (!a_collector.ProcObjCopy(this)){ 00380 return false; 00381 } 00382 00383 switch (m_nextEntry.dlcType) { 00384 case dlc_NotUsed : 00385 break; 00386 00387 case dlc_Split : { // TODO check copy ID and no of copies 00388 fsc_SplitMgr* p = static_cast<fsc_SplitMgr*>(m_entryMgr_p); 00389 return p->TreeWalk(a_collector); 00390 } 00391 break; 00392 00393 case dlc_MediaPos : { 00394 fsc_MedPosMgr* p = static_cast<fsc_MedPosMgr*>(m_entryMgr_p); 00395 return p->TreeWalk(a_collector); 00396 } 00397 break; 00398 00399 default: 00400 log_FUNC_m(TreeWalk); 00401 throw ivd_InternalError(ie_INVALID_ARG, 00402 "Wrong dlcType =" + cmn_Num2Str((int)m_nextEntry.dlcType), true); 00403 break; 00404 } 00405 return true; 00406 }

all data type that are stored in splits
Definition at line 63 of file fsc_Copy.h.
Referenced by AddSplit(), Dump(), fsc_CopyMgr::GetCopiesPos(), and Write2DB().
1.5.6