Exemplo n.º 1
0
VOID CFlags::vSetFlagStatus(eCANMONITORFLAG eWhichFlag, INT nValue)
{
    m_omCriticalSec.Lock();

    switch( eWhichFlag )
    {
        case LOGTODISPLAY:
            m_bLogToWindow = nValue;
            break;

        case LOGTOFILE:
        {
            if (m_bLogEnable != nValue)
            {
                theApp.vSetConfigurationModified();
            }
            m_bLogEnable    = nValue ;
        }
        break;

        case LOGTOFILE_LIN:
        {
            if (m_bLogEnable != nValue)
            {
                theApp.vSetConfigurationModified();
            }
            m_bLogEnable    = nValue ;
        }
        break;

        case REPLAYMODE:
            m_wReplayMode = (WORD)nValue ;
            break;

        case REPLAYFILESELECTED:
            m_bReplayFileSelected = nValue;
            break;

        case LOGFILTER:
            if ( m_bLogFilterOn  != nValue )
            {
                theApp.vSetConfigurationModified();
            }
            m_bLogFilterOn  = nValue ;
            break;
        case LOGFILTER_LIN:
            if ( m_bLogFilterOnLIN  != nValue )
            {
                theApp.vSetConfigurationModified();
            }
            m_bLogFilterOnLIN  = nValue ;
            break;
        case DISPLAYFILTERON :
            if ( m_bDisplayFilterOn != nValue)
            {
                theApp.vSetConfigurationModified();
            }
            m_bDisplayFilterOn = nValue;
            break;
        case DISPLAYFILTERONLIN :
            if ( m_bDisplayFilterOnLin != nValue)
            {
                theApp.vSetConfigurationModified();
            }
            m_bDisplayFilterOnLin = nValue;
            break;
        case TRANSLATIONMODE :
            if ( m_bTranslationMode != nValue)
            {
                theApp.vSetConfigurationModified();
            }
            m_bTranslationMode = nValue;
            break;
        case FILTERUNDEFINEDMSGS :
            m_bFilterUndefinedMsgs = nValue;
            break;
        case RXMSG :
            m_bRxMsg = nValue;
            break;
        case SELECTDATABASEFILE :
            m_bSelectDatabaseFile = nValue ;
            break;
        case DLLLOADED :
            m_bDllLoaded = nValue;
            break;
        case TIMERBUTTON :
            m_bTimerButtonOn = nValue;
            break;
        case MSGHANDLERBUTTON :
            m_bMsgHandlerOn = nValue;
            break;
        case FUNCEDITOR :
            m_bFunctionEditorOn = nValue;
            break;
        case FILTERTXMSGS :
            m_bFilterTxMsg = nValue;
            break;
        case DBOPEN :
            m_bDbOpen = nValue;
            break;
        case DBOPEN_J1939 :
            m_bDbOpenJ1939 = nValue;
            break;
        case HEX :
            if ( m_bDisplayHexON != nValue)
            {
                theApp.vSetConfigurationModified();
            }
            m_bDisplayHexON = nValue;
            break;
        case DISPLAYTIMEMODE:
            if ( static_cast<INT>(m_wDisplayTimeMode) != nValue )
            {
                theApp.vSetConfigurationModified();
            }
            m_wDisplayTimeMode = static_cast<WORD>(nValue);
            break;
        case SCROLLING :
            // Update if there is a change
            if( m_bScrolling != nValue )
            {
                m_bScrolling = nValue;
                // Set the modification flag to true
                theApp.vSetConfigurationModified();
            }
            break;

        case SENDMESG:
            m_bMessageSelected = nValue;
            break;

        case SENDMESGLIN:
            m_bMessageSelectedLin = nValue;
            break;

        case OVERWRITE:
            if ( m_bOverwriteEnable != nValue )
            {
                theApp.vSetConfigurationModified();
            }
            m_bOverwriteEnable = nValue;
            break;

        case TIME_DELAY_REPLAY_FILE:
            m_bTimeDelayReplayFile = nValue;
            break;

        case PASS_STOP_FILTER:
            m_bStopFilter = nValue;
            break;

        case CONNECTED:
            m_bConnected = nValue;
            break;

        case LIN_CONNECTED:
            m_bConnectedLin = nValue;
            break;

        case KEY_HANDLER_ON:
            m_bKeyHandlerOn = nValue;
            break;

        case ERROR_HANDLER:
            m_bErrorHandlerOn = nValue;
            break;

        case DLL_HANDLER:
            m_bDLLHandlerOn = nValue;
            break;

        case ALL_HANDLER:
            m_bALLHandler = nValue;
            break;

        case CONTROLLER_MODE:
            m_wControllerMode = static_cast<WORD>(nValue);
            break;

        case PARALLEL_PORT_EPP:
            m_bParallelPortEPP = nValue;
            break;

        case LOGHEXON:
            if (m_bLogHexON != nValue )
            {
                theApp.vSetConfigurationModified();
            }
            m_bLogHexON = nValue;
            break;
        case LOGTIMEMODE:
            if ( static_cast<WORD>(m_wLogTimeMode) != nValue )
            {
                theApp.vSetConfigurationModified();
            }
            m_wLogTimeMode = static_cast<WORD>(nValue);
            break;

        case eLOGOVERWRITEMODEON:
            m_bLogOverWriteON = nValue;
            break;

        case eLOGREPLAYMSGTYPE:
            m_nReplayMsgType = nValue;
            break;

        case SEND_SIGNAL_MSG:
            m_bSendSignalMSg = nValue;
            break;

        case ACTIVATED_J1939:
            m_bActivatedJ1939 = (BOOL) nValue;
            break;

        case REPLAYFILTER:
            m_bReplayFilter = nValue;
            break;
        case FLEXRAYSENDMSG:
            m_bFlexRaySendMsg = nValue;
            break;
        case ADRESSCLAIM_J1939:
            m_bJAddressClaimed = nValue;
            break;
        default:
            ASSERT(FALSE); // Invalid flag enum value
    }
    m_omCriticalSec.Unlock();
}