systemswstubs/startupadaptationstub/src/StartupAdaptationStubModel.cpp
changeset 39 65e91466a14b
parent 31 931072794a66
child 40 b7e5ed8c1342
--- a/systemswstubs/startupadaptationstub/src/StartupAdaptationStubModel.cpp	Tue Jul 06 14:03:31 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,781 +0,0 @@
-/*
-* Copyright (c) 2004-2007 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:  CStartupAdaptationStubModel class definition.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "StartupAdaptationStubModel.h"
-#include "StartupAdaptationStubDebug.h"
-#include <f32file.h>
-
-// CONSTANTS
-
-_LIT( KConfigFile, "C:\\private\\2000D766\\StartupAdaptationStubConf.txt" );
-const TInt KDefaultDuration( 1 ); // Default command duration in ms.
-
-const TInt KGlobalStateChangeIndex( 0 );
-const TInt KSecurityStateChangeIndex( 1 );
-const TInt KGlobalStartupModeIndex( 2 );
-const TInt KSelftestIndex( 3 );
-const TInt KLanguageListIndex( 4 );
-const TInt KRTCTimeIndex( 5 );
-const TInt KSimChangedIndex( 6 );
-const TInt KSimOwnedIndex( 7 );
-const TInt KSetAlarmIndex( 8 );
-const TInt KCancelAlarmIndex( 9 );
-const TInt KResetIndex( 10 );
-const TInt KShutdownIndex( 11 );
-const TInt KRFSIndex( 12 );
-const TInt KActivateRfIndex( 13 );
-const TInt KDeactivateRfIndex( 14 );
-const TInt KHiddenResetIndex( 15 );
-
-using namespace StartupAdaptation;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CStartupAdaptationStubModel* CStartupAdaptationStubModel::NewL()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::NewL." ) );
-
-    CStartupAdaptationStubModel* self =
-        new( ELeave ) CStartupAdaptationStubModel();
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    RDEBUG( _L( "CStartupAdaptationStubModel::NewL finished." ) );
-
-    return self;
-    }
-
-
-// Destructor
-CStartupAdaptationStubModel::~CStartupAdaptationStubModel()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::~CStartupAdaptationStubModel." ) );
-
-    for ( TInt i = 0; i < KNumResponseLists; i++ )
-        {
-        delete iResponses[i].iList;
-        }
-
-    RDEBUG( _L( "CStartupAdaptationStubModel::~CStartupAdaptationStubModel finished." ) );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetGlobalStateChangeResponse
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::GetGlobalStateChangeResponse()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetGlobalStateChangeResponse." ) );
-
-    TInt response = GetSimpleResponse( KGlobalStateChangeIndex );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetGlobalStateChangeResponse finished with %d." ), response );
-    return response;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetSecurityStateChangeResponse
-//
-// -----------------------------------------------------------------------------
-//
-void CStartupAdaptationStubModel::GetSecurityStateChangeResponse(
-    StartupAdaptation::TSecurityStateResponse& aResponse )
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetSecurityStateChangeResponse." ) );
-
-    const TInt index = KSecurityStateChangeIndex;
-    __ASSERT_DEBUG( iResponses[index].iList != NULL, User::Invariant() );
-
-    CStructuredList& list = *( ( iResponses[index] ).iList );
-    const TInt currentIndex = CalculateCurrentBaseIndex( index );;
-
-    __ASSERT_DEBUG( list.Count() > 0, User::Invariant() );
-    __ASSERT_DEBUG( currentIndex < list.Count() - 2, User::Invariant() );
-
-    aResponse.iErrorCode = list[currentIndex + 1 ];
-    aResponse.iValue =
-        static_cast<TSecurityStateInfo>( list[currentIndex + 2 ] );
-
-    UpdateCounter( index );
-
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetSecurityStateChangeResponse finished." ) );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetStartupModeResponse
-//
-// -----------------------------------------------------------------------------
-//
-void CStartupAdaptationStubModel::GetStartupModeResponse(
-    StartupAdaptation::TGlobalStartupModeResponse& aResponse )
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetStartupModeResponse." ) );
-
-    const TInt index = KGlobalStartupModeIndex;
-    __ASSERT_DEBUG( iResponses[index].iList != NULL, User::Invariant() );
-
-    CStructuredList& list = *( ( iResponses[index] ).iList );
-    const TInt currentIndex = CalculateCurrentBaseIndex( index );;
-
-    __ASSERT_DEBUG( list.Count() > 0, User::Invariant() );
-    __ASSERT_DEBUG( currentIndex < list.Count() - 2, User::Invariant() );
-
-    aResponse.iErrorCode = list[currentIndex + 1 ];
-    aResponse.iValue =
-        static_cast<TGlobalStartupMode>( list[currentIndex + 2 ] );
-
-    UpdateCounter( index );
-
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetStartupModeResponse finished." ) );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetSelftestResponse
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::GetSelftestResponse()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetSelftestResponse." ) );
-
-    TInt response = GetSimpleResponse( KSelftestIndex );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetSelftestResponse finished with %d." ), response );
-    return response;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetLanguageListResponse
-//
-// -----------------------------------------------------------------------------
-//
-void CStartupAdaptationStubModel::GetLanguageListResponse(
-    StartupAdaptation::RLanguageListResponse& aResponse )
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetLanguageListResponse." ) );
-
-    const TInt index = KLanguageListIndex;
-    __ASSERT_DEBUG( iResponses[index].iList != NULL, User::Invariant() );
-
-    CStructuredList& list = *( ( iResponses[index] ).iList );
-    const TInt currentIndex = CalculateCurrentBaseIndex( index );;
-
-    __ASSERT_DEBUG( list.Count() > 0, User::Invariant() );
-    __ASSERT_DEBUG( currentIndex < list.Count() - iResponses[ index ].iParts,
-                    User::Invariant() );
-
-    aResponse.iErrorCode = list[ currentIndex + 1 ];
-    for ( TInt i = 0; i < list[ currentIndex + 2 ]; i++ )
-        {
-        aResponse.iLanguages.Append(
-            static_cast<TPreferredLanguage>( list[ currentIndex + i + 3 ] ) );
-        }
-
-    UpdateCounter( index );
-
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetLanguageListResponse finished." ) );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetRTCTimeValidityResponse
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::GetRTCTimeValidityResponse()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetRTCTimeValidityResponse." ) );
-
-    TInt response = GetSimpleResponse( KRTCTimeIndex );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetRTCTimeValidityResponse finished with %d." ), response );
-    return response;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetSimChangedResponse
-//
-// -----------------------------------------------------------------------------
-//
-void CStartupAdaptationStubModel::GetSimChangedResponse(
-    StartupAdaptation::TBooleanResponse& aResponse )
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetSimChangedResponse." ) );
-
-    const TInt index = KSimChangedIndex;
-    __ASSERT_DEBUG( iResponses[index].iList != NULL, User::Invariant() );
-
-    CStructuredList& list = *( ( iResponses[index] ).iList );
-    const TInt currentIndex = CalculateCurrentBaseIndex( index );;
-
-    __ASSERT_DEBUG( list.Count() > 0, User::Invariant() );
-    __ASSERT_DEBUG( currentIndex < list.Count() - 2, User::Invariant() );
-
-    aResponse.iErrorCode = list[currentIndex + 1];
-    aResponse.iValue = static_cast<TBool>( list[currentIndex + 2 ] );
-
-    UpdateCounter( index );
-
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetSimChangedResponse finished." ) );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetSimOwnedResponse
-//
-// -----------------------------------------------------------------------------
-//
-void CStartupAdaptationStubModel::GetSimOwnedResponse(
-    StartupAdaptation::TBooleanResponse& aResponse )
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetSimOwnedResponse." ) );
-
-    const TInt index = KSimOwnedIndex;
-    __ASSERT_DEBUG( iResponses[index].iList != NULL, User::Invariant() );
-
-    CStructuredList& list = *( ( iResponses[index] ).iList );
-    const TInt currentIndex = CalculateCurrentBaseIndex( index );;
-
-    __ASSERT_DEBUG( list.Count() > 0, User::Invariant() );
-    __ASSERT_DEBUG( currentIndex < list.Count() - 2, User::Invariant() );
-
-    aResponse.iErrorCode = list[currentIndex + 1 ];
-    aResponse.iValue = static_cast<TBool>( list[currentIndex + 2 ] );
-
-    UpdateCounter( index );
-
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetSimOwnedResponse finished." ) );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetSetAlarmResponse
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::GetSetAlarmResponse()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetSetAlarmResponse." ) );
-
-    TInt response = GetSimpleResponse( KSetAlarmIndex );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetSetAlarmResponse finished with %d." ), response );
-    return response;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetCancelAlarmResponse
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::GetCancelAlarmResponse()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetCancelAlarmResponse." ) );
-
-    TInt response = GetSimpleResponse( KCancelAlarmIndex );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetCancelAlarmResponse finished with %d." ), response );
-    return response;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetResetResponse
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::GetResetResponse()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetResetResponse." ) );
-
-    TInt response = GetSimpleResponse( KResetIndex );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetResetResponse finished with %d." ), response );
-    return response;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetShutdownResponse
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::GetShutdownResponse()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetShutdownResponse." ) );
-
-    TInt response = GetSimpleResponse( KShutdownIndex );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetShutdownResponse finished with %d." ), response );
-    return response;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetRFSResponse
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::GetRFSResponse()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetRFSResponse." ) );
-
-    TInt response = GetSimpleResponse( KRFSIndex );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetRFSResponse finished with %d." ), response );
-    return response;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetActivateRfResponse
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::GetActivateRfResponse()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetActivateRfResponse." ) );
-
-    TInt response = GetSimpleResponse( KActivateRfIndex );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetActivateRfResponse finished with %d." ), response );
-    return response;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetDeactivateRfResponse
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::GetDeactivateRfResponse()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetDeactivateRfResponse." ) );
-
-    TInt response = GetSimpleResponse( KDeactivateRfIndex );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetDeactivateRfResponse finished with %d." ), response );
-    return response;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetHiddenResetResponse
-//
-// -----------------------------------------------------------------------------
-//
-void CStartupAdaptationStubModel::GetHiddenResetResponse(
-    StartupAdaptation::TBooleanResponse& aResponse )
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetHiddenResetResponse." ) );
-
-    const TInt index = KHiddenResetIndex;
-    __ASSERT_DEBUG( iResponses[index].iList != NULL, User::Invariant() );
-
-    CStructuredList& list = *( ( iResponses[index] ).iList );
-    const TInt currentIndex = CalculateCurrentBaseIndex( index );;
-
-    __ASSERT_DEBUG( list.Count() > 0, User::Invariant() );
-    __ASSERT_DEBUG( currentIndex < list.Count() - 2, User::Invariant() );
-
-    aResponse.iErrorCode = list[currentIndex + 1 ];
-    aResponse.iValue = static_cast<TBool>( list[currentIndex + 2 ] );
-
-    UpdateCounter( index );
-
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetHiddenResetResponse finished." ) );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetDurationForNextCall
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::GetDurationForNextCall( const TInt aCommandId )
-    {
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetDurationForNextCall( %d )" ), aCommandId );
-
-    TInt index = aCommandId - EGlobalStateChange;
-    if ( aCommandId >= EValidateRTCTime )
-        {
-        // Skip the missing two commands.
-        index -= ( EValidateRTCTime - EGetSIMLanguages );
-        }
-
-    __ASSERT_DEBUG( iResponses[index].iList != NULL, User::Invariant() );
-
-    CStructuredList& list = *( ( iResponses[index] ).iList );
-    const TInt currentIndex = CalculateCurrentBaseIndex( index );;
-
-    __ASSERT_DEBUG( list.Count() > 0, User::Invariant() );
-    __ASSERT_DEBUG( currentIndex < list.Count(), User::Invariant() );
-
-    const TInt duration = list[currentIndex];
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetDurationForNextCall finished with %d." ), duration );
-    return duration;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::CStartupAdaptationStubModel
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CStartupAdaptationStubModel::CStartupAdaptationStubModel()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::CStartupAdaptationStubModel." ) );
-
-    for ( TInt i = 0; i < KNumResponseLists; i++ )
-        {
-        iResponses[i].iCounter = 0;
-        }
-
-    iResponses[ KGlobalStateChangeIndex ].iParts = 1;
-    iResponses[ KSecurityStateChangeIndex ].iParts = 2;
-    iResponses[ KGlobalStartupModeIndex ].iParts = 2;
-    iResponses[ KSelftestIndex ].iParts = 1;
-    iResponses[ KLanguageListIndex ].iParts = 16;
-    iResponses[ KRTCTimeIndex ].iParts = 1;
-    iResponses[ KSimChangedIndex ].iParts = 2;
-    iResponses[ KSimOwnedIndex ].iParts = 2;
-    iResponses[ KSetAlarmIndex ].iParts = 1;
-    iResponses[ KCancelAlarmIndex ].iParts = 1;
-    iResponses[ KResetIndex ].iParts = 1;
-    iResponses[ KShutdownIndex ].iParts = 1;
-    iResponses[ KRFSIndex ].iParts = 1;
-    iResponses[ KActivateRfIndex ].iParts = 1;
-    iResponses[ KDeactivateRfIndex ].iParts = 1;
-    iResponses[ KHiddenResetIndex ].iParts = 2;
-
-    RDEBUG( _L( "CStartupAdaptationStubModel::CStartupAdaptationStubModel finished." ) );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CStartupAdaptationStubModel::ConstructL()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::ConstructL." ) );
-
-    for ( TInt i = 0; i < KNumResponseLists; i++ )
-        {
-        iResponses[i].iList =
-            new ( ELeave ) CStructuredList( iResponses[i].iParts + 1 );
-        }
-
-    TRAPD( errorCode, ReadConfigFileL() );
-    if ( errorCode != KErrNone )
-        {
-        RDEBUG_1( _L( "Configuration file does not exist or is corrupt (error code %d). Initializing to default configuration." ), errorCode );
-
-        InitToDefaultL();
-        }
-
-    RDEBUG( _L( "CStartupAdaptationStubModel::ConstructL finished." ) );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::ReadConfigFileL
-//
-// -----------------------------------------------------------------------------
-//
-void CStartupAdaptationStubModel::ReadConfigFileL()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::ReadConfigFileL." ) );
-
-    RFs fs;
-    User::LeaveIfError( fs.Connect() );
-    CleanupClosePushL( fs );
-
-    RFile file;
-    User::LeaveIfError( file.Open( fs, KConfigFile, EFileShareReadersOnly ) );
-    CleanupClosePushL( file );
-
-    TFileText reader;
-    reader.Set( file );
-
-    TBuf<256> buf;
-    TLex lex( buf );
-
-    for ( TInt i = 0; i < KNumResponseLists; i++ )
-        {
-        User::LeaveIfError( reader.Read( buf ) );
-
-        RDEBUG_1( _L( "CStartupAdaptationStubModel: Config line: %S." ), &buf );
-
-        lex.Assign( buf );
-        ReadStructuredListL(
-            iResponses[ i ].iParts, lex, *( iResponses[ i ].iList ) );
-        }
-
-    CleanupStack::PopAndDestroy( 2 ); // file, fs
-
-    RDEBUG( _L( "CStartupAdaptationStubModel::ReadConfigFileL finished." ) );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::InitToDefaultL
-//
-// -----------------------------------------------------------------------------
-//
-void CStartupAdaptationStubModel::InitToDefaultL()
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::InitToDefaultL." ) );
-
-    for ( TInt i = 0; i < KNumResponseLists; i++ )
-        {
-        iResponses[i].iList->Reset();
-        }
-
-    iResponses[KGlobalStateChangeIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KGlobalStateChangeIndex].iList->AppendL( KErrNone );
-
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KErrNone );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( EYes );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KErrNone );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( ENoValue );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KErrNone );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( ENo );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KErrNone );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( ENo );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KErrNone );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( ENo );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KErrNone );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( ENoValue );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( KErrNone );
-    iResponses[KSecurityStateChangeIndex].iList->AppendL( ESimLockOk );
-
-    iResponses[KGlobalStartupModeIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KGlobalStartupModeIndex].iList->AppendL( KErrNone );
-    iResponses[KGlobalStartupModeIndex].iList->AppendL( ENormal );
-
-    iResponses[KSelftestIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KSelftestIndex].iList->AppendL( KErrNone );
-
-    iResponses[KLanguageListIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KLanguageListIndex].iList->AppendL( KErrNotFound );
-    for ( TInt i = 0; i < 15; i++ )
-        {
-        iResponses[KLanguageListIndex].iList->AppendL( 0 );
-        }
-    iResponses[KLanguageListIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KLanguageListIndex].iList->AppendL( KErrNotFound );
-    for ( TInt i = 0; i < 15; i++ )
-        {
-        iResponses[KLanguageListIndex].iList->AppendL( 0 );
-        }
-    iResponses[KLanguageListIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KLanguageListIndex].iList->AppendL( KErrNotFound );
-    for ( TInt i = 0; i < 15; i++ )
-        {
-        iResponses[KLanguageListIndex].iList->AppendL( 0 );
-        }
-
-    iResponses[KRTCTimeIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KRTCTimeIndex].iList->AppendL( 0 );
-
-    iResponses[KSimChangedIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KSimChangedIndex].iList->AppendL( KErrNotFound );
-    iResponses[KSimChangedIndex].iList->AppendL( EFalse );
-
-    iResponses[KSimOwnedIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KSimOwnedIndex].iList->AppendL( KErrNotFound );
-    iResponses[KSimOwnedIndex].iList->AppendL( EFalse );
-
-    for ( TInt i = 8; i < KNumResponseLists - 1; i++ )
-        {
-        iResponses[i].iList->AppendL( KDefaultDuration );
-        iResponses[i].iList->AppendL( 0 );
-        }
-
-    iResponses[KHiddenResetIndex].iList->AppendL( KDefaultDuration );
-    iResponses[KHiddenResetIndex].iList->AppendL( KErrNotSupported );
-    iResponses[KHiddenResetIndex].iList->AppendL( EFalse );
-
-    RDEBUG( _L( "CStartupAdaptationStubModel::InitToDefaultL finished." ) );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::GetSimpleResponse
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::GetSimpleResponse( const TInt aIndex )
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::GetSimpleResponse." ) );
-    __ASSERT_DEBUG( iResponses[aIndex].iList != NULL, User::Invariant() );
-
-    CStructuredList& list = *( ( iResponses[aIndex] ).iList );
-    const TInt currentIndex = CalculateCurrentBaseIndex( aIndex );;
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel: count = %d" ), list.Count() );
-
-    __ASSERT_DEBUG( list.Count() > 0, User::Invariant() );
-    __ASSERT_DEBUG( currentIndex < list.Count() + 1, User::Invariant() );
-
-    TInt response = list[currentIndex + 1];
-
-    UpdateCounter( aIndex );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::GetSimpleResponse finished with %d." ), response );
-    return response;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::CalculateCurrentBaseIndex
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::CalculateCurrentBaseIndex( const TInt aIndex )
-    {
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::CalculateCurrentBaseIndex( %d )" ), aIndex );
-
-    const TInt counter = iResponses[aIndex].iCounter;
-    const TInt parts = iResponses[aIndex].iParts;
-    const TInt currentBaseIndex = counter * ( parts + 1 );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::CalculateCurrentBaseIndex finished with %d." ), currentBaseIndex );
-    return currentBaseIndex;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::UpdateCounter
-//
-// -----------------------------------------------------------------------------
-//
-void CStartupAdaptationStubModel::UpdateCounter( const TInt aIndex )
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::UpdateCounter." ) );
-    __ASSERT_DEBUG( iResponses[aIndex].iList != NULL, User::Invariant() );
-
-    CStructuredList& list = *( ( iResponses[aIndex] ).iList );
-    TInt counter = iResponses[aIndex].iCounter;
-    const TInt parts = iResponses[aIndex].iParts;
-
-    __ASSERT_DEBUG( list.Count() > 0, User::Invariant() );
-    __ASSERT_DEBUG( counter * ( parts + 1 ) < list.Count(), User::Invariant() );
-
-    counter++;
-
-    if ( counter == ( list.Count() / ( parts + 1 ) ) )
-        {
-        iResponses[aIndex].iCounter = 0;
-        }
-    else
-        {
-        iResponses[aIndex].iCounter = counter;
-        }
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::UpdateCounter finished. New counter is %d" ), iResponses[aIndex].iCounter );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::ReadStructuredListL
-//
-// -----------------------------------------------------------------------------
-//
-void CStartupAdaptationStubModel::ReadStructuredListL(
-    const TInt aNumParts,
-    TLex& aLexer,
-    CStructuredList& aList )
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::ReadStructuredListL." ) );
-
-    while ( !aLexer.Eos() )
-        {
-        aList.AppendL( ReadDurationL( aLexer ) );
-
-        TUint val( 0 );
-        User::LeaveIfError( aLexer.Val( val, EHex ) );
-        aList.AppendL( val );
-
-        for ( TInt i = 0; i < aNumParts - 1; i++ )
-            {
-            if ( aLexer.Get() != ',' ) User::Leave( KErrCorrupt );
-
-            User::LeaveIfError( aLexer.Val( val, EHex ) );
-            aList.AppendL( val );
-            }
-
-        if ( !aLexer.Eos() && aLexer.Get() != ';' ) User::Leave( KErrCorrupt );
-        }
-
-    if ( aList.Count() == 0 ) User::Leave( KErrCorrupt );
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::ReadStructuredListL finished. List length: %d" ), aList.Count() );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CStartupAdaptationStubModel::ReadDurationL
-//
-// -----------------------------------------------------------------------------
-//
-TInt CStartupAdaptationStubModel::ReadDurationL( TLex& aLexer )
-    {
-    RDEBUG( _L( "CStartupAdaptationStubModel::ReadDurationL." ) );
-
-    TInt val = KDefaultDuration;
-    if ( aLexer.Peek() == '[' ) // Duration value is written to file
-        {
-        aLexer.Inc();
-        User::LeaveIfError( aLexer.Val( val ) );
-        if ( aLexer.Get() != ']' )
-            {
-            User::Leave( KErrCorrupt );
-            }
-        }
-
-    RDEBUG_1( _L( "CStartupAdaptationStubModel::ReadDurationL finished with %d." ), val );
-    return val;
-    }