diff -r 000000000000 -r d0791faffa3f backupandrestore/backuptest/burtestserver/TestSteps/src/t_teststeprestore.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/backupandrestore/backuptest/burtestserver/TestSteps/src/t_teststeprestore.cpp Tue Feb 02 01:11:40 2010 +0200 @@ -0,0 +1,425 @@ +// Copyright (c) 2004-2009 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: +// + +/** + @file + @released +*/ +#include "t_teststeprestore.h" + +namespace bur_ts + { + + CBURTestStepRestore* CBURTestStepRestore::NewL(CBURTestServer& aTestServer) + /** + Symbian OS Constructor + + @internalComponent + @released + + @param aParent - The parent CBURTestServer of this child test step. + @return Pointer to a newly created CBURTestStepRestore object. + */ + { + CBURTestStepRestore* self = new (ELeave) CBURTestStepRestore(aTestServer); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } + + CBURTestStepRestore::CBURTestStepRestore(CBURTestServer& aTestServer) + /** + C++ Constructor + + @internalComponent + @released + + @param aParent - The parent CBURTestServer of this child test step. + */ + :CBURTestStepBase(aTestServer) + {} + + void CBURTestStepRestore::ConstructL() + /** + Symbian OS 2nd-phase Constructor + + @internalComponent + @released + */ + { + TInt error; + + // Initialise the drive list to empty: + iDriveList.FillZ(); + + iMode = ERestoreMode; + + User::LeaveIfError(iFs.Connect()); + + // Install an active scheduler for this test step + iActiveScheduler = new(ELeave) CActiveScheduler; + CActiveScheduler::Install(iActiveScheduler); + + TRAP(error, iBackupClient = CSBEClient::NewL()); + if (error != KErrNone) + { + _LIT(KClientConnection, "SBEClientConn"); + User::Panic(KClientConnection,error); + } + + _LIT(KBURTRestore, "BURTestServerRestore"); + User::RenameThread(KBURTRestore); + //User::SetCritical(User::ESystemCritical); + + SetTestStepName(KBURTestRestore); + } + + CBURTestStepRestore::~CBURTestStepRestore() + /** + C++ Destructor + + @internalComponent + @released + */ + { + } + + TVerdict CBURTestStepRestore::doTestStepPreambleL() + /** + Override of base class virtual function + + @internalComponent + @released + @return TVerdict code + */ + { + SetTestStepResult(EPass); + return TestStepResult(); + } + + TVerdict CBURTestStepRestore::doTestStepL() + /** + Override of base class pure virtual + + @internalComponent + @released + @return TVerdict code + */ + { + _LIT(KLog1, "Processing user options..."); + Log(LOG_LEVEL2, KLog1); + ProcessUserOptionsL(); + + TBURPartType type = EBURRestoreFull; + + iStorageManager->ReadDataOwnersFromDiskL(iDataOwners); + + CheckValidRegistrationL(); + + if (iIsPartial) + { + _LIT(KLog2, "Preparing for PARTIAL restore..."); + Log(LOG_LEVEL2, KLog2); + PrepareForPartialBURL(); + SetSIDListForPartialL(); + type = EBURRestorePartial; + } + else + { + _LIT(KLog3, "Preparing for FULL restore..."); + Log(LOG_LEVEL2, KLog3); + } + + // Set restore mode: + _LIT(KLog4, "Setting restore mode..."); + Log(LOG_LEVEL2, KLog4); + TRAPD(burmode, SetBURModeL(type, iBackupIncType)); + if (burmode != KErrNone) + { + _LIT(KLog5, "Error setting restore Mode "); + LogWithNum(LOG_LEVEL3, KLog5, burmode); + } + + //SupplyRegistrationDataL(); + + // system data + SupplySystemSnapshotDataL(); + RestoreSystemBaseDataL(); + + RestoreJavaMidletL(); + + // confirm system files restored + iBackupClient->AllSystemFilesRestored(); + + + /** Restore data according to user preferences */ + if (iBackupIncType == EBackupIncrement) + { + IncrementalRestoreL(); + } + else + { + BaseRestoreL(); + } + + Log(LOG_LEVEL2, _L("Setting backup mode to Normal ...")); + TRAPD(err2,SetBURModeL(EBURNormal, ENoBackup)); + if (err2 != KErrNone) + { + _LIT(KBURError, "Error setting Backup mode "); + LogWithNum(LOG_LEVEL3, KBURError, err2); + } + + VerifyRestoreResultL(); + + return TestStepResult(); + } + + void CBURTestStepRestore::VerifyRestoreResultL() + { + if (iPrivateFileNames.Count() != iPrivateFileSizes.Count()) + { + iFailures++; + _LIT(KLogCount, "Restore name and size count of private files don't match"); + Log(LOG_LEVEL3, KLogCount); + SetTestStepResult(TVerdict(EFail)); + return; + } + + /** if we have configure name list of private file and then we check it. */ + if (iPrivateFileNames.Count() > 0) + { + TInt count = iPrivateFileNames.Count(); + for (TInt i=0; i