contentmgmt/referencedrmagent/TestAgent/testagentimportfile.h
changeset 15 da2ae96f639b
equal deleted inserted replaced
10:afc583cfa176 15:da2ae96f639b
       
     1 /*
       
     2 * Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 #ifndef __TESTAGENTIMPORTFILE_H__
       
    22 #define __TESTAGENTIMPORTFILE_H__
       
    23 
       
    24 #include "agentinterface.h"
       
    25 
       
    26 class CTestAgentImportFile : public ContentAccess::CAgentImportFile
       
    27 		{
       
    28 	public:
       
    29 		static CTestAgentImportFile* NewL(const TDesC8& aMimeType, const ContentAccess::CMetaDataArray& aMetaDataArray, const TDesC& aOutputDirectory, const TDesC& aSuggestedFileName);
       
    30 		static CTestAgentImportFile* NewL(const TDesC8& aMimeType, const ContentAccess::CMetaDataArray& aMetaDataArray);
       
    31 		virtual ~CTestAgentImportFile();
       
    32 
       
    33 	public:
       
    34 		// From CAgentImportFile
       
    35 		virtual TInt WriteData(const TDesC8& aData);
       
    36 		virtual void WriteData(const TDesC8& aData, TRequestStatus& aStatus);
       
    37 		virtual TInt WriteDataComplete();
       
    38 		virtual void WriteDataComplete(TRequestStatus& aStatus);
       
    39 		virtual TInt OutputFileCountL() const;
       
    40 		virtual ContentAccess::CSupplierOutputFile& OutputFileL(TInt aIndex);
       
    41 		virtual ContentAccess::TImportStatus GetImportStatus() const;
       
    42 		virtual TInt GetSuggestedOutputFileExtension(TDes& aFileExtension);
       
    43 		virtual TInt GetSuggestedOutputFileName(TDes& aFileName);
       
    44 		virtual TInt ContinueWithNewOutputFile(RFile& aFile, const TDesC& aFileName);
       
    45 		virtual void ContinueWithNewOutputFile(RFile& aFile, const TDesC& aFileName, TRequestStatus& aStatus);
       
    46 		virtual TBool ContentMimeTypeL(TDes8& aContentMime); 
       
    47 	private:
       
    48 		CTestAgentImportFile(TBool aAgentCreatesOutputFiles);
       
    49 		void ConstructL(const TDesC8& aMimeType, const ContentAccess::CMetaDataArray& aMetaDataArray, const TDesC& aOutputDirectory, const TDesC& aSuggestedFileName);
       
    50 
       
    51 		TInt OpenOutputFile();
       
    52 		void WriteDataCompleteL();
       
    53 		void ContinueWithNewOutputFileL(RFile& aFile, const TDesC& aFileName);
       
    54 
       
    55 	private:
       
    56 
       
    57 		HBufC *iOutputDirectory;
       
    58 		HBufC *iSuggestedFileName;
       
    59 		HBufC *iOutputFileName;
       
    60 		HBufC8 *iLastWriteData;
       
    61 		RFs iFs;
       
    62 		RFile iFile;
       
    63 		RPointerArray <ContentAccess::CSupplierOutputFile> iOutputFiles;
       
    64 		ContentAccess::TImportStatus iImportStatus;
       
    65 		TBool iAgentCreatesOutputFiles;
       
    66 		TBool iFileOpen;
       
    67 		TBool iWaitingForReceiptHandle;
       
    68 		};
       
    69 #endif // __TESTAGENTIMPORTFILE_H__