diff -r 000000000000 -r c6b0df440bee dbgagents/trkagent/app/s60/TrkSettingsData.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dbgagents/trkagent/app/s60/TrkSettingsData.cpp Tue Mar 02 10:33:16 2010 +0530 @@ -0,0 +1,210 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +// INCLUDE FILES +#include "TrkSettingsData.h" + +// ================= MEMBER FUNCTIONS ========================================= + +// ---------------------------------------------------------------------------- +// CTrkSettingsData::NewL +// Two-phase constructor +// ---------------------------------------------------------------------------- +// +CTrkSettingsData* CTrkSettingsData::NewL(RTrkSrvCliSession& aTrkSession) +{ + CTrkSettingsData* data = new(ELeave) CTrkSettingsData(aTrkSession); + CleanupStack::PushL(data); + data->ConstructL(); + CleanupStack::Pop(); // data + return data; +} + +// Destructor +// +CTrkSettingsData::~CTrkSettingsData() +{ +} + +// Constructor +// +CTrkSettingsData::CTrkSettingsData(RTrkSrvCliSession& aTrkSession) +:iTrkSession(aTrkSession) +{ + iConnTypeIndex = 1; + + iPortNumber = KDefaultUsbPortNumber; + iBaudRateIndex = 8; +} + +// Epoc default constructor +// +void CTrkSettingsData::ConstructL() +{ + iTrkSession.GetCurrentConnData(iTrkConnData); + iConnTypeIndex = iTrkConnData.iConnType; + +#ifdef __OEM_TRK__ + if (iConnTypeIndex>ETrkDcc) +#else + if (iConnTypeIndex>ETrkBt) +#endif + { + iTrkConnData.iConnType = ETrkBt; + iConnTypeIndex = ETrkBt; + } + iPlugAndPlay = iTrkConnData.iPlugPlay; + iPortNumber = iTrkConnData.iPortNumber; + iBaudRateIndex = GetIndexForBaudRate(iTrkConnData.iRate); + + if(iPlugAndPlay == 1) + iPlugAndPlayType = 0; + else + iPlugAndPlayType = 1; + +} + +TInt CTrkSettingsData::SaveSettings() +{ + iTrkConnData.iConnType = (TTrkConnType)iConnTypeIndex; + iTrkConnData.iRate = GetBaudRateForIndex(iBaudRateIndex); + iTrkConnData.iPortNumber = iPortNumber; + + if(iPlugAndPlayType == 1) + iPlugAndPlay = 0; + else + iPlugAndPlay = 1; + + + switch (iTrkConnData.iConnType) + { + case ETrkUsbDbgTrc: + { + iTrkConnData.iCommType = EDbgTrcComm; + iTrkConnData.iPDD.Copy(KDefaultUsbPDD); + iTrkConnData.iLDD.Copy(KDefaultUsbLDD); + iTrkConnData.iCSY.Copy(KDefaultUsbCSY); + iTrkConnData.iPlugPlay = iPlugAndPlay; + break; + } + case ETrkBt: + { + iTrkConnData.iCommType = EBtSocket; + iTrkConnData.iPDD = KNullDesC; + iTrkConnData.iLDD = KNullDesC; + iTrkConnData.iCSY = KNullDesC; + iTrkConnData.iPlugPlay = iPlugAndPlay; + break; + } + case ETrkXti: + { + iTrkConnData.iCommType = EXti; + iTrkConnData.iPDD = KNullDesC; + iTrkConnData.iLDD.Copy(KTrkXTILDD); + iTrkConnData.iCSY = KNullDesC; + iTrkConnData.iPlugPlay = iPlugAndPlay; + break; + } + case ETrkDcc: + { + iTrkConnData.iCommType = EDcc; + iTrkConnData.iPDD = KNullDesC; + iTrkConnData.iLDD.Copy(KTrkDCCLDD); + iTrkConnData.iCSY = KNullDesC; + iTrkConnData.iPortNumber = 42; + iTrkConnData.iPlugPlay = iPlugAndPlay; + break; + } + case ETrkUsb: + { + iTrkConnData.iCommType = ESerialComm; + iTrkConnData.iPDD.Copy(KDefaultUsbPDD); + iTrkConnData.iLDD.Copy(KDefaultUsbLDD); + iTrkConnData.iCSY.Copy(KDefaultUsbCSY); + iTrkConnData.iPlugPlay = iPlugAndPlay; + break; + } + case ETrkIr: + { + iTrkConnData.iCommType = ESerialComm; + iTrkConnData.iPDD.Copy(KDefaultIrPDD); + iTrkConnData.iLDD.Copy(KDefaultIrLDD); + iTrkConnData.iCSY.Copy(KDefaultIrCSY); + iTrkConnData.iPlugPlay = iPlugAndPlay; + break; + } + default: + { + iTrkConnData.iCommType = ESerialComm; + break; + } + } + return iTrkSession.SetCurrentConnData(iTrkConnData); +} + +TInt CTrkSettingsData::GetIndexForBaudRate(TUint aRate) +{ + switch (aRate) + { + case 300: return 0; + case 1200: return 1; + case 2400: return 2; + case 4800: return 3; + case 9600: return 4; + case 19200: return 5; + case 38400: return 6; + case 57600: return 7; + case 115200: return 8; + case 234000: return 9; + case 460800: return 10; + case 576000: return 11; + case 1152000: return 12; + case 4000000: return 13; + + default: return 8; + + } + +} + +TUint CTrkSettingsData::GetBaudRateForIndex(TInt aIndex) +{ + switch (aIndex) + { + case 0: return 300; + case 1: return 1200; + case 2: return 2400; + case 3: return 4800; + case 4: return 9600; + case 5: return 19200; + case 6: return 38400; + case 7: return 57600; + case 8: return 115200; + case 9: return 234000; + case 10: return 460800; + case 11: return 576000; + case 12: return 1152000; + case 13: return 4000000; + + default: return 115200; + + } + +} +// End of File