contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentfactory.h
changeset 0 2c201484c85f
child 8 35751d3474b7
equal deleted inserted replaced
-1:000000000000 0:2c201484c85f
       
     1 /*
       
     2 * Copyright (c) 2003-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 /**
       
    22  @file
       
    23  @internalComponent
       
    24  @released
       
    25 */
       
    26 
       
    27 
       
    28 #ifndef __F32AGENTFACTORY_H__
       
    29 #define __F32AGENTFACTORY_H__
       
    30 
       
    31 #include <caf/agentfactory.h>
       
    32 
       
    33 namespace ContentAccess
       
    34 	{
       
    35 	class CAgentContent;
       
    36 	class CAgentManager;
       
    37 	class CAgentData;
       
    38 
       
    39 	/** 
       
    40 	 Creates products that allow access to plaintext unprotected files
       
    41 	 via the Content Access Framework (CAF)
       
    42 	 
       
    43 	 The F32 agent is treated as a special case by CAF. It is 
       
    44 	 the default agent used when no other suitable agent is found
       
    45 	 for a particular operation.
       
    46 	 
       
    47 	 No translation of the content will occur and no access restrictions
       
    48 	 will be enforced aside from the usual platform security data caging
       
    49 	 rules.
       
    50 	 
       
    51 	 @internalComponent
       
    52 	 @released
       
    53 	 */
       
    54 	class CF32AgentFactory : public CAgentFactory
       
    55 		{
       
    56 	public:
       
    57 		/** Entry point for F32 Agent 
       
    58 		@return a new F32AgentFactory instance
       
    59 		*/
       
    60 		static CAgentFactory* NewL();
       
    61 		
       
    62 		// From CAgentFactory
       
    63 		virtual CAgentContent* CreateContentBrowserL(const TDesC& aURI, TContentShareMode aShareMode);	
       
    64 		virtual CAgentContent* CreateContentBrowserL(RFile& aFile);
       
    65 		virtual CAgentData* CreateDataConsumerL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode);
       
    66 		virtual CAgentData* CreateDataConsumerL(RFile& aFile, const TDesC& aUniqueId);
       
    67 		virtual CAgentManager*  CreateManagerL();
       
    68 
       
    69 		/** The F32 Agent cannot be used to receive files
       
    70 		
       
    71 		The CAF framework should know this is the F32 agent and never
       
    72 		attempt to call this method
       
    73 		
       
    74 		@panic CAF EF32AgentImportNotSupported 
       
    75 		*/
       
    76 		virtual CAgentImportFile* CreateImporterL(const TDesC8& aMimeType, const CMetaDataArray& aMetaDataArray, const TDesC& aOutputDirectory, const TDesC& aSuggestedFileName);
       
    77 		/** The F32 Agent cannot be used to receive files
       
    78 
       
    79 		The CAF framework should know this is the F32 agent and never
       
    80 		attempt to call this method
       
    81 
       
    82 		@panic CAF EF32AgentImportNotSupported 
       
    83 		*/
       
    84 		virtual CAgentImportFile* CreateImporterL(const TDesC8& aMimeType, const CMetaDataArray& aMetaDataArray);
       
    85 		/** The F32 Agent does not manage any rights
       
    86 
       
    87 		The CAF framework should know this is the F32 agent and never
       
    88 		attempt to call this method
       
    89 
       
    90 		@panic CAF EF32AgentRightsManagerNotSupported 
       
    91 		*/
       
    92 		virtual CAgentRightsManager* CreateRightsManagerL();		
       
    93 		};
       
    94 } // namespace ContentAccess
       
    95 #endif // __F32AGENTFACTORY_H__