void CFrameProcessor_Common::vAddLogFile( CLogObjArray& omLogListTmp, CBaseLogObject*& pouBaseLogObj)
{
    int nCount = omLogListTmp.GetSize();
    BOOL bDuplicate = FALSE;
    if(nCount == 0)
    {
        omLogListTmp.Add(pouBaseLogObj);
    }
    else
    {
        for(int i = 0; i < nCount; i++)
        {
            CBaseLogObject* pBaseObjectSrc = omLogListTmp.GetAt(i);
            SLOGINFO sLogInfo1, sLogInfo2;
            pouBaseLogObj->GetLogInfo(sLogInfo1);
            pBaseObjectSrc->GetLogInfo(sLogInfo2);
            //TODO::CString Has to be Remodved
            CString omStr1 = sLogInfo1.m_sLogFileName;
            CString omStr2 = sLogInfo2.m_sLogFileName;
            omStr1.TrimLeft(" \n\t");
            omStr1.TrimRight(" \n\t");
            omStr2.TrimLeft(" \n\t");
            omStr2.TrimRight(" \n\t");
            if(omStr1 == omStr2)
            {
                bDuplicate = TRUE;
            }
        }
        if(bDuplicate == FALSE)
        {
            omLogListTmp.Add(pouBaseLogObj);
        }
    }
}
void CFrameProcessor_Common::vCopyLogObjArray(
    CLogObjArray& omLogObjArrayTarget, const CLogObjArray& omLogObjArraySrc)
{
    // First empty the target log object array
    vEmptyLogObjArray(omLogObjArrayTarget);
    USHORT ushBlocks = (USHORT) (omLogObjArraySrc.GetSize());

    if (ushBlocks > 0)
    {
        for (USHORT i = 0; i < ushBlocks; i++)
        {
            const CBaseLogObject* pouCurrLogObj = omLogObjArraySrc.GetAt(i);
            CBaseLogObject* pouNewLogObj = CreateNewLogObj();
            *pouNewLogObj = *pouCurrLogObj;
            omLogObjArrayTarget.Add(pouNewLogObj);
        }
    }
}