os/security/contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentdata.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of the License "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description: 
sl@0
    15
*
sl@0
    16
*/
sl@0
    17
sl@0
    18
sl@0
    19
/**
sl@0
    20
 @file
sl@0
    21
 @internalComponent
sl@0
    22
 @released
sl@0
    23
*/
sl@0
    24
sl@0
    25
#ifndef __F32AGENTDATA_H__
sl@0
    26
#define __F32AGENTDATA_H__
sl@0
    27
sl@0
    28
#include <f32file.h>
sl@0
    29
#include <caf/agentinterface.h>
sl@0
    30
sl@0
    31
namespace ContentAccess
sl@0
    32
	{
sl@0
    33
	class TVirtualPathPtr;
sl@0
    34
	class CF32AgentUi;
sl@0
    35
sl@0
    36
	/**
sl@0
    37
	 F32 agent implementation of the CAgentData class used to read
sl@0
    38
	 plaintext files
sl@0
    39
	 
sl@0
    40
	 @internalComponent
sl@0
    41
	 @released
sl@0
    42
	 */
sl@0
    43
	class CF32AgentData : public CAgentData
sl@0
    44
		{
sl@0
    45
	public:
sl@0
    46
		static CF32AgentData* NewL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode);
sl@0
    47
		static CF32AgentData* NewL(RFile& aFile, const TDesC& aUniqueId);
sl@0
    48
		
sl@0
    49
#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
sl@0
    50
		static CF32AgentData* NewL(const TDesC8& aHeaderData);
sl@0
    51
#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
sl@0
    52
sl@0
    53
		~CF32AgentData();
sl@0
    54
sl@0
    55
	public: // From CAgentData
sl@0
    56
		virtual TInt Read(TDes8& aDes);
sl@0
    57
		virtual TInt Read(TDes8& aDes,TInt aLength);
sl@0
    58
		virtual void Read(TDes8& aDes, TRequestStatus& aStatus);
sl@0
    59
		virtual void Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
sl@0
    60
		virtual void ReadCancel(TRequestStatus& aStatus);
sl@0
    61
		virtual void DataSizeL(TInt& aSize);
sl@0
    62
#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
sl@0
    63
		virtual void DataSize64L(TInt64& aSize);
sl@0
    64
#endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
sl@0
    65
		virtual TInt Seek(TSeek aMode,TInt& aPos);
sl@0
    66
#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
sl@0
    67
		virtual TInt Seek64(TSeek aMode,TInt64& aPos);
sl@0
    68
#endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
sl@0
    69
		virtual TInt SetProperty(TAgentProperty aProperty, TInt aValue);
sl@0
    70
		virtual TInt EvaluateIntent(TIntent aIntent);
sl@0
    71
		virtual TInt ExecuteIntent(TIntent aIntent);
sl@0
    72
		virtual TInt GetAttribute(TInt aAttribute, TInt& aValue);
sl@0
    73
		virtual TInt GetAttributeSet(RAttributeSet& aAttributeSet);
sl@0
    74
		virtual TInt GetStringAttribute(TInt aAttribute, TDes& aValue);
sl@0
    75
		virtual TInt GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet);
sl@0
    76
		virtual TInt Read(TInt aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
sl@0
    77
#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API		
sl@0
    78
		virtual TInt Read64(TInt64 aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
sl@0
    79
#endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
sl@0
    80
sl@0
    81
#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
sl@0
    82
		virtual TInt Read(const TDesC8& aEncryptedInputDataPacket, TDes8& aDecryptedOutputDataPacket);		
sl@0
    83
		virtual void Read(const TDesC8& aEncryptedInputDataPacket, TDes8& aDecryptedOutputDataPacket, TRequestStatus& aStatus);
sl@0
    84
#endif	//SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
sl@0
    85
sl@0
    86
	private:
sl@0
    87
		CF32AgentData();
sl@0
    88
		void ConstructL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode);
sl@0
    89
		void ConstructL(RFile& aFile, const TDesC& aUniqueId);
sl@0
    90
sl@0
    91
#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
sl@0
    92
		void ConstructL(const TDesC8& aHeaderData);
sl@0
    93
#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
sl@0
    94
sl@0
    95
		CF32AgentUi& AgentUiL();
sl@0
    96
		
sl@0
    97
	private:
sl@0
    98
		/** Handle to the filesystem */
sl@0
    99
		RFs iFs;
sl@0
   100
		
sl@0
   101
		/** RFile object */
sl@0
   102
#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
sl@0
   103
		RFile64 iFile;
sl@0
   104
#else
sl@0
   105
		RFile   iFile;
sl@0
   106
#endif //SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API 
sl@0
   107
sl@0
   108
		CVirtualPath* iVirtualPath;
sl@0
   109
		CF32AgentUi* iAgentUi;
sl@0
   110
sl@0
   111
#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
sl@0
   112
		HBufC8* iHeaderData;
sl@0
   113
#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
sl@0
   114
		};
sl@0
   115
} // namespace ContentAccess
sl@0
   116
#endif // __F32AGENTDATA_H__