epoc32/include/caf/supplier.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
--- a/epoc32/include/caf/supplier.h	Wed Mar 31 12:27:01 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2003-2009 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: 
-*
-*/
-
-
-
-
-/**
- @file
- @publishedPartner
- @released
-*/
-
-
-#ifndef __SUPPLIER_H__
-#define __SUPPLIER_H__
-
-#include <e32base.h>
-#include <e32std.h>
-#include <caf/caftypes.h>
-
-class RHTTPHeaders;
-class RStringPool;
-
-namespace ContentAccess 
-	{
-	class CImportFile;
-	class CMetaDataArray;
-	class CAgentResolver;
-	class MFileHandleProvider;
-
-#ifndef REMOVE_CAF1
-	class CCafMimeHeader;
-#endif
-
-	/** 
-	Used to import files using a content access agent. In the case of some
-	DRM agents the import will be a transformation from an unprotected content type
-	to a protected content type.
-	 
-	It creates CImportFile objects to import files into a Content Access
-	Agent. CSupplier uses it's CAgentResolver to determine which agent should receive
-	the file based upon the mime type of the file.
-	
-	Clients can check if a mime type is supported by by calling the
-	CSupplier::IsImportSupported() function.
-	
-	The CSupplier does not dynamically update it's list of agents so applications
-	should not use a long term persistent instance of CSupplier.
-	
-	@publishedPartner
-	@released
-	*/
-	class CSupplier : public CBase
-		{ 
-	public:
-		/** Create a new CSupplier 
-		@return a CSupplier object
-		*/
-		IMPORT_C static CSupplier* NewL();
-
-		/** Create a new CSupplier 
-		@return a CSupplier object
-		*/
-		IMPORT_C static CSupplier* NewLC();
-
-		/** destructor */
-		virtual ~CSupplier();
-
-		/** Sets the output directory for any files generated by the CAF.
-		
-		@param aOutputDirectory The preferred location to store any output files
-		*/
-		IMPORT_C void SetOutputDirectoryL(const TDesC& aOutputDirectory);
-
-		/** Determines whether one of the CAF agents wants to import
-		a file with the given mimetype
-
-		If this function returns ETrue the application should use the CSupplier to 
-		create a ContentAccess::CImportFile session and import the file into CAF.
-		
-		@param aMimeType	The mime type of the file determined by an Apparc recognition or transmission header information.
-		@return				ETrue if the mimetype is recognized by one of the CAF agents, EFalse otherwise.
-		*/
-		IMPORT_C TBool IsImportSupported(const TDesC8& aMimeType);
-
-		
-		/** Get HTTP download headers from the agents
-
-		Some DRM schemes require specific headers to be present in the HTTP request
-		header. This function allows a client to retrieve these headers from the
-		agents so any download request will satisfy the criteria required by 
-		the HTTP server.
-
-		@param aStringPool The string pool used by the HTTP session
-		@param aRequestHeaders The agents will add any required fields to the headers
-		*/
-		IMPORT_C void PrepareHTTPRequestHeaders(RStringPool& aStringPool, RHTTPHeaders& aRequestHeaders) const;
-		
-		
-		/** Creates a new CImportFile object and allow the agent to generate the output files 
-		
-		@param aMimeType			This should be one of the mime types supported by CAF, IsImportSupported() can be used to check this.
-		@param aImportMetaData		Any additional information that may be useful for the agent performing the import. 
-									Ideally this will include the mime headers for the file about to be passed into CAF.
-		@param aSuggestedFileName	Suggested filename for the CAF agent to use when 
-		 							creating the output files, Details of the output files produced can be obtained using
-									CImportFile::OutputFileL().
-		@return					    A CImportFile object to import the file.
-		
-		@leave KErrCANoAgent		No agent supports the mime type supplied in aMimeType
-		*/
-		IMPORT_C CImportFile* ImportFileL(const TDesC8& aMimeType, const CMetaDataArray& aImportMetaData, const TDesC& aSuggestedFileName);
-
-		/** Creates a new CImportFile object where the caller must provide file handles to store output files. 
-		
-		This allows a server to store the output files within its own private directory. The CAF agent will write to the private directory 
-		using the file handle provided by the server.
-
-		If the agent requires a new output file it will return KErrCANewFileHandleRequired from CImportFile::Write() or CImportFile::WriteComplete() 
-		The application performing the supply should provide the agent with a new file handle using CImportFile::ContinueWithNewOutputFile();
-		
-		@param aMimeType			This should be one of the mime types supported a CAF agent, IsImportSupported() can be used to check this.
-		@param aImportMetaData		Any additional information that may be useful for the agent performing the import. 
-									Ideally this will include the mime headers for the file about to be passed into CAF.
-		@return					    A CImportFile object to import the file.
-		
-		@leave KErrCANoAgent		No agent supports the mime type supplied in aMimeType
-		*/
-		IMPORT_C CImportFile* ImportFileL(const TDesC8& aMimeType, const CMetaDataArray& aImportMetaData);
-
-#ifndef REMOVE_CAF1
-		/** Import a file
-		@param aMimeHeader Mime headers associated with the file to import
-		@param aSuggestedFileName The application supplied name for any output file created by the agent
-		@deprecated 
-		*/
-		IMPORT_C CImportFile* ImportFileL(CCafMimeHeader &aMimeHeader, const TDesC &aSuggestedFileName);
-#endif
-
-	private:	
-		CSupplier();
-		void ConstructL();
-
-		// Resolver used to figure out which CA agent is responsible for importing a particular file
-		CAgentResolver* iAgentResolver;
-		HBufC* iOutputDirectory;
-		};
-	}
-
-#endif