sl@0: // Copyright (c) 2008-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: sl@0: /** sl@0: @file sl@0: @internalTechnology sl@0: */ sl@0: sl@0: #ifndef MMPSMOKETESTLIB_H sl@0: #define MMPSMOKETESTLIB_H sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: NONSHARABLE_CLASS(CMultipartTestContainer) : public CBase sl@0: { sl@0: public: sl@0: sl@0: static CMultipartTestContainer* NewL(CTestExecuteLogger &aLogger); sl@0: static CMultipartTestContainer* NewLC(CTestExecuteLogger &aLogger); sl@0: sl@0: virtual ~CMultipartTestContainer(); sl@0: sl@0: private: sl@0: sl@0: CMultipartTestContainer(CTestExecuteLogger &aLogger); sl@0: void ConstructL(); sl@0: /** sl@0: * Return TEF logger. sl@0: */ sl@0: inline CTestExecuteLogger& Logger() {return iLog;}; sl@0: sl@0: public: sl@0: // utility functions sl@0: TInt CompareFilesL( TPtrC aSrcFile, TPtrC aVerificationFile, sl@0: TBool aSkipWhiteSpace); sl@0: HBufC8* ReadFileLC(const TDesC& aFileName); sl@0: void WriteFileL( const TDesC& aFileName, sl@0: RPointerArray& aBodyPartArray ); sl@0: void WriteToDiskL( const TDesC& aFileName, const TDesC8& aData ); sl@0: sl@0: // test functions sl@0: void ParseFileL( const TDesC& aFile, const TDesC& aUrl, sl@0: const TDesC& aOutput ); sl@0: sl@0: sl@0: private: sl@0: sl@0: CTestExecuteLogger& iLog; sl@0: sl@0: sl@0: // cheap resize sl@0: RHeap* he; sl@0: RHeap* oldHeap; sl@0: CTrapCleanup* cleanup; sl@0: sl@0: }; sl@0: sl@0: #endif sl@0: sl@0: