diff -r 798ee5f1972c -r 826cea16efd9 videoutils_plat/videoconnutility_api/tsrc/VCXTestCommon/src/CIptvTestVerifyData.cpp --- a/videoutils_plat/videoconnutility_api/tsrc/VCXTestCommon/src/CIptvTestVerifyData.cpp Thu Aug 19 10:54:18 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,762 +0,0 @@ -/* -* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "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 - -#include "CIptvTestVerifyData.h" -#include "VCXTestLog.h" - -// EXTERNAL DATA STRUCTURES - -// EXTERNAL FUNCTION PROTOTYPES - -// CONSTANTS - -// MACROS - -// LOCAL CONSTANTS AND MACROS - -// MODULE DATA STRUCTURES - -// LOCAL FUNCTION PROTOTYPES - -// FORWARD DECLARATIONS - -// ============================= LOCAL FUNCTIONS =============================== - -// ============================ MEMBER FUNCTIONS =============================== - -_LIT(KDriveC, "C:\\"); -_LIT(KLineBreak, "\r\n"); - -_LIT(KPathVerifyWrite, "testing\\data\\verifynew\\"); -_LIT(KVerifyExtension, ".txt"); - -// ----------------------------------------------------------------------------- -// CVerifyFile::NewL -// ----------------------------------------------------------------------------- -// -CVerifyFile* CVerifyFile::NewL() - { - CVerifyFile* self = new (ELeave) CVerifyFile(); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } - -// ----------------------------------------------------------------------------- -// CVerifyFile::ConstructL -// ----------------------------------------------------------------------------- -// -void CVerifyFile::ConstructL() - { - iFs.Connect(); - iId.Zero(); - } - -// ----------------------------------------------------------------------------- -// CVerifyFile::CVerifyFile -// ----------------------------------------------------------------------------- -// -CVerifyFile::CVerifyFile() - { - - } - -// ----------------------------------------------------------------------------- -// CVerifyFile::~CVerifyFile -// ----------------------------------------------------------------------------- -// -CVerifyFile::~CVerifyFile() - { - delete iFileName; - iFileName = NULL; - CloseFileHandles(); - iFs.Close(); - } - -// ----------------------------------------------------------------------------- -// CVerifyFile::CloseFileHandles -// ----------------------------------------------------------------------------- -// -void CVerifyFile::CloseFileHandles() - { - VCXLOGLO1(">>>CVerifyFile::CloseFileHandles"); - if(iFileOpen) - { - iFile.Close(); - iFileStream.Close(); - } - iFileOpen = EFalse; - VCXLOGLO1("<<>>CVerifyFile::ResolveFileName"); - - iFileName->Des().Zero(); - - iFileName->Des().Append(KDriveC); - - iFileName->Des().Append(KPathVerifyWrite); - - BaflUtils::EnsurePathExistsL(iFs, iFileName->Des()); - - iFileName->Des().Append(iId); - iFileName->Des().Append(KVerifyExtension); - - VCXLOGLO1("<>>CVerifyFile::OpenStream"); - - ResolveFileName(); - - // create the stream - - TInt filePos = 0; - if(BaflUtils::FileExists(iFs, iFileName->Des())) - { - TInt result = iFile.Open(iFs, iFileName->Des(), EFileShareAny | EFileWrite | EFileStreamText); - if(result != KErrNone) - { - TPtrC fileName = iFileName->Des(); - VCXLOGLO2("Could not open file: %S", &fileName); - VCXLOGLO1("<<>>CVerifyFile::CreateNewFile"); - - if(BaflUtils::FileExists(iFs, iFileName->Des() )) - { - iFs.Delete(iFileName->Des()); - } - - if(KErrNone == iFile.Create(iFs, iFileName->Des(), EFileShareAny | EFileWrite | EFileStreamText)) - { - iFile.Close(); - } - - VCXLOGLO1("<<Des().Length() > 0) - { - aFileName = iFileName->Des(); - } - } - -// ----------------------------------------------------------------------------- -// CIptvTestVerifyData:: -// C++ default constructor can NOT contain any code, that -// might leave. -// ----------------------------------------------------------------------------- -// -EXPORT_C CIptvTestVerifyData* CIptvTestVerifyData::NewL() - { - VCXLOGLO1(">>>CIptvTestVerifyData::NewL"); - CIptvTestVerifyData* self = new (ELeave) CIptvTestVerifyData( ); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - VCXLOGLO1("<<>>CIptvTestVerifyData::~CIptvTestVerifyData"); - - delete iZipFile; - iZipFile = NULL; - - iFs.Close(); - - iVerifyFiles.ResetAndDestroy(); - - delete iBuffer; - iBuffer = NULL; - - VCXLOGLO1("<<iId == aVerifyId) - { - aIndex = i; - } - } - - if(aIndex == -1) - { - return KErrNotFound; - } - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// CIptvTestVerifyData::CreateVerifyData -// ----------------------------------------------------------------------------- -// -EXPORT_C TInt CIptvTestVerifyData::CreateVerifyDataL(TDesC& aVerifyId, TBool aAppend) - { - VCXLOGLO1(">>>CIptvTestVerifyData::CreateVerifyData"); - - if(aVerifyId.Length() <= 0) - { - VCXLOGLO1("No verify Id"); - VCXLOGLO1("<<iId = aVerifyId; - iVerifyFiles.Append(vf); - if(KErrNone != GetVerifyFileIndex(index, aVerifyId)) - { - VCXLOGLO1("CIptvTestVerifyData:: Verify file not found even after creating one."); - VCXLOGLO1("<< fileName; - - if(!aAppend) - { - iVerifyFiles[index]->CreateNewFile(); - } - - iVerifyFiles[index]->GetFileToWrite(fileName); - - VCXLOGLO2("CIptvTestVerifyData:: writePath %S", &fileName); - - VCXLOGLO1("<<>>CIptvTestVerifyData::WriteVerifyData"); - - iBuffer->Des().Zero(); - - if( iUseTimestamps ) - { - _LIT(KDateTimeString,"%D%M%Y%/0%1%/1%2%/2%3%/3 %-B%:0%H%:1%T%:2%S%.%*C2%:3%-B"); - TBuf<128> timeString; - TTime time; - time.HomeTime(); - TBuf<128> buff; - time.FormatL( buff, KDateTimeString ); - iBuffer->Des().Append( buff ); - iBuffer->Des().Append( _L(" ") ); - } - - iBuffer->Des().Append( aVerifyData ); - - TInt result = KErrNone; - iVerifyFiles[index]->WriteData( *iBuffer ); - TBuf<12> lineChange(KLineBreak); - iVerifyFiles[index]->WriteData( lineChange ); - -// VCXLOGLO1("<<>>CIptvTestVerifyData::VerifyData"); - - TInt result = KErrNone; - aVerifyResult = EVerifyOk; - - // Connect to file system - TBuf<256> fileNameRead( _L("c:\\testing\\data\\iptvtempverify.txt") ); // File which is extracted from verify.zip - TBuf<256> fileNameWrite; // File which is written during the test - - TRAPD( err, ExtractVerifyFileL( aVerifyId, fileNameRead ) ); - if( err != KErrNone ) - { - VCXLOGLO2("CIptvTestVerifyData:: verify file extract failed: %d", err); - VCXLOGLO1("<<GetFileToWrite(fileNameWrite); - iVerifyFiles[index]->CloseFileHandles(); - - // Check that the files exist - - if(!BaflUtils::FileExists(iFs, fileNameRead)) - { - VCXLOGLO2("File used to verify data not found. %S must be verified by hand and added to the verify.zip.", &fileNameWrite); - VCXLOGLO1("<<Des() ); - - // File from test case - RFile fileFromTest; - TFileText fromTest; - HBufC* lineFromTestBuff = HBufC::NewL( 1024 * 4 ); - CleanupStack::PushL( lineFromTestBuff ); - TPtr lineFromTest( lineFromTestBuff->Des() ); - - result = fileFromInst.Open(iFs, fileNameRead, EFileRead | EFileStreamText); - if(result != KErrNone) - { - VCXLOGLO2("Could not open file 1: %S", &fileNameRead); - CleanupStack::PopAndDestroy( lineFromTestBuff ); - CleanupStack::PopAndDestroy( lineFromInstBuff ); - VCXLOGLO1("<<>>CIptvTestVerifyData::CIptvTestVerifyData"); - - VCXLOGLO1("<<>>CIptvTestVerifyData::ConstructL"); - iVerifyFiles.ResetAndDestroy(); - User::LeaveIfError( iFs.Connect() ); - TRAPD(err, iZipFile = CZipFile::NewL( iFs, KIptvVerifyZipFile ) ); - if( err == KErrNoMemory ) - { - User::Leave( err ); - } - if( err != KErrNone ) - { - VCXLOGLO2("CIptvTestVerifyData:: CZipFile::NewL err: %d", err); - delete iZipFile; - iZipFile = NULL; - } - - iBuffer = HBufC::NewL( 1024 * 5 ); - - VCXLOGLO1("<<>>CIptvTestVerifyData::ReadFile: %S", &aFileName); - - TInt result = KErrNone; - RFile file; - TInt fileSize; - - result = file.Open(aFs, aFileName, EFileRead | EFileStreamText); - if(result != KErrNone) - { - VCXLOGLO2("Could not open file 1: %S", &aFileName); - VCXLOGLO1("<<Des() ); - file.Read(ptr); - - *aBuff = buff; - - CleanupStack::PopAndDestroy(&file); - - VCXLOGLO1("<<>>CIptvTestVerifyData::ExtractVerifyFile"); - - iFs.Delete( aDestFile ); - - if( !iZipFile ) - { - VCXLOGLO1("CIptvTestVerifyData:: iZipFile == NULL! Leaving.."); - User::Leave( KErrNotReady ); - } - - TBuf<256> verifyFileName( aVerifyId ); - verifyFileName.Append( KVerifyExtension ); - VCXLOGLO2("CIptvTestVerifyData:: verifyFileName: %S", &verifyFileName); - VCXLOGLO2("CIptvTestVerifyData:: aDestFile: %S", &aDestFile); - - if( !FileExistsInZip( iZipFile, verifyFileName ) ) - { - VCXLOGLO1("CIptvTestVerifyData:: No such file in zip! Leaving.."); - User::Leave( CIptvTestVerifyData::EVerifiedFileNotFound ); - } - - // Get zip file member from the archive - VCXLOGLO1("CIptvTestVerifyData:: Get zip file member from the archive"); - CZipFileMember* member = iZipFile->CaseInsensitiveMemberL( verifyFileName ); - if( member == NULL ) - { - VCXLOGLO1("CIptvTestVerifyData:: zip member is null. Leaving.."); - User::Leave(KErrGeneral); - } - CleanupStack::PushL( member ); - - // Get read stream for the file - VCXLOGLO1("CIptvTestVerifyData:: Get read stream for the file"); - RZipFileMemberReaderStream* stream; - iZipFile->GetInputStreamL( member, stream ); - CleanupStack::PushL( stream ); - - // Alloc buffer and read the archived file - VCXLOGLO1("CIptvTestVerifyData:: Alloc buffer and read the archived file"); - HBufC8* buffer = HBufC8::NewLC( member->UncompressedSize() ); - TPtr8 bufferPtr( buffer->Des() ); - User::LeaveIfError( stream->Read( bufferPtr, member->UncompressedSize() ) ); - - // Write the file to the filesystem - VCXLOGLO1("CIptvTestVerifyData:: Write the file to the filesystem"); - RFile file; - User::LeaveIfError( file.Replace( iFs, aDestFile, EFileWrite ) ); - CleanupClosePushL( file ); - User::LeaveIfError( file.Write(*buffer) ); - - CleanupStack::PopAndDestroy( &file ); - CleanupStack::PopAndDestroy( buffer ); - CleanupStack::PopAndDestroy( stream ); - CleanupStack::PopAndDestroy( member ); - - VCXLOGLO1("<<>>CIptvTestVerifyData::FileExistsInZip"); - - CZipFileMember* member = NULL; - - VCXLOGLO1("CIptvTestVerifyData:: list of members"); - CZipFileMemberIterator* members = aZipFile->GetMembersL(); - - VCXLOGLO1("CIptvTestVerifyData:: loop all members"); - - while ((member = members->NextL()) != 0) - { - VCXLOGLO3("CIptvTestVerifyData:: member %S, size: %d", &(*member->Name()), member->CompressedSize()); - - if( aFileName == (*member->Name()) ) - { - delete member; - delete members; - VCXLOGLO1("<<