1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/security/contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentfactory.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,98 @@
1.4 +/*
1.5 +* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of the License "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description:
1.18 +*
1.19 +*/
1.20 +
1.21 +
1.22 +/**
1.23 + @file
1.24 + @internalComponent
1.25 + @released
1.26 +*/
1.27 +
1.28 +
1.29 +#ifndef __F32AGENTFACTORY_H__
1.30 +#define __F32AGENTFACTORY_H__
1.31 +
1.32 +#include <caf/agentfactory.h>
1.33 +
1.34 +namespace ContentAccess
1.35 + {
1.36 + class CAgentContent;
1.37 + class CAgentManager;
1.38 + class CAgentData;
1.39 +
1.40 + /**
1.41 + Creates products that allow access to plaintext unprotected files
1.42 + via the Content Access Framework (CAF)
1.43 +
1.44 + The F32 agent is treated as a special case by CAF. It is
1.45 + the default agent used when no other suitable agent is found
1.46 + for a particular operation.
1.47 +
1.48 + No translation of the content will occur and no access restrictions
1.49 + will be enforced aside from the usual platform security data caging
1.50 + rules.
1.51 +
1.52 + @internalComponent
1.53 + @released
1.54 + */
1.55 + class CF32AgentFactory : public CAgentFactory
1.56 + {
1.57 + public:
1.58 + /** Entry point for F32 Agent
1.59 + @return a new F32AgentFactory instance
1.60 + */
1.61 + static CAgentFactory* NewL();
1.62 +
1.63 + // From CAgentFactory
1.64 + virtual CAgentContent* CreateContentBrowserL(const TDesC& aURI, TContentShareMode aShareMode);
1.65 + virtual CAgentContent* CreateContentBrowserL(RFile& aFile);
1.66 + virtual CAgentData* CreateDataConsumerL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode);
1.67 + virtual CAgentData* CreateDataConsumerL(RFile& aFile, const TDesC& aUniqueId);
1.68 + virtual CAgentManager* CreateManagerL();
1.69 +
1.70 + /** The F32 Agent cannot be used to receive files
1.71 +
1.72 + The CAF framework should know this is the F32 agent and never
1.73 + attempt to call this method
1.74 +
1.75 + @panic CAF EF32AgentImportNotSupported
1.76 + */
1.77 + virtual CAgentImportFile* CreateImporterL(const TDesC8& aMimeType, const CMetaDataArray& aMetaDataArray, const TDesC& aOutputDirectory, const TDesC& aSuggestedFileName);
1.78 + /** The F32 Agent cannot be used to receive files
1.79 +
1.80 + The CAF framework should know this is the F32 agent and never
1.81 + attempt to call this method
1.82 +
1.83 + @panic CAF EF32AgentImportNotSupported
1.84 + */
1.85 + virtual CAgentImportFile* CreateImporterL(const TDesC8& aMimeType, const CMetaDataArray& aMetaDataArray);
1.86 + /** The F32 Agent does not manage any rights
1.87 +
1.88 + The CAF framework should know this is the F32 agent and never
1.89 + attempt to call this method
1.90 +
1.91 + @panic CAF EF32AgentRightsManagerNotSupported
1.92 + */
1.93 + virtual CAgentRightsManager* CreateRightsManagerL();
1.94 +
1.95 +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
1.96 + virtual CAgentData* CreateDataConsumerL(const TDesC8& aHeaderData);
1.97 + virtual CAgentContent* CreateContentBrowserL(const TDesC8& aHeaderData);
1.98 +#endif // SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
1.99 + };
1.100 +} // namespace ContentAccess
1.101 +#endif // __F32AGENTFACTORY_H__