Пример #1
0
/*******************************************************************************
 Function Name  : vFormatTimeStamp
 Input(s)       : nTimeStamp        - Current time stamp
                  bOverWrite        - Mode of Time Calculation
                  wDisplayTimeMode  - Type of Time Calculation
                  nIndex            - Index of the element
                  nOverWriteMapKey  - Unique key to CMap to get previous time
                                      stamp
                  omStrTime         - Object Reference to store the formatted
                                      time value
 Output         : -
 Functionality  : This function will compute the time and will format it and
                  will store it in the omStrTime string.
 Member of      : CTimeManager
 Author(s)      : Raja N
 Date Created   : 23.06.2004
 Modifications  : Raja N on 22.07.2004
                  Modified the code to refer vFormatTimeStamp overloaded
                  function. This will split the functionality logically
 Modifications  : Raja N on 22.07.2004
                  Changed map index variable type from int to __int64
*******************************************************************************/
void CTimeManager::vFormatTimeStamp(int nTimeStamp, BOOL bOverWrite,
                                    WORD wDisplayTimeMode,
                                    int nIndex,
                                    __int64 /*n64OverWriteMapKey*/,
                                    CString& omStrTime)
{
    int nRefTime = 0;

    // Find reference time stamp for relative mode
    if( wDisplayTimeMode == eRELATIVE_MODE)
    {
        if(bOverWrite == FALSE )
        {
            // To get the previous time stamp
            // If index is not zero then get it from the buffer
            if( nIndex != 0 )
            {
                // ???
            }
            // If index is zero then refer the backup copy of time stamp
            else
            {
                // ???
            }
        }
        else
        {
            // ???
        }
    }

    // Format the time stamp
    vFormatTimeStamp(nTimeStamp, nRefTime, wDisplayTimeMode, omStrTime);
}
/******************************************************************************
    Function Name    :  vCalculateAndFormatTM
    Input(s)         :  bExprnFlag - Details of time mode
                        TimeStamp - Msg time stamp, Rel time in case of Rel. mode
                        acTime - Buffer to store formatted time
    Output           :
    Functionality    :  Format time details
    Member of        :  CFormatMsgCommon
    Friend of        :      -
    Author(s)        :  Anish kumar
    Date Created     :  01.04.2010
******************************************************************************/
void CFormatMsgCommon::vCalculateAndFormatTM(BYTE bExprnFlag, UINT64 TimeStamp,
        char acTime[])
{
    /* In order to make this function work properly ENSURE bExprnFlag has ONLY
    1 time mode bit up */

    DWORD dwTSTmp = 0; // temporary time stamp

    if (IS_TM_SYS_SET(bExprnFlag))
    {
        dwTSTmp = (DWORD) ((TimeStamp - m_qwAbsBaseTime) + m_qwRefSysTime);
    }
    else if (IS_TM_REL_SET(bExprnFlag))
    {

        dwTSTmp = (DWORD) TimeStamp;
    }
    else if (IS_TM_ABS_SET(bExprnFlag))
    {
        dwTSTmp = (DWORD) (TimeStamp - m_qwAbsBaseTime);
    }
    else
    {
        ASSERT(FALSE);
    }
    vFormatTimeStamp(dwTSTmp, acTime);
}
Пример #3
0
void CFormatMsgCommon::vCalculateAndFormatTM(BYTE bExprnFlag, UINT64 TimeStamp,
        char acTime[])
{
    /* In order to make this function work properly ENSURE bExprnFlag has ONLY
    ONE time mode bit up */

    DWORD dwTSTmp = 0; // temporary time stamp
    UINT64 qwRefSysTime, qwAbsBaseTime;
    m_ouRefTimeKeeper.vGetTimeParams(qwRefSysTime, qwAbsBaseTime);

    if (IS_TM_SYS_SET(bExprnFlag))
    {
        dwTSTmp = (DWORD) ((TimeStamp - qwAbsBaseTime) + qwRefSysTime);
    }
    else if (IS_TM_REL_SET(bExprnFlag))
    {
        if (m_qwRelBaseTime == 0)
        {
            m_qwRelBaseTime = TimeStamp;
        }
        //Time difference should be +ve value
        if(TimeStamp >= m_qwRelBaseTime)
        {
            dwTSTmp = (DWORD) (TimeStamp - m_qwRelBaseTime);
        }
        else
        {
            dwTSTmp = (DWORD) (m_qwRelBaseTime - TimeStamp);
        }

        m_qwRelBaseTime = TimeStamp;
    }
    else if (IS_TM_ABS_SET(bExprnFlag))
    {
        //Time difference should be +ve value
        if(TimeStamp >= qwAbsBaseTime)
        {
            dwTSTmp = (DWORD) (TimeStamp - qwAbsBaseTime);
        }
        else
        {
            dwTSTmp = (DWORD) (qwAbsBaseTime - TimeStamp);
        }

    }
    else if (IS_TM_ABS_RES(bExprnFlag))
    {
        if(m_bResetMsgAbsTime == TRUE)
        {
            //reset the time for new logging session
            SYSTEMTIME LocalCurrTime;
            GetLocalTime(&LocalCurrTime);

            UINT64 RefCurrTime = (LocalCurrTime.wHour * 3600 + LocalCurrTime.wMinute * 60 +
                                  + LocalCurrTime.wSecond) * 10000 + (LocalCurrTime.wMilliseconds * 10);

            UINT64 RefLogTime = (m_LogSysTime.wHour * 3600 + m_LogSysTime.wMinute * 60 +
                                 + m_LogSysTime.wSecond) * 10000 + (m_LogSysTime.wMilliseconds * 10);

            m_qwLogDelayTime = (DWORD)(RefCurrTime - RefLogTime);//for log & msg delay time

            if(TimeStamp >= qwAbsBaseTime)//Time difference should be +ve value
            {
                m_qwResTime = TimeStamp - qwAbsBaseTime;
            }
            else
            {
                m_qwResTime = qwAbsBaseTime - TimeStamp;
            }
            m_bResetMsgAbsTime = FALSE;
        }
        //Time difference should be +ve value
        if(TimeStamp >= (qwAbsBaseTime + m_qwResTime))
        {
            dwTSTmp = (DWORD) (TimeStamp - qwAbsBaseTime - m_qwResTime );
        }
        else
        {
            dwTSTmp = (DWORD) (m_qwResTime + qwAbsBaseTime - TimeStamp );
        }

        dwTSTmp = dwTSTmp + m_qwLogDelayTime; //add msg delay time

    }
    else
    {
        ASSERT(FALSE);
    }

    vFormatTimeStamp(dwTSTmp, acTime);
}
Пример #4
0
void CFormatMsgCommon::vCalculateAndFormatTM(BYTE bExprnFlag, UINT64 TimeStamp, char acTime[], int bufferSize)
{
    UINT64 qwRefSysTime, qwAbsBaseTime;
    m_ouRefTimeKeeper.vGetTimeParams(qwRefSysTime, qwAbsBaseTime);

    /* temporary time stamp */
    DWORD dwTSTmp = 0;
    if (IS_TM_SYS_SET(bExprnFlag))
    {
        dwTSTmp = (DWORD) ((TimeStamp - qwAbsBaseTime) + qwRefSysTime);
    }
    else if (IS_TM_REL_SET(bExprnFlag))
    {
        if (m_qwRelBaseTime == 0)
        {
            m_qwRelBaseTime = TimeStamp;
        }

        /* Time difference should be +ve value */
        if(TimeStamp >= m_qwRelBaseTime)
        {
            dwTSTmp = (DWORD) (TimeStamp - m_qwRelBaseTime);
        }
        else
        {
            dwTSTmp = (DWORD) (m_qwRelBaseTime - TimeStamp);
        }

        m_qwRelBaseTime = TimeStamp;
    }
    else if (IS_TM_ABS_SET(bExprnFlag))
    {
        /* Time difference should be +ve value */
        if(TimeStamp >= qwAbsBaseTime)
        {
            dwTSTmp = (DWORD) (TimeStamp - qwAbsBaseTime);
        }
        else
        {
            dwTSTmp = (DWORD) (qwAbsBaseTime - TimeStamp);
        }

    }
    else if (IS_TM_ABS_RES(bExprnFlag))
    {
        if(m_bResetMsgAbsTime == TRUE)
        {
            /* reset the time for new logging session */
            SYSTEMTIME LocalCurrTime;
            GetLocalTime(&LocalCurrTime);

            UINT64 RefCurrTime =
                LocalCurrTime.wHour         * 36000000 +
                LocalCurrTime.wMinute       *   600000 +
                LocalCurrTime.wSecond       *    10000 +
                LocalCurrTime.wMilliseconds *       10;

            UINT64 RefLogTime =
                m_LogSysTime.wHour         * 36000000 +
                m_LogSysTime.wMinute       *   600000 +
                m_LogSysTime.wSecond       *    10000 +
                m_LogSysTime.wMilliseconds *       10;

            /* for log & msg delay time */
            m_qwLogDelayTime = (DWORD)(RefCurrTime - RefLogTime);

            /* Time difference should be +ve value */
            if(TimeStamp >= qwAbsBaseTime)
            {
                m_qwResTime = TimeStamp - qwAbsBaseTime;
            }
            else
            {
                m_qwResTime = qwAbsBaseTime - TimeStamp;
            }
            m_bResetMsgAbsTime = FALSE;
        }

        /* Time difference should be +ve value */
        if(TimeStamp >= (qwAbsBaseTime + m_qwResTime))
        {
            dwTSTmp = (DWORD) (TimeStamp - qwAbsBaseTime - m_qwResTime );
        }
        else
        {
            dwTSTmp = (DWORD) (m_qwResTime + qwAbsBaseTime - TimeStamp );
        }

        /* add msg delay time */
        dwTSTmp = dwTSTmp + m_qwLogDelayTime;

    }
    else
    {
        ASSERT(false);
    }

    vFormatTimeStamp(dwTSTmp, acTime, bufferSize);
}