#include <hsm_ListPos.h>

Definition at line 36 of file hsm_ListPos.h.
Public Member Functions | |
| hsm_ListPos () | |
| ~hsm_ListPos () | |
| bool | operator== (const hsm_ListPos &a_listPos) const |
| void | operator= (const hsm_ListPos &a_listPos) |
| hsm_List_e | GetList () const |
| hsm_FHtimed_li | GetDirtyPos () const |
| hsm_FH_p_li | GetMigCanPos () const |
| hsm_FH_p_li | GetRecallFromADPPos () const |
| Int32_t | GetJobIdx () const |
| Int32_t | GetJobElemIdx () const |
| hsm_FHtimed_li | GetDirListPos () const |
| hdb_circList_e | GetRelCandCircList () const |
| ivd_RecordIDX_t | GetRelCandIdx () const |
| void | SetList (hsm_List_e a_fList) |
| void | SetDirtyPos (hsm_FHtimed_li a_dirtyPos) |
| void | SetMigCanPos (hsm_FH_p_li a_migCanPos) |
| void | SetRecallFromADPPos (hsm_FH_p_li a_recallFromADPPos) |
| void | SetJobIdx (Int32_t a_jobIdx) |
| void | SetJobElemIdx (Int32_t a_jobElemIdx) |
| void | SetDirLIstPos (hsm_FHtimed_li a_dirListPos) |
| void | SetCircList (hdb_circList_e a_circ_List, ivd_RecordIDX_t a_relCandIdx) |
| void | RemoveFromList (hsm_FileHeader *a_fh_p) |
| void | ObjChgGoToDirty (hsm_FileHeader *a_fh_p) |
Public Attributes | |
| log_CLASSID_m | |
Protected Attributes | |
| hsm_List_e | m_list |
| in which list is an object | |
| bool | m_packedInDF |
| sEt in method MigrationIsDone | |
| hsm_FHtimed_li | m_dirtyPos |
| dirty list is timedList if obj is inside dirty list that has set this dirtyPos iterator | |
| hsm_FH_p_li | m_migCanPos |
| Migration candidate is a list if obj is inside migCand list then m_migCanPos iterator point to its position. | |
| hsm_FH_p_li | m_recallFromADPPos |
| Position in Recall ADP list. | |
| Int32_t | m_jobIdx |
| when obj is on job lists then this indeces are used 0 mean first index, thus -1 mean that is not in job list | |
| Int32_t | m_jobElemIdx |
| hsm_FHtimed_li | m_dirListPos |
| position in directory wait list | |
| hdb_circList_e | m_relCandCircList |
| position in release candidate lists | |
| ivd_RecordIDX_t | m_relCandIdx |
| hsm_ListPos::hsm_ListPos | ( | ) |
Definition at line 43 of file hsm_ListPos.cpp.
00044 : 00045 m_list(eNoList), 00046 m_packedInDF(false), 00047 m_dirtyPos(NULL), 00048 m_migCanPos(NULL), 00049 m_jobIdx(-1), 00050 m_jobElemIdx(-1), 00051 m_dirListPos(NULL), 00052 m_relCandCircList(clNoList), 00053 m_relCandIdx(0) 00054 { 00055 // empty 00056 } //============================================================================//
| hsm_ListPos::~hsm_ListPos | ( | ) |
| bool hsm_ListPos::operator== | ( | const hsm_ListPos & | a_listPos | ) | const |
Definition at line 67 of file hsm_ListPos.cpp.
References cmn_Num2Str(), eDirtyList, eJobList, eMigCndList, eNoList, ePreJobList, eRelCndList, ie_NOTYPE, log_FUNC_m, m_dirtyPos, m_jobElemIdx, m_jobIdx, m_list, m_migCanPos, m_relCandCircList, and m_relCandIdx.
00067 { 00068 log_FUNC_m(operator==); 00069 if (a_listPos.m_list == m_list) { 00070 switch (m_list) { 00071 case eDirtyList: 00072 return a_listPos.m_dirtyPos == m_dirtyPos; 00073 break; 00074 00075 case eMigCndList: 00076 return a_listPos.m_migCanPos == m_migCanPos; 00077 break; 00078 00079 case ePreJobList: 00080 case eJobList: 00081 return (a_listPos.m_jobIdx == m_jobIdx) 00082 && (a_listPos.m_jobElemIdx == m_jobElemIdx); 00083 break; 00084 00085 case eRelCndList : 00086 return (a_listPos.m_relCandCircList == m_relCandCircList) 00087 && (a_listPos.m_relCandIdx == m_relCandIdx); 00088 break; 00089 00090 case eNoList : 00091 return true; 00092 break; 00093 00094 default : 00095 throw ivd_InternalError(ie_NOTYPE, 00096 "Wrong list type in FH hsm_List_e = " + cmn_Num2Str(m_list) , true); 00097 break; 00098 } 00099 } 00100 else { 00101 return false; 00102 } 00103 }

| void hsm_ListPos::operator= | ( | const hsm_ListPos & | a_listPos | ) |
Definition at line 107 of file hsm_ListPos.cpp.
References cmn_Num2Str(), eDirtyList, eJobList, eMigCndList, eNoList, ePreJobList, eRelCndList, ie_NOTYPE, log_FUNC_m, m_dirtyPos, m_jobElemIdx, m_jobIdx, m_list, m_migCanPos, m_packedInDF, m_relCandCircList, and m_relCandIdx.
00107 { 00108 log_FUNC_m(operator=); 00109 00110 m_list = a_listPos.m_list; 00111 m_packedInDF = a_listPos.m_packedInDF; 00112 switch (m_list) { 00113 case eDirtyList: 00114 m_dirtyPos = a_listPos.m_dirtyPos; 00115 break; 00116 00117 case eMigCndList: 00118 m_migCanPos = a_listPos.m_migCanPos; 00119 break; 00120 00121 case ePreJobList: 00122 case eJobList: 00123 m_jobIdx = a_listPos.m_jobIdx; 00124 m_jobElemIdx = a_listPos.m_jobElemIdx; 00125 break; 00126 00127 case eRelCndList : 00128 m_relCandCircList = a_listPos.m_relCandCircList; 00129 m_relCandIdx = a_listPos.m_relCandIdx; 00130 break; 00131 00132 case eNoList : 00133 break; 00134 00135 default : 00136 throw ivd_InternalError(ie_NOTYPE, 00137 "Wrong list type in FH hsm_List_e = " + cmn_Num2Str(m_list) , true); 00138 break; 00139 } 00140 }

| hsm_List_e hsm_ListPos::GetList | ( | void | ) | const [inline] |
Reimplemented in hsm_FileHeader.
Definition at line 81 of file hsm_ListPos.h.
References m_list.
00081 { return m_list;};
| hsm_FHtimed_li hsm_ListPos::GetDirtyPos | ( | ) | const [inline] |
| hsm_FH_p_li hsm_ListPos::GetMigCanPos | ( | ) | const [inline] |
Definition at line 84 of file hsm_ListPos.h.
References m_migCanPos.
Referenced by hsm_FHmigc::Remove().
00084 { return m_migCanPos;};

| hsm_FH_p_li hsm_ListPos::GetRecallFromADPPos | ( | ) | const [inline] |
Definition at line 85 of file hsm_ListPos.h.
References m_recallFromADPPos.
Referenced by hsm_FHADPRecall::Remove().
00085 { return m_recallFromADPPos; };

| Int32_t hsm_ListPos::GetJobIdx | ( | ) | const [inline] |
Definition at line 86 of file hsm_ListPos.h.
References m_jobIdx.
Referenced by i_HSM_i::CompleteMigration(), and i_HSM_i::DoMigrationJob().
00086 { return m_jobIdx;};

| Int32_t hsm_ListPos::GetJobElemIdx | ( | ) | const [inline] |
Definition at line 87 of file hsm_ListPos.h.
References m_jobElemIdx.
Referenced by i_HSM_i::CompleteMigration(), i_HSM_i::DoMigrationJob(), hsm_JobElemVecMgr::JobToSequence(), and i_HSM_i::PackFile().
00087 { return m_jobElemIdx;};

| hsm_FHtimed_li hsm_ListPos::GetDirListPos | ( | ) | const [inline] |
Definition at line 88 of file hsm_ListPos.h.
References m_dirListPos.
00088 { return m_dirListPos;};
| hdb_circList_e hsm_ListPos::GetRelCandCircList | ( | ) | const [inline] |
Definition at line 90 of file hsm_ListPos.h.
References m_relCandCircList.
Referenced by hsm_FHrelc::Release().
00090 { return m_relCandCircList;};

| ivd_RecordIDX_t hsm_ListPos::GetRelCandIdx | ( | ) | const [inline] |
Definition at line 91 of file hsm_ListPos.h.
References m_relCandIdx.
Referenced by hsm_ReleaseCandRec::Release().
00091 { return m_relCandIdx;};

| void hsm_ListPos::SetList | ( | hsm_List_e | a_fList | ) | [inline] |
Reimplemented in hsm_FileHeader.
Definition at line 94 of file hsm_ListPos.h.
References m_list.
00094 {m_list = a_fList;};
| void hsm_ListPos::SetDirtyPos | ( | hsm_FHtimed_li | a_dirtyPos | ) | [inline] |
Definition at line 96 of file hsm_ListPos.h.
References m_dirtyPos.
00096 {m_dirtyPos = a_dirtyPos;};
| void hsm_ListPos::SetMigCanPos | ( | hsm_FH_p_li | a_migCanPos | ) | [inline] |
Definition at line 97 of file hsm_ListPos.h.
References m_migCanPos.
00097 {m_migCanPos = a_migCanPos;};
| void hsm_ListPos::SetRecallFromADPPos | ( | hsm_FH_p_li | a_recallFromADPPos | ) | [inline] |
Definition at line 98 of file hsm_ListPos.h.
References m_recallFromADPPos.
Referenced by hsm_FHADPRecall::Append().
00098 { m_recallFromADPPos = a_recallFromADPPos; };

| void hsm_ListPos::SetJobIdx | ( | Int32_t | a_jobIdx | ) | [inline] |
| void hsm_ListPos::SetJobElemIdx | ( | Int32_t | a_jobElemIdx | ) | [inline] |
Definition at line 100 of file hsm_ListPos.h.
References m_jobElemIdx.
00100 {m_jobElemIdx = a_jobElemIdx;};
| void hsm_ListPos::SetDirLIstPos | ( | hsm_FHtimed_li | a_dirListPos | ) | [inline] |
Definition at line 101 of file hsm_ListPos.h.
References m_dirListPos.
00101 {m_dirListPos = a_dirListPos;};
| void hsm_ListPos::SetCircList | ( | hdb_circList_e | a_circ_List, | |
| ivd_RecordIDX_t | a_relCandIdx | |||
| ) |
Definition at line 208 of file hsm_ListPos.cpp.
References dbg_DETAIL, log_DBG_m, log_FUNC_m, m_relCandCircList, and m_relCandIdx.
Referenced by hsm_FHrelc::Append(), and hsm_CheckFile2hsmdbRec().
00208 { 00209 log_FUNC_m(SetCircList); 00210 m_relCandCircList = a_circ_List; 00211 m_relCandIdx = a_relCandIdx; 00212 log_DBG_m (dbg_DETAIL, "m_relCandCircList: " << m_relCandCircList 00213 << ", m_relCandIdx: " << m_relCandIdx); 00214 }

| void hsm_ListPos::RemoveFromList | ( | hsm_FileHeader * | a_fh_p | ) |
Definition at line 144 of file hsm_ListPos.cpp.
References cmn_Num2Str(), eDirtyList, eJobList, eMigCndList, eNoList, ePreJobList, eRelCndList, g_hsm_dirtyList_p, g_hsm_migcList_p, g_hsm_preJobList_p, ie_NOTYPE, log_FUNC_m, m_dirtyPos, m_jobElemIdx, m_jobIdx, m_list, m_migCanPos, hsm_JobListMgr::ReleaseElement(), hsm_FHmigc::Remove(), and hsm_TimedList::Remove().
Referenced by hsm_FileHeader::Event(), hsm_FileHeader::MigCanToPreJob(), ObjChgGoToDirty(), and hsm_FileHeader::ToMigCand().
00144 { 00145 log_FUNC_m(RemoveFromList); 00146 00147 switch (m_list) { 00148 case eDirtyList: 00149 g_hsm_dirtyList_p->Remove(m_dirtyPos); 00150 m_dirtyPos = hsm_FHtimed_li(); 00151 break; 00152 00153 case eMigCndList: 00154 g_hsm_migcList_p->Remove(a_fh_p); 00155 m_migCanPos = hsm_FH_p_li(); 00156 break; 00157 00158 case ePreJobList: 00159 case eJobList: 00160 g_hsm_preJobList_p->ReleaseElement(m_jobIdx, m_jobElemIdx); 00161 m_jobIdx = m_jobElemIdx = -1; 00162 break; 00163 00164 case eRelCndList : // it is removed in event method 00165 break; 00166 case eNoList : 00167 break; 00168 default : 00169 throw ivd_InternalError(ie_NOTYPE, 00170 "Wrong list type in FH hsm_List_e = " + cmn_Num2Str(m_list) , true); 00171 break; 00172 } 00173 }


| void hsm_ListPos::ObjChgGoToDirty | ( | hsm_FileHeader * | a_fh_p | ) |
Definition at line 176 of file hsm_ListPos.cpp.
References hsm_TimedList::Append(), cmn_Num2Str(), eDirtyList, eJobList, eMigCndList, eNoList, ePreJobList, eRelCndList, g_hsm_dirtyList_p, ie_NOTYPE, log_FUNC_m, m_dirtyPos, m_list, m_packedInDF, RemoveFromList(), and hsm_TimedList::SpliceToEnd().
Referenced by hsm_FileHeader::CompleteMigIsDone(), hsm_FileHeader::InodeChgGoToDirty(), hsm_FileHeader::NameOwnChgGoToDirty(), and hsm_FileHeader::ToMigCand().
00176 { 00177 log_FUNC_m(ObjChgGoToDirty); 00178 00179 m_packedInDF = false; 00180 00181 switch (m_list) { 00182 case eNoList : 00183 m_dirtyPos = g_hsm_dirtyList_p->Append(a_fh_p); 00184 m_list = eDirtyList; 00185 break; 00186 00187 case eDirtyList : 00188 g_hsm_dirtyList_p->SpliceToEnd(m_dirtyPos); 00189 break; 00190 00191 case eRelCndList : 00192 case ePreJobList : 00193 case eJobList: 00194 case eMigCndList : 00195 m_dirtyPos = g_hsm_dirtyList_p->Append(a_fh_p); 00196 RemoveFromList(a_fh_p);// remove after insert because of reference counter 00197 m_list = eDirtyList; 00198 break; 00199 00200 default : 00201 throw ivd_InternalError(ie_NOTYPE, 00202 "Wrong list type in FH hsm_List_e = " + cmn_Num2Str(m_list) , true); 00203 break; 00204 } 00205 }


hsm_List_e hsm_ListPos::m_list [protected] |
in which list is an object
Reimplemented in hsm_FileHeader.
Definition at line 46 of file hsm_ListPos.h.
Referenced by GetList(), ObjChgGoToDirty(), operator=(), operator==(), RemoveFromList(), and SetList().
bool hsm_ListPos::m_packedInDF [protected] |
sEt in method MigrationIsDone
Definition at line 50 of file hsm_ListPos.h.
Referenced by hsm_FileHeader::MigrationIsDone(), ObjChgGoToDirty(), and operator=().
hsm_FHtimed_li hsm_ListPos::m_dirtyPos [protected] |
dirty list is timedList if obj is inside dirty list that has set this dirtyPos iterator
Definition at line 55 of file hsm_ListPos.h.
Referenced by GetDirtyPos(), ObjChgGoToDirty(), operator=(), operator==(), RemoveFromList(), and SetDirtyPos().
hsm_FH_p_li hsm_ListPos::m_migCanPos [protected] |
Migration candidate is a list if obj is inside migCand list then m_migCanPos iterator point to its position.
Definition at line 60 of file hsm_ListPos.h.
Referenced by GetMigCanPos(), operator=(), operator==(), RemoveFromList(), SetMigCanPos(), and hsm_FileHeader::ToMigCand().
hsm_FH_p_li hsm_ListPos::m_recallFromADPPos [protected] |
Position in Recall ADP list.
Definition at line 64 of file hsm_ListPos.h.
Referenced by GetRecallFromADPPos(), and SetRecallFromADPPos().
Int32_t hsm_ListPos::m_jobIdx [protected] |
when obj is on job lists then this indeces are used 0 mean first index, thus -1 mean that is not in job list
Reimplemented in hsm_FileHeader.
Definition at line 68 of file hsm_ListPos.h.
Referenced by GetJobIdx(), operator=(), operator==(), RemoveFromList(), and SetJobIdx().
Int32_t hsm_ListPos::m_jobElemIdx [protected] |
Definition at line 69 of file hsm_ListPos.h.
Referenced by hsm_FileHeader::CompleteMigIsDone(), hsm_FileHeader::FileToSeqElem(), GetJobElemIdx(), hsm_FileHeader::MigCanToPreJob(), operator<<(), operator=(), operator==(), RemoveFromList(), and SetJobElemIdx().
hsm_FHtimed_li hsm_ListPos::m_dirListPos [protected] |
position in directory wait list
Definition at line 72 of file hsm_ListPos.h.
Referenced by hsm_FileHeader::CleanDirListPos(), hsm_FileHeader::DecMemberRef(), GetDirListPos(), hsm_FileHeader::IncMemberRef(), and SetDirLIstPos().
hdb_circList_e hsm_ListPos::m_relCandCircList [protected] |
position in release candidate lists
Definition at line 75 of file hsm_ListPos.h.
Referenced by hsm_FileHeader::AddToReleaseCanList(), hsm_FileHeader::CompleteMigIsDone(), GetRelCandCircList(), hsm_FileHeader::InitFromDB(), operator<<(), operator=(), operator==(), hsm_FileHeader::RemoveFromRelCandList(), and SetCircList().
ivd_RecordIDX_t hsm_ListPos::m_relCandIdx [protected] |
Definition at line 76 of file hsm_ListPos.h.
Referenced by hsm_FileHeader::AddToReleaseCanList(), hsm_FileHeader::CompleteMigIsDone(), hsm_FileHeader::Event(), hsm_FileHeader::EventOffline(), GetRelCandIdx(), hsm_FileHeader::InitFromDB(), operator<<(), operator=(), operator==(), hsm_FileHeader::Recalled(), hsm_FileHeader::RemoveFromRelCandList(), and SetCircList().
1.5.6