HRESULT CFrameProcessor_Common::EnableFilter(USHORT ushBlk, BOOL bEnable)
{
    HRESULT hResult = S_OK;
    // Check if at least one filtering datum is available.
    // If so, return S_OK else S_FALSE
    m_bFilterON = bEnable;

    USHORT ushLogBlks = (USHORT) (m_omLogObjectArray.GetSize());

    for (USHORT i = 0; i < ushLogBlks; i++)
    {
        CBaseLogObject* pouCurrLogObj = m_omLogObjectArray.GetAt(i);
        if (FOR_ALL == ushBlk)
        {
            pouCurrLogObj->EnableFilter(bEnable);
        }
        else
        {
            if (ushBlk == i)
            {
                pouCurrLogObj->EnableFilter(bEnable);
                break;
            }
        }
    }

    return hResult;
}
HRESULT CFrameProcessor_Common::GetConfigData(xmlNodePtr pxmlNodePtr)
{
    /*BYTE* pbBuff = new BYTE[unGetBufSize()];
    *ppvConfigData = pbBuff;*/

    CLogObjArray* pomCurrArray = GetActiveLogObjArray();

    BYTE bVersion = VERSION_CURR;
    //COPY_DATA(pbBuff, &bVersion, sizeof(bVersion));

    USHORT ushLogBlks = (USHORT) (pomCurrArray->GetSize());

    //COPY_DATA(pbBuff, &ushLogBlks, sizeof(ushLogBlks));

    for (USHORT i = 0; i < ushLogBlks; i++)
    {
        xmlNodePtr pNodeLogBlckPtr = xmlNewNode(NULL, BAD_CAST DEF_LOG_BLOCK);
        xmlAddChild(pxmlNodePtr, pNodeLogBlckPtr);

        CBaseLogObject* pouLogObj = pomCurrArray->GetAt(i);

        if (NULL != pouLogObj)
        {
            pouLogObj->GetConfigData(pNodeLogBlckPtr);
        }
        else
        {
            ASSERT(FALSE);
        }
    }

    // unLength = unGetBufSize();

    return S_OK;
}
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);
        }
    }
}
// Setter for the logging configuration data
HRESULT CFrameProcessor_Common::SetConfigData(BYTE* pvDataStream, const CString& omStrVersion)
{
    if (FALSE == bIsEditingON())
    {
        return S_FALSE;
    }

    ClearLoggingBlockList();

    BYTE* pbBuff = pvDataStream;
    BYTE bVersion = 0;
    USHORT ushLogBlks = 0;

    COPY_DATA_2(&bVersion, pbBuff, sizeof(bVersion));
    COPY_DATA_2(&ushLogBlks, pbBuff, sizeof(ushLogBlks));

    m_omStrVersion = omStrVersion;
    for (USHORT i = 0; i < ushLogBlks; i++)
    {
        CBaseLogObject* pouBaseLogObj = CreateNewLogObj(m_omStrVersion);
        pbBuff = pouBaseLogObj->SetConfigData(pbBuff, bVersion);
        m_omLogListTmp.Add(pouBaseLogObj);
    }

    return S_OK;
}
// Getter for the logging configuration data
HRESULT CFrameProcessor_Common::GetConfigData(BYTE** ppvConfigData, UINT& unLength)
{
    BYTE* pbBuff = new BYTE[unGetBufSize()];
    *ppvConfigData = pbBuff;

    CLogObjArray* pomCurrArray = GetActiveLogObjArray();

    BYTE bVersion = VERSION_CURR;
    COPY_DATA(pbBuff, &bVersion, sizeof(bVersion));

    USHORT ushLogBlks = (USHORT) (pomCurrArray->GetSize());

    COPY_DATA(pbBuff, &ushLogBlks, sizeof(ushLogBlks));

    for (USHORT i = 0; i < ushLogBlks; i++)
    {
        CBaseLogObject* pouLogObj = pomCurrArray->GetAt(i);
        if (NULL != pouLogObj)
        {
            pbBuff = pouLogObj->GetConfigData(pbBuff);
        }
        else
        {
            ASSERT(FALSE);
        }
    }

    unLength = unGetBufSize();

    return S_OK;
}
HRESULT CFrameProcessor_Common::LogString(CString& omStr)
{
    USHORT ushLogBlks = (USHORT) (m_omLogObjectArray.GetSize());

    for (USHORT i = 0; i < ushLogBlks; i++)
    {
        CBaseLogObject* pouCurrLogObj = m_omLogObjectArray.GetAt(i);
        pouCurrLogObj->bLogString(omStr);
    }

    return S_OK;
}
Ejemplo n.º 7
0
HRESULT CFrameProcessor_Common::GetLoggingBlock(USHORT ushBlk, SLOGINFO& sLogObject)
{
    HRESULT hResult = S_FALSE;
    CBaseLogObject* pouLogObj = FindLoggingBlock(ushBlk);

    if (pouLogObj != NULL)
    {
        pouLogObj->GetLogInfo(sLogObject);
        hResult = S_OK;
    }

    return hResult;
}
//MVN
HRESULT CFrameProcessor_Common::SetConfigData( xmlDocPtr pDoc, ETYPE_BUS eBus)
{
    if (FALSE == bIsEditingON())
    {
        return S_FALSE;
    }

    ClearLoggingBlockList();



    USHORT ushLogBlks = 0;
    xmlChar* pchXpath = NULL;
    xmlXPathObjectPtr pXpathPtr = NULL;

    if(eBus == CAN)
    {
        pchXpath = (xmlChar*)"//BUSMASTER_CONFIGURATION/Module_Configuration/CAN_Log/Log_Block";
    }
    else if(eBus == J1939)
    {
        pchXpath = (xmlChar*)"//BUSMASTER_CONFIGURATION/Module_Configuration/J1939_Log/Log_Block";
    }
    else if(eBus == LIN)
    {
        pchXpath = (xmlChar*)"//BUSMASTER_CONFIGURATION/Module_Configuration/LIN_Log/Log_Block";
    }
    pXpathPtr = xmlUtils::pGetNodes(pDoc, pchXpath);
    xmlNodePtr pNodePtr;

    if ( pXpathPtr != NULL)
    {
        xmlNodeSetPtr pNodeSet = pXpathPtr->nodesetval;
        if(pNodeSet != NULL)
        {
            ushLogBlks = pNodeSet->nodeNr;
            for(int i = 0; i < ushLogBlks; i++)
            {
                CBaseLogObject* pouBaseLogObj = CreateNewLogObj(m_omStrVersion);
                if ( S_OK == pouBaseLogObj->nSetConfigData(pNodeSet->nodeTab[i]))
                {
                    vAddLogFile(m_omLogListTmp, pouBaseLogObj);
                    //m_omLogListTmp.Add(pouBaseLogObj);
                }
            }
        }

    }
    return S_OK;
}
void CFrameProcessor_J1939::FPJ1_vCloseLogFile(void)
{
    USHORT ushBlocks = (USHORT) (m_omLogObjectArray.GetSize());

    CBaseLogObject* pouCurrLogObj = NULL;
    for (USHORT i = 0; i < ushBlocks; i++)
    {
        pouCurrLogObj = m_omLogObjectArray.GetAt(i);

        if (pouCurrLogObj != NULL)
        {
            pouCurrLogObj->bStopOnlyLogging();
        }
    }
}
Ejemplo n.º 10
0
void CFrameProcessor_Common::vCloseLogFile()
{
    USHORT ushBlocks = (USHORT) (m_omLogObjectArray.GetSize());

    CBaseLogObject* pouCurrLogObj = NULL;
    for (USHORT i = 0; i < ushBlocks; i++)
    {
        pouCurrLogObj = m_omLogObjectArray.GetAt(i);

        if (NULL == pouCurrLogObj)
        {
            pouCurrLogObj->vCloseLogFile();
        }
    }
}
Ejemplo n.º 11
0
void CFrameProcessor_CAN::FPC_vCloseLogFile()
{
    USHORT ushBlocks = (USHORT) (m_omLogObjectArray.GetSize());

    CBaseLogObject* pouCurrLogObj  = nullptr;
    for (USHORT i = 0; i < ushBlocks; i++)
    {
        pouCurrLogObj = m_omLogObjectArray.GetAt(i);

        if (pouCurrLogObj != nullptr)
        {
            pouCurrLogObj->bStopOnlyLogging();
            //pouCurrLogObj->vCloseLogFile();
        }
    }
}
HRESULT CFrameProcessor_Common::EnableLogging(BOOL bEnable, ETYPE_BUS eBus)
{
    HRESULT hResult = S_FALSE;

/* Modus operandi: If logging is to be enabled, then first perform the initial
tasks and then assign TRUE to m_bLogEnabled. If logging is to be disabled,
first assign FALSE to m_bLogEnabled and then only perform the other tasks. Else
crash / unexpected behaviour may result */
	USHORT ushBlocks = (USHORT) (m_omLogObjectArray.GetSize());

	//update reset flag
	m_bResetAbsTime = bEnable;
	GetLocalTime(&m_LogSysTime);

    if (ushBlocks > 0)
    {
        if (FALSE == bEnable)
        {
            m_bLogEnabled = bEnable;
        }
        for (USHORT i = 0; i < ushBlocks; i++)
        {
            CBaseLogObject* pouCurrLogObj = m_omLogObjectArray.GetAt(i);

            if (TRUE == bEnable)
            {
                pouCurrLogObj->bStartLogging(eBus);
            }
            else
            {
                pouCurrLogObj->bStopLogging();
            }
        }
        if (TRUE == bEnable)
        {
            m_bLogEnabled = bEnable;
			m_sDataCopyThread.m_unActionCode = CREATE_TIME_MAP;
        }

        hResult = S_OK;
    }
	else
	{
		m_bLogEnabled = FALSE; //desable the control
	}
    return hResult;
}
Ejemplo n.º 13
0
UINT CFrameProcessor_Common::unGetBufSize(void)
{
    UINT unBufSize = sizeof(BYTE);  // Version information
    unBufSize += sizeof(USHORT);    // Logging blocks

    USHORT ushLogBlks = GetLoggingBlockCount();
    for (USHORT i = 0; i < ushLogBlks; i++)
    {
        CBaseLogObject* pouCurrLogObj = FindLoggingBlock(i);
        if (NULL != pouCurrLogObj)
        {
            unBufSize += pouCurrLogObj->unGetBufSize();
        }
    }

    return unBufSize;
}
Ejemplo n.º 14
0
HRESULT CFrameProcessor_Common::SetLoggingBlock(USHORT ushBlk, const SLOGINFO& sLogObject)
{
    HRESULT hResult = S_FALSE;

    if (bIsEditingON())
    {
        CBaseLogObject* pouLogObj = FindLoggingBlock(ushBlk);

        if (pouLogObj != NULL)
        {
            pouLogObj->SetLogInfo(sLogObject);
            hResult = S_OK;
        }
    }

    return hResult;
}
Ejemplo n.º 15
0
void CFrameProcessor_Common::SetChannelBaudRateDetails
(void* controllerDetails,
 int nNumChannels,ETYPE_BUS eBus)
{
    CLogObjArray* pomCurrArray = GetActiveLogObjArray();
    if (NULL != pomCurrArray)
    {
        for (int nIdx = 0; nIdx < pomCurrArray->GetSize(); nIdx++)
        {
            CBaseLogObject* pouCurrLogObj = pomCurrArray->GetAt(nIdx);

            if (NULL != pouCurrLogObj)
            {
                pouCurrLogObj->Der_SetChannelBaudRateDetails(controllerDetails,
                        nNumChannels);
            }
        }
    }
}
Ejemplo n.º 16
0
HRESULT CFrameProcessor_Common::SetDatabaseFiles(const CStringArray& omList)
{
    HRESULT hResult = S_OK; // Success is default assumption

    CLogObjArray* pomCurrArray = GetActiveLogObjArray();
    if (NULL != pomCurrArray)
    {
        for (int nIdx = 0; nIdx < pomCurrArray->GetSize(); nIdx++)
        {
            CBaseLogObject* pouCurrLogObj = pomCurrArray->GetAt(nIdx);

            if (NULL != pouCurrLogObj)
            {
                pouCurrLogObj->Der_SetDatabaseFiles(omList);
            }
        }
    }

    return hResult;
}
Ejemplo n.º 17
0
HRESULT CFrameProcessor_Common::AddLoggingBlock(const SLOGINFO& sLogObject)
{
    HRESULT hResult = S_FALSE;

    if (bIsEditingON())
    {
        CBaseLogObject* pouCurrLogBlk = CreateNewLogObj(m_omStrVersion);
        if (NULL != pouCurrLogBlk)
        {
            pouCurrLogBlk->SetLogInfo(sLogObject);
            m_omLogListTmp.Add(pouCurrLogBlk);
            hResult = S_OK;
        }
        else
        {
            ASSERT(FALSE);
        }
    }

    return hResult;
}
Ejemplo n.º 18
0
HRESULT CFrameProcessor_Common::EnableLoggingBlock(USHORT ushBlk, BOOL bEnable)
{
    HRESULT hResult = S_FALSE;
    CBaseLogObject* pouLogObj = FindLoggingBlock(ushBlk);

    if (NULL != pouLogObj)
    {
        if (pouLogObj->IsLoggingEnable() != bEnable)
        {
            pouLogObj->EnableLogging(bEnable);
            hResult = S_OK;
        }
    }

    if (S_OK == hResult)
    {
        vUpdateLoggingFlag();
    }

    return hResult;
}