First public contribution.
2 * Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
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".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
26 #ifndef __F32AGENTFACTORY_H__
27 #define __F32AGENTFACTORY_H__
29 #include <caf/agentfactory.h>
31 namespace ContentAccess
38 Creates products that allow access to plaintext unprotected files
39 via the Content Access Framework (CAF)
41 The F32 agent is treated as a special case by CAF. It is
42 the default agent used when no other suitable agent is found
43 for a particular operation.
45 No translation of the content will occur and no access restrictions
46 will be enforced aside from the usual platform security data caging
52 class CF32AgentFactory : public CAgentFactory
55 /** Entry point for F32 Agent
56 @return a new F32AgentFactory instance
58 static CAgentFactory* NewL();
61 virtual CAgentContent* CreateContentBrowserL(const TDesC& aURI, TContentShareMode aShareMode);
62 virtual CAgentContent* CreateContentBrowserL(RFile& aFile);
63 virtual CAgentData* CreateDataConsumerL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode);
64 virtual CAgentData* CreateDataConsumerL(RFile& aFile, const TDesC& aUniqueId);
65 virtual CAgentManager* CreateManagerL();
67 /** The F32 Agent cannot be used to receive files
69 The CAF framework should know this is the F32 agent and never
70 attempt to call this method
72 @panic CAF EF32AgentImportNotSupported
74 virtual CAgentImportFile* CreateImporterL(const TDesC8& aMimeType, const CMetaDataArray& aMetaDataArray, const TDesC& aOutputDirectory, const TDesC& aSuggestedFileName);
75 /** The F32 Agent cannot be used to receive files
77 The CAF framework should know this is the F32 agent and never
78 attempt to call this method
80 @panic CAF EF32AgentImportNotSupported
82 virtual CAgentImportFile* CreateImporterL(const TDesC8& aMimeType, const CMetaDataArray& aMetaDataArray);
83 /** The F32 Agent does not manage any rights
85 The CAF framework should know this is the F32 agent and never
86 attempt to call this method
88 @panic CAF EF32AgentRightsManagerNotSupported
90 virtual CAgentRightsManager* CreateRightsManagerL();
92 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
93 virtual CAgentData* CreateDataConsumerL(const TDesC8& aHeaderData);
94 virtual CAgentContent* CreateContentBrowserL(const TDesC8& aHeaderData);
95 #endif // SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
97 } // namespace ContentAccess
98 #endif // __F32AGENTFACTORY_H__