Public Member Functions | Public Attributes | Protected Attributes

hsm_ListPos Class Reference
[Classes for managing object list]

#include <hsm_ListPos.h>

Inheritance diagram for hsm_ListPos:
Inheritance graph
[legend]

List of all members.

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

Detailed Description

Definition at line 50 of file hsm_ListPos.h.


Constructor & Destructor Documentation

hsm_ListPos::hsm_ListPos (  ) 
hsm_ListPos::~hsm_ListPos (  ) 

Definition at line 74 of file hsm_ListPos.cpp.

{

}


Member Function Documentation

hsm_FHtimed_li hsm_ListPos::GetDirListPos (  )  const [inline]

Definition at line 102 of file hsm_ListPos.h.

References m_dirListPos.

{ return m_dirListPos;};

hsm_FHtimed_li hsm_ListPos::GetDirtyPos (  )  const [inline]

Definition at line 97 of file hsm_ListPos.h.

References m_dirtyPos.

{ return m_dirtyPos;};

Int32_t hsm_ListPos::GetJobElemIdx (  )  const [inline]

Definition at line 101 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().

{ return m_jobElemIdx;};

Here is the caller graph for this function:

Int32_t hsm_ListPos::GetJobIdx (  )  const [inline]

Definition at line 100 of file hsm_ListPos.h.

References m_jobIdx.

Referenced by i_HSM_i::CompleteMigration(), and i_HSM_i::DoMigrationJob().

{ return m_jobIdx;};

Here is the caller graph for this function:

hsm_List_e hsm_ListPos::GetList ( void   )  const [inline]

Reimplemented in hsm_FileHeader.

Definition at line 95 of file hsm_ListPos.h.

References m_list.

{ return m_list;};

hsm_FH_p_li hsm_ListPos::GetMigCanPos (  )  const [inline]

Definition at line 98 of file hsm_ListPos.h.

References m_migCanPos.

Referenced by hsm_FHmigc::Remove().

{ return m_migCanPos;};

Here is the caller graph for this function:

hsm_FH_p_li hsm_ListPos::GetRecallFromADPPos (  )  const [inline]

Definition at line 99 of file hsm_ListPos.h.

References m_recallFromADPPos.

Referenced by hsm_FHADPRecall::Remove().

{ return m_recallFromADPPos; };

Here is the caller graph for this function:

hdb_circList_e hsm_ListPos::GetRelCandCircList (  )  const [inline]

Definition at line 104 of file hsm_ListPos.h.

References m_relCandCircList.

Referenced by hsm_FHrelc::Release().

{ return  m_relCandCircList;};

Here is the caller graph for this function:

ivd_RecordIDX_t hsm_ListPos::GetRelCandIdx (  )  const [inline]

Definition at line 105 of file hsm_ListPos.h.

References m_relCandIdx.

Referenced by hsm_ReleaseCandRec::Release().

{ return  m_relCandIdx;};

Here is the caller graph for this function:

void hsm_ListPos::ObjChgGoToDirty ( hsm_FileHeader a_fh_p  ) 

Definition at line 190 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().

                                                        {
    log_FUNC_m(ObjChgGoToDirty);

    m_packedInDF = false;

    switch (m_list) {
    case    eNoList :
        m_dirtyPos = g_hsm_dirtyList_p->Append(a_fh_p);
        m_list     = eDirtyList;
        break;

    case eDirtyList :
        g_hsm_dirtyList_p->SpliceToEnd(m_dirtyPos);
        break;

    case eRelCndList :
    case ePreJobList :
    case eJobList:
    case eMigCndList :
        m_dirtyPos = g_hsm_dirtyList_p->Append(a_fh_p);
        RemoveFromList(a_fh_p);// remove after insert because of reference counter
        m_list     = eDirtyList;
        break;

    default :
        throw ivd_InternalError(ie_NOTYPE,
            "Wrong list type in FH hsm_List_e = " + cmn_Num2Str(m_list) , true);
        break;
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void hsm_ListPos::operator= ( const hsm_ListPos a_listPos  ) 

Definition at line 121 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.

                                                         {
    log_FUNC_m(operator=);

    m_list       = a_listPos.m_list;
    m_packedInDF = a_listPos.m_packedInDF;
    switch (m_list) {
    case eDirtyList:
        m_dirtyPos   = a_listPos.m_dirtyPos;
        break;

    case eMigCndList:
        m_migCanPos  = a_listPos.m_migCanPos;
        break;

    case ePreJobList:
    case eJobList:
        m_jobIdx     = a_listPos.m_jobIdx;
        m_jobElemIdx = a_listPos.m_jobElemIdx;
        break;

    case eRelCndList :
        m_relCandCircList = a_listPos.m_relCandCircList;
        m_relCandIdx      = a_listPos.m_relCandIdx;
        break;

    case eNoList :
        break;

    default :
        throw ivd_InternalError(ie_NOTYPE,
            "Wrong list type in FH hsm_List_e = " + cmn_Num2Str(m_list) , true);
        break;
    }
}

Here is the call graph for this function:

bool hsm_ListPos::operator== ( const hsm_ListPos a_listPos  )  const

Definition at line 81 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.

                                                                {
    log_FUNC_m(operator==);
    if (a_listPos.m_list == m_list) {
        switch (m_list) {
        case eDirtyList:
            return a_listPos.m_dirtyPos  == m_dirtyPos;
            break;

        case eMigCndList:
            return a_listPos.m_migCanPos == m_migCanPos;
            break;

        case ePreJobList:
        case eJobList:
            return     (a_listPos.m_jobIdx     == m_jobIdx)
                    && (a_listPos.m_jobElemIdx == m_jobElemIdx);
            break;

        case eRelCndList :
            return     (a_listPos.m_relCandCircList == m_relCandCircList)
                    && (a_listPos.m_relCandIdx      == m_relCandIdx);
            break;

        case eNoList :
            return true;
            break;

        default :
            throw ivd_InternalError(ie_NOTYPE,
                "Wrong list type in FH hsm_List_e = " + cmn_Num2Str(m_list) , true);
            break;
        }
    }
    else {
        return false;
    }
}

Here is the call graph for this function:

void hsm_ListPos::RemoveFromList ( hsm_FileHeader a_fh_p  ) 
void hsm_ListPos::SetCircList ( hdb_circList_e  a_circ_List,
ivd_RecordIDX_t  a_relCandIdx 
)

Definition at line 222 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().

                                                                                       {
    log_FUNC_m(SetCircList);
    m_relCandCircList = a_circ_List;
    m_relCandIdx      = a_relCandIdx;
    log_DBG_m (dbg_DETAIL, "m_relCandCircList: " << m_relCandCircList
                        << ", m_relCandIdx: " << m_relCandIdx);
}

Here is the caller graph for this function:

void hsm_ListPos::SetDirLIstPos ( hsm_FHtimed_li  a_dirListPos  )  [inline]

Definition at line 115 of file hsm_ListPos.h.

References m_dirListPos.

{m_dirListPos = a_dirListPos;};

void hsm_ListPos::SetDirtyPos ( hsm_FHtimed_li  a_dirtyPos  )  [inline]

Definition at line 110 of file hsm_ListPos.h.

References m_dirtyPos.

{m_dirtyPos   = a_dirtyPos;};

void hsm_ListPos::SetJobElemIdx ( Int32_t  a_jobElemIdx  )  [inline]

Definition at line 114 of file hsm_ListPos.h.

References m_jobElemIdx.

{m_jobElemIdx = a_jobElemIdx;};

void hsm_ListPos::SetJobIdx ( Int32_t  a_jobIdx  )  [inline]

Definition at line 113 of file hsm_ListPos.h.

References m_jobIdx.

{m_jobIdx     = a_jobIdx;};

void hsm_ListPos::SetList ( hsm_List_e  a_fList  )  [inline]

Reimplemented in hsm_FileHeader.

Definition at line 108 of file hsm_ListPos.h.

References m_list.

{m_list       = a_fList;};

void hsm_ListPos::SetMigCanPos ( hsm_FH_p_li  a_migCanPos  )  [inline]

Definition at line 111 of file hsm_ListPos.h.

References m_migCanPos.

{m_migCanPos  = a_migCanPos;};

void hsm_ListPos::SetRecallFromADPPos ( hsm_FH_p_li  a_recallFromADPPos  )  [inline]

Definition at line 112 of file hsm_ListPos.h.

References m_recallFromADPPos.

Referenced by hsm_FHADPRecall::Append().

{ m_recallFromADPPos = a_recallFromADPPos; };

Here is the caller graph for this function:


Member Data Documentation

Reimplemented in hsm_FileHeader.

Definition at line 56 of file hsm_ListPos.h.

dirty list is timedList if obj is inside dirty list that has set this dirtyPos iterator

Definition at line 69 of file hsm_ListPos.h.

Referenced by GetDirtyPos(), ObjChgGoToDirty(), operator=(), operator==(), RemoveFromList(), and SetDirtyPos().

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 82 of file hsm_ListPos.h.

Referenced by GetJobIdx(), operator=(), operator==(), RemoveFromList(), and SetJobIdx().

in which list is an object

Reimplemented in hsm_FileHeader.

Definition at line 60 of file hsm_ListPos.h.

Referenced by GetList(), ObjChgGoToDirty(), operator=(), operator==(), RemoveFromList(), and SetList().

Migration candidate is a list if obj is inside migCand list then m_migCanPos iterator point to its position.

Definition at line 74 of file hsm_ListPos.h.

Referenced by GetMigCanPos(), operator=(), operator==(), RemoveFromList(), SetMigCanPos(), and hsm_FileHeader::ToMigCand().

bool hsm_ListPos::m_packedInDF [protected]

sEt in method MigrationIsDone

Definition at line 64 of file hsm_ListPos.h.

Referenced by hsm_FileHeader::MigrationIsDone(), ObjChgGoToDirty(), and operator=().

Position in Recall ADP list.

Definition at line 78 of file hsm_ListPos.h.

Referenced by GetRecallFromADPPos(), and SetRecallFromADPPos().


The documentation for this class was generated from the following files: