contentmgmt/contentaccessfwfordrm/inc/supplier.h
changeset 8 35751d3474b7
parent 0 2c201484c85f
--- a/contentmgmt/contentaccessfwfordrm/inc/supplier.h	Tue Jul 21 01:04:32 2009 +0100
+++ b/contentmgmt/contentaccessfwfordrm/inc/supplier.h	Thu Sep 10 14:01:51 2009 +0300
@@ -1,164 +1,162 @@
-/*
-* 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
+/*
+* 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