sl@0: /* sl@0: * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: #include "T_TCommConfigV01Data.h" sl@0: sl@0: /*@{*/ sl@0: _LIT(KStrNull, " "); sl@0: sl@0: _LIT(KCmdConstructor, "new"); sl@0: _LIT(KCmdDestructor, "~"); sl@0: _LIT(KCmdiDataBits, "iDataBits"); sl@0: _LIT(KCmdiFifo, "iFifo"); sl@0: _LIT(KCmdiHandshake, "iHandshake"); sl@0: _LIT(KCmdiParity, "iParity"); sl@0: _LIT(KCmdiParityError, "iParityError"); sl@0: _LIT(KCmdiParityErrorChar, "iParityErrorChar"); sl@0: _LIT(KCmdiRate, "iRate"); sl@0: _LIT(KCmdiSIREnable, "iSIREnable"); sl@0: _LIT(KCmdiSIRSettings, "iSIRSettings"); sl@0: _LIT(KCmdiSpecialRate, "iSpecialRate"); sl@0: _LIT(KCmdiStopBits, "iStopBits"); sl@0: _LIT(KCmdiTerminator, "iTerminator"); sl@0: _LIT(KCmdiTerminatorCount, "iTerminatorCount"); sl@0: _LIT(KCmdiXoffChar, "iXoffChar"); sl@0: _LIT(KCmdiXonChar, "iXonChar"); sl@0: sl@0: _LIT(KFldExpected, "expected"); sl@0: _LIT(KFldExpectedIndex, "expected%d"); sl@0: _LIT(KFldValue, "value"); sl@0: _LIT(KFldValueIndex, "value%d"); sl@0: sl@0: _LIT(KLogError, "Error=%d"); sl@0: _LIT(KLogErrorExpectedValue, "Expected Value does not match actual"); sl@0: /*@}*/ sl@0: sl@0: _LIT(KStrEData5, "EData5"); sl@0: _LIT(KStrEData6, "EData6"); sl@0: _LIT(KStrEData7, "EData7"); sl@0: _LIT(KStrEData8, "EData8"); sl@0: const CDataWrapperBase::TEnumEntryTable CT_TCommConfigV01Data::iEnumTableDataBits[] = sl@0: { sl@0: // Enum as a descriptor Enum sl@0: KStrEData5, EData5, sl@0: KStrEData6, EData6, sl@0: KStrEData7, EData7, sl@0: KStrEData8, EData8, sl@0: KStrNull, -1 sl@0: }; sl@0: sl@0: _LIT(KStrEFifoEnable, "EFifoEnable"); sl@0: _LIT(KStrEFifoDisable, "KStrEFifoDisable"); sl@0: const CDataWrapperBase::TEnumEntryTable CT_TCommConfigV01Data::iEnumTableFifo[] = sl@0: { sl@0: // Enum as a descriptor Enum sl@0: KStrEFifoEnable, EFifoEnable, sl@0: KStrEFifoDisable, EFifoDisable, sl@0: KStrNull, -1 sl@0: }; sl@0: sl@0: _LIT(KStrKConfigObeyXoff, "KConfigObeyXoff"); sl@0: _LIT(KStrKConfigSendXoff, "KConfigSendXoff"); sl@0: _LIT(KStrKConfigObeyCTS, "KConfigObeyCTS"); sl@0: _LIT(KStrKConfigFailCTS, "KConfigFailCTS"); sl@0: _LIT(KStrKConfigObeyDSR, "KConfigObeyDSR"); sl@0: _LIT(KStrKConfigFailDSR, "KConfigFailDSR"); sl@0: _LIT(KStrKConfigObeyDCD, "KConfigObeyDCD"); sl@0: _LIT(KStrKConfigFailDCD, "KConfigFailDCD"); sl@0: _LIT(KStrKConfigFreeRTS, "KConfigFreeRTS"); sl@0: _LIT(KStrKConfigFreeDTR, "KConfigFreeDTR"); sl@0: _LIT(KStrKConfigObeyDTR, "KConfigObeyDTR"); sl@0: _LIT(KStrKConfigFailDTR, "KConfigFailDTR"); sl@0: _LIT(KStrKConfigObeyRTS, "KConfigObeyRTS"); sl@0: _LIT(KStrKConfigFailRTS, "KConfigFailRTS"); sl@0: _LIT(KStrKConfigFreeDSR, "KConfigFreeDSR"); sl@0: _LIT(KStrKConfigFreeCTS, "KConfigFreeCTS"); sl@0: _LIT(KStrKConfigFreeDCD, "KConfigFreeDCD"); sl@0: _LIT(KStrKConfigFreeRI, "KConfigFreeRI"); sl@0: const CDataWrapperBase::TEnumEntryTable CT_TCommConfigV01Data::iEnumTableHandshake[] = sl@0: { sl@0: // Enum as a descriptor Enum sl@0: KStrKConfigObeyXoff, KConfigObeyXoff, sl@0: KStrKConfigSendXoff, KConfigSendXoff, sl@0: KStrKConfigObeyCTS, KConfigObeyCTS, sl@0: KStrKConfigFailCTS, KConfigFailCTS, sl@0: KStrKConfigObeyDSR, KConfigObeyDSR, sl@0: KStrKConfigFailDSR, KConfigFailDSR, sl@0: KStrKConfigObeyDCD, KConfigObeyDCD, sl@0: KStrKConfigFailDCD, KConfigFailDCD, sl@0: KStrKConfigFreeRTS, KConfigFreeRTS, sl@0: KStrKConfigFreeDTR, KConfigFreeDTR, sl@0: KStrKConfigObeyDTR, KConfigObeyDTR, sl@0: KStrKConfigFailDTR, KConfigFailDTR, sl@0: KStrKConfigObeyRTS, KConfigObeyRTS, sl@0: KStrKConfigFailRTS, KConfigFailRTS, sl@0: KStrKConfigFreeDSR, KConfigFreeDSR, sl@0: KStrKConfigFreeCTS, KConfigFreeCTS, sl@0: KStrKConfigFreeDCD, KConfigFreeDCD, sl@0: KStrKConfigFreeRI, KConfigFreeRI, sl@0: KStrNull, -1 sl@0: }; sl@0: sl@0: _LIT(KStrEParityNone, "EParityNone"); sl@0: _LIT(KStrEParityEven, "EParityEven"); sl@0: _LIT(KStrEParityOdd, "EParityOdd"); sl@0: _LIT(KStrEParityMark, "EParityMark"); sl@0: _LIT(KStrEParitySpace, "EParitySpace"); sl@0: const CDataWrapperBase::TEnumEntryTable CT_TCommConfigV01Data::iEnumTableParity[] = sl@0: { sl@0: // Enum as a descriptor Enum sl@0: KStrEParityNone, EParityNone, sl@0: KStrEParityEven, EParityEven, sl@0: KStrEParityOdd, EParityOdd, sl@0: KStrEParityMark, EParityMark, sl@0: KStrEParitySpace, EParitySpace, sl@0: KStrNull, -1 sl@0: }; sl@0: sl@0: _LIT(KStrKConfigParityErrorFail, "KConfigParityErrorFail"); sl@0: _LIT(KStrKConfigParityErrorIgnore, "KConfigParityErrorIgnore"); sl@0: _LIT(KStrKConfigParityErrorReplaceChar, "KConfigParityErrorReplaceChar"); sl@0: const CDataWrapperBase::TEnumEntryTable CT_TCommConfigV01Data::iEnumTableParityError[] = sl@0: { sl@0: // Enum as a descriptor Enum sl@0: KStrKConfigParityErrorFail, KConfigParityErrorFail, sl@0: KStrKConfigParityErrorIgnore, KConfigParityErrorIgnore, sl@0: KStrKConfigParityErrorReplaceChar, KConfigParityErrorReplaceChar, sl@0: KStrNull, -1 sl@0: }; sl@0: sl@0: _LIT(KStrEBps50, "EBps50"); sl@0: _LIT(KStrEBps75, "EBps75"); sl@0: _LIT(KStrEBps110, "EBps110"); sl@0: _LIT(KStrEBps134, "EBps134"); sl@0: _LIT(KStrEBps150, "EBps150"); sl@0: _LIT(KStrEBps300, "EBps300"); sl@0: _LIT(KStrEBps600, "EBps600"); sl@0: _LIT(KStrEBps1200, "EBps1200"); sl@0: _LIT(KStrEBps1800, "EBps1800"); sl@0: _LIT(KStrEBps2000, "EBps2000"); sl@0: _LIT(KStrEBps2400, "EBps2400"); sl@0: _LIT(KStrEBps3600, "EBps3600"); sl@0: _LIT(KStrEBps4800, "EBps4800"); sl@0: _LIT(KStrEBps7200, "EBps7200"); sl@0: _LIT(KStrEBps9600, "EBps9600"); sl@0: _LIT(KStrEBps19200, "EBps19200"); sl@0: _LIT(KStrEBps38400, "EBps38400"); sl@0: _LIT(KStrEBps57600, "EBps57600"); sl@0: _LIT(KStrEBps115200, "EBps115200"); sl@0: _LIT(KStrEBps230400, "EBps230400"); sl@0: _LIT(KStrEBps460800, "EBps460800"); sl@0: _LIT(KStrEBps576000, "EBps576000"); sl@0: _LIT(KStrEBps1152000, "EBps1152000"); sl@0: _LIT(KStrEBps4000000, "EBps4000000"); sl@0: _LIT(KStrEBps921600, "EBps921600"); sl@0: _LIT(KStrEBpsAutobaud, "EBpsAutobaud"); sl@0: _LIT(KStrEBpsSpecial, "EBpsSpecial"); sl@0: const CDataWrapperBase::TEnumEntryTable CT_TCommConfigV01Data::iEnumTableRate[] = sl@0: { sl@0: // Enum as a descriptor Enum sl@0: KStrEBps50, EBps50, sl@0: KStrEBps75, EBps75, sl@0: KStrEBps110, EBps110, sl@0: KStrEBps134, EBps134, sl@0: KStrEBps150, EBps150, sl@0: KStrEBps300, EBps300, sl@0: KStrEBps600, EBps600, sl@0: KStrEBps1200, EBps1200, sl@0: KStrEBps1800, EBps1800, sl@0: KStrEBps2000, EBps2000, sl@0: KStrEBps2400, EBps2400, sl@0: KStrEBps3600, EBps3600, sl@0: KStrEBps4800, EBps4800, sl@0: KStrEBps7200, EBps7200, sl@0: KStrEBps9600, EBps9600, sl@0: KStrEBps19200, EBps19200, sl@0: KStrEBps38400, EBps38400, sl@0: KStrEBps57600, EBps57600, sl@0: KStrEBps115200, EBps115200, sl@0: KStrEBps230400, EBps230400, sl@0: KStrEBps460800, EBps460800, sl@0: KStrEBps576000, EBps576000, sl@0: KStrEBps1152000, EBps1152000, sl@0: KStrEBps4000000, EBps4000000, sl@0: KStrEBps921600, EBps921600, sl@0: KStrEBpsAutobaud, EBpsAutobaud, sl@0: KStrEBpsSpecial, EBpsSpecial, sl@0: KStrNull, -1 sl@0: }; sl@0: sl@0: _LIT(KStrESIREnable, "ESIREnable"); sl@0: _LIT(KStrESIRDisable, "ESIRDisable"); sl@0: const CDataWrapperBase::TEnumEntryTable CT_TCommConfigV01Data::iEnumTableSir[] = sl@0: { sl@0: // Enum as a descriptor Enum sl@0: KStrESIREnable, ESIREnable, sl@0: KStrESIRDisable, ESIRDisable, sl@0: KStrNull, -1 sl@0: }; sl@0: sl@0: _LIT(KStrKConfigSIRPulseWidthMaximum, "KConfigSIRPulseWidthMaximum"); sl@0: _LIT(KStrKConfigSIRPulseWidthMinimum, "KConfigSIRPulseWidthMinimum"); sl@0: _LIT(KStrKConfigSIRShutDown, "KConfigSIRShutDown"); sl@0: _LIT(KStrKConfigSIRMinimumRange, "KConfigSIRMinimumRange"); sl@0: _LIT(KStrKConfigSIRMediumRange, "KConfigSIRMediumRange"); sl@0: _LIT(KStrKConfigSIRMaximumRange, "KConfigSIRMaximumRange"); sl@0: const CDataWrapperBase::TEnumEntryTable CT_TCommConfigV01Data::iEnumTableSirSetting[] = sl@0: { sl@0: // Enum as a descriptor Enum sl@0: KStrKConfigSIRPulseWidthMaximum, KConfigSIRPulseWidthMaximum, sl@0: KStrKConfigSIRPulseWidthMinimum, KConfigSIRPulseWidthMinimum, sl@0: KStrKConfigSIRShutDown, KConfigSIRShutDown, sl@0: KStrKConfigSIRMinimumRange, KConfigSIRMinimumRange, sl@0: KStrKConfigSIRMediumRange, KConfigSIRMediumRange, sl@0: KStrKConfigSIRMaximumRange, KConfigSIRMaximumRange, sl@0: KStrNull, -1 sl@0: }; sl@0: sl@0: _LIT(KStrEStop1, "EStop1"); sl@0: _LIT(KStrEStop2, "EStop2"); sl@0: const CDataWrapperBase::TEnumEntryTable CT_TCommConfigV01Data::iEnumTableStopBits[] = sl@0: { sl@0: // Enum as a descriptor Enum sl@0: KStrEStop1, EStop1, sl@0: KStrEStop2, EStop2, sl@0: KStrNull, -1 sl@0: }; sl@0: sl@0: ////////////////////////////////////////////////////////////////////// sl@0: // Construction/Destruction sl@0: ////////////////////////////////////////////////////////////////////// sl@0: sl@0: CT_TCommConfigV01Data::CT_TCommConfigV01Data() sl@0: : CDataWrapperBase() sl@0: , iCommConfig(NULL) sl@0: { sl@0: } sl@0: sl@0: CT_TCommConfigV01Data::~CT_TCommConfigV01Data() sl@0: /** sl@0: * Public destructor sl@0: */ sl@0: { sl@0: DestroyData(); sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DestroyData() sl@0: { sl@0: delete iCommConfig; sl@0: iCommConfig=NULL; sl@0: } sl@0: sl@0: TDes8* CT_TCommConfigV01Data::Descriptor() sl@0: /** sl@0: * Return a pointer to the buffer sl@0: * sl@0: * @return pointer to the buffer sl@0: */ sl@0: { sl@0: return iCommConfig; sl@0: } sl@0: sl@0: TAny* CT_TCommConfigV01Data::GetObject() sl@0: /** sl@0: * Return a pointer to the object that the data wraps sl@0: * sl@0: * @return pointer to the object that the data wraps sl@0: */ sl@0: { sl@0: return iCommConfig; sl@0: } sl@0: sl@0: TBool CT_TCommConfigV01Data::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex) sl@0: /** sl@0: * Process a command read from the ini file sl@0: * sl@0: * @param aCommand The command to process sl@0: * @param aSection The section in the ini containing data for the command sl@0: * @param aAsyncErrorIndex Command index for async calls to return errors to sl@0: * sl@0: * @return ETrue if the command is processed sl@0: * sl@0: * @leave System wide error sl@0: */ sl@0: { sl@0: TBool ret=ETrue; sl@0: TInt err=KErrNone; sl@0: sl@0: if ( aCommand==KCmdConstructor ) sl@0: { sl@0: err=DoCmdConstructor(); sl@0: } sl@0: else if ( aCommand==KCmdDestructor ) sl@0: { sl@0: DoCmdDestructor(); sl@0: } sl@0: else if ( aCommand==KCmdiDataBits ) sl@0: { sl@0: DoCmdiDataBits(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiFifo ) sl@0: { sl@0: DoCmdiFifo(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiHandshake ) sl@0: { sl@0: DoCmdiHandshake(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiParity ) sl@0: { sl@0: DoCmdiParity(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiParityError ) sl@0: { sl@0: DoCmdiParityError(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiParityErrorChar ) sl@0: { sl@0: DoCmdiParityErrorChar(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiRate ) sl@0: { sl@0: DoCmdiRate(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiSIREnable ) sl@0: { sl@0: DoCmdiSIREnable(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiSIRSettings ) sl@0: { sl@0: DoCmdiSIRSettings(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiSpecialRate ) sl@0: { sl@0: DoCmdiSpecialRate(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiStopBits ) sl@0: { sl@0: DoCmdiStopBits(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiTerminator ) sl@0: { sl@0: DoCmdiTerminator(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiTerminatorCount ) sl@0: { sl@0: DoCmdiTerminatorCount(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiXoffChar ) sl@0: { sl@0: DoCmdiXoffChar(aSection); sl@0: } sl@0: else if ( aCommand==KCmdiXonChar ) sl@0: { sl@0: DoCmdiXonChar(aSection); sl@0: } sl@0: else sl@0: { sl@0: ret=CDataWrapperBase::DoCommandL(aCommand, aSection, aAsyncErrorIndex); sl@0: } sl@0: sl@0: if ( err!=KErrNone ) sl@0: { sl@0: ERR_PRINTF2(KLogError, err); sl@0: SetError(err); sl@0: } sl@0: sl@0: return ret; sl@0: } sl@0: sl@0: TCommConfigV01& CT_TCommConfigV01Data::GetCommConfigV01() sl@0: { sl@0: return (*iCommConfig)(); sl@0: } sl@0: sl@0: TInt CT_TCommConfigV01Data::DoCmdConstructor() sl@0: { sl@0: DestroyData(); sl@0: TRAPD(err, iCommConfig=new (ELeave) TCommConfig()); sl@0: iCommConfig->FillZ(); sl@0: return err; sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdDestructor() sl@0: { sl@0: DestroyData(); sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdiDataBits(const TDesC& aSection) sl@0: { sl@0: TDataBits actual=GetCommConfigV01().iDataBits; sl@0: INFO_PRINTF2(_L("iDataBits : %d"), actual); sl@0: sl@0: TInt expected; sl@0: if ( GetEnumFromConfig(aSection, KFldExpected(), iEnumTableDataBits, expected) ) sl@0: { sl@0: if ( expected!=actual ) sl@0: { sl@0: ERR_PRINTF1(KLogErrorExpectedValue); sl@0: SetBlockResult(EFail); sl@0: } sl@0: } sl@0: sl@0: TInt value; sl@0: if ( GetEnumFromConfig(aSection, KFldValue(), iEnumTableDataBits, value) ) sl@0: { sl@0: GetCommConfigV01().iDataBits=(TDataBits)value; sl@0: } sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdiFifo(const TDesC& aSection) sl@0: { sl@0: TFifo actual=(TFifo)GetCommConfigV01().iFifo; sl@0: INFO_PRINTF2(_L("iFifo : %d"), actual); sl@0: sl@0: TInt expected; sl@0: if ( GetEnumFromConfig(aSection, KFldExpected(), iEnumTableFifo, expected) ) sl@0: { sl@0: if ( expected!=actual ) sl@0: { sl@0: ERR_PRINTF1(KLogErrorExpectedValue); sl@0: SetBlockResult(EFail); sl@0: } sl@0: } sl@0: sl@0: TInt value; sl@0: if ( GetEnumFromConfig(aSection, KFldValue(), iEnumTableFifo, value) ) sl@0: { sl@0: GetCommConfigV01().iFifo=(TUint)value; sl@0: } sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdiHandshake(const TDesC& aSection) sl@0: { sl@0: TUint actual=GetCommConfigV01().iHandshake; sl@0: INFO_PRINTF2(_L("iHandshake : %d"), actual); sl@0: sl@0: TUint expected; sl@0: if ( GetOrFromConfig(aSection, KFldExpected(), iEnumTableHandshake, expected) ) sl@0: { sl@0: if ( expected!=actual ) sl@0: { sl@0: ERR_PRINTF1(KLogErrorExpectedValue); sl@0: SetBlockResult(EFail); sl@0: } sl@0: } sl@0: sl@0: TUint value; sl@0: if ( GetOrFromConfig(aSection, KFldValue(), iEnumTableHandshake, value) ) sl@0: { sl@0: GetCommConfigV01().iHandshake=value; sl@0: } sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdiParity(const TDesC& aSection) sl@0: { sl@0: TParity actual=GetCommConfigV01().iParity; sl@0: INFO_PRINTF2(_L("iParity : %d"), actual); sl@0: sl@0: TInt expected; sl@0: if ( GetEnumFromConfig(aSection, KFldExpected(), iEnumTableParity, expected) ) sl@0: { sl@0: if ( expected!=actual ) sl@0: { sl@0: ERR_PRINTF1(KLogErrorExpectedValue); sl@0: SetBlockResult(EFail); sl@0: } sl@0: } sl@0: sl@0: TInt value; sl@0: if ( GetEnumFromConfig(aSection, KFldValue(), iEnumTableParity, value) ) sl@0: { sl@0: GetCommConfigV01().iParity=(TParity)value; sl@0: } sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdiParityError(const TDesC& aSection) sl@0: { sl@0: TUint actual=GetCommConfigV01().iParityError; sl@0: INFO_PRINTF2(_L("iParityError : %d"), actual); sl@0: sl@0: TInt expected; sl@0: if ( GetEnumFromConfig(aSection, KFldExpected(), iEnumTableParityError, expected) ) sl@0: { sl@0: if ( expected!=(TInt)actual ) sl@0: { sl@0: ERR_PRINTF1(KLogErrorExpectedValue); sl@0: SetBlockResult(EFail); sl@0: } sl@0: } sl@0: sl@0: TInt value; sl@0: if ( GetEnumFromConfig(aSection, KFldValue(), iEnumTableParityError, value) ) sl@0: { sl@0: GetCommConfigV01().iParityError=(TUint)value; sl@0: } sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdiParityErrorChar(const TDesC& aSection) sl@0: { sl@0: TText8 actual=GetCommConfigV01().iParityErrorChar; sl@0: INFO_PRINTF2(_L("iParityErrorChar : 0x%x"), (TUint)actual); sl@0: sl@0: TInt expected; sl@0: if ( GetHexFromConfig(aSection, KFldExpected(), expected) ) sl@0: { sl@0: if ( expected!=(TInt)actual ) sl@0: { sl@0: ERR_PRINTF1(KLogErrorExpectedValue); sl@0: SetBlockResult(EFail); sl@0: } sl@0: } sl@0: sl@0: TInt value; sl@0: if ( GetHexFromConfig(aSection, KFldValue(), value) ) sl@0: { sl@0: GetCommConfigV01().iParityErrorChar=(TText8)value; sl@0: } sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdiRate(const TDesC& aSection) sl@0: { sl@0: TBps actual=GetCommConfigV01().iRate; sl@0: INFO_PRINTF2(_L("iRate : %d"), actual); sl@0: sl@0: TInt expected; sl@0: if ( GetEnumFromConfig(aSection, KFldExpected(), iEnumTableRate, expected) ) sl@0: { sl@0: if ( expected!=(TInt)actual ) sl@0: { sl@0: ERR_PRINTF1(KLogErrorExpectedValue); sl@0: SetBlockResult(EFail); sl@0: } sl@0: } sl@0: sl@0: TInt value; sl@0: if ( GetEnumFromConfig(aSection, KFldValue(), iEnumTableRate, value) ) sl@0: { sl@0: GetCommConfigV01().iRate=(TBps)value; sl@0: } sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdiSIREnable(const TDesC& aSection) sl@0: { sl@0: TSir actual=GetCommConfigV01().iSIREnable; sl@0: INFO_PRINTF2(_L("iSIREnable : %d"), actual); sl@0: sl@0: TInt expected; sl@0: if ( GetEnumFromConfig(aSection, KFldExpected(), iEnumTableSir, expected) ) sl@0: { sl@0: if ( expected!=(TInt)actual ) sl@0: { sl@0: ERR_PRINTF1(KLogErrorExpectedValue); sl@0: SetBlockResult(EFail); sl@0: } sl@0: } sl@0: sl@0: TInt value; sl@0: if ( GetEnumFromConfig(aSection, KFldValue(), iEnumTableSir, value) ) sl@0: { sl@0: GetCommConfigV01().iSIREnable=(TSir)value; sl@0: } sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdiSIRSettings(const TDesC& aSection) sl@0: { sl@0: TUint actual=GetCommConfigV01().iSIRSettings; sl@0: INFO_PRINTF2(_L("iSIRSettings : %d"), actual); sl@0: sl@0: TInt expected; sl@0: if ( GetEnumFromConfig(aSection, KFldExpected(), iEnumTableSirSetting, expected) ) sl@0: { sl@0: if ( expected!=(TInt)actual ) sl@0: { sl@0: ERR_PRINTF1(KLogErrorExpectedValue); sl@0: SetBlockResult(EFail); sl@0: } sl@0: } sl@0: sl@0: TInt value; sl@0: if ( GetEnumFromConfig(aSection, KFldValue(), iEnumTableSirSetting, value) ) sl@0: { sl@0: GetCommConfigV01().iSIRSettings=(TUint)value; sl@0: } sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdiSpecialRate(const TDesC& aSection) sl@0: { sl@0: TInt actual=GetCommConfigV01().iSpecialRate; sl@0: INFO_PRINTF2(_L("iSpecialRate : %d"), actual); sl@0: sl@0: TInt expected; sl@0: if ( GetIntFromConfig(aSection, KFldExpected(), expected) ) sl@0: { sl@0: if ( expected!=actual ) sl@0: { sl@0: ERR_PRINTF1(KLogErrorExpectedValue); sl@0: SetBlockResult(EFail); sl@0: } sl@0: } sl@0: sl@0: TInt value; sl@0: if ( GetIntFromConfig(aSection, KFldValue(), value) ) sl@0: { sl@0: GetCommConfigV01().iSpecialRate=value; sl@0: } sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdiStopBits(const TDesC& aSection) sl@0: { sl@0: TStopBits actual=GetCommConfigV01().iStopBits; sl@0: INFO_PRINTF2(_L("iStopBits : %d"), actual); sl@0: sl@0: TInt expected; sl@0: if ( GetEnumFromConfig(aSection, KFldExpected(), iEnumTableStopBits, expected) ) sl@0: { sl@0: if ( expected!=actual ) sl@0: { sl@0: ERR_PRINTF1(KLogErrorExpectedValue); sl@0: SetBlockResult(EFail); sl@0: } sl@0: } sl@0: sl@0: TInt value; sl@0: if ( GetEnumFromConfig(aSection, KFldValue(), iEnumTableStopBits, value) ) sl@0: { sl@0: GetCommConfigV01().iStopBits=(TStopBits)value; sl@0: } sl@0: } sl@0: sl@0: void CT_TCommConfigV01Data::DoCmdiTerminator(const TDesC& aSection) sl@0: { sl@0: TBuf tempStore; sl@0: sl@0: for ( TInt index=0; index