First public contribution.
2 * Copyright (c) 2004-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.
25 #ifndef __F32AGENTDATA_H__
26 #define __F32AGENTDATA_H__
29 #include <caf/agentinterface.h>
31 namespace ContentAccess
33 class TVirtualPathPtr;
37 F32 agent implementation of the CAgentData class used to read
43 class CF32AgentData : public CAgentData
46 static CF32AgentData* NewL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode);
47 static CF32AgentData* NewL(RFile& aFile, const TDesC& aUniqueId);
49 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
50 static CF32AgentData* NewL(const TDesC8& aHeaderData);
51 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
55 public: // From CAgentData
56 virtual TInt Read(TDes8& aDes);
57 virtual TInt Read(TDes8& aDes,TInt aLength);
58 virtual void Read(TDes8& aDes, TRequestStatus& aStatus);
59 virtual void Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
60 virtual void ReadCancel(TRequestStatus& aStatus);
61 virtual void DataSizeL(TInt& aSize);
62 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
63 virtual void DataSize64L(TInt64& aSize);
64 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
65 virtual TInt Seek(TSeek aMode,TInt& aPos);
66 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
67 virtual TInt Seek64(TSeek aMode,TInt64& aPos);
68 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
69 virtual TInt SetProperty(TAgentProperty aProperty, TInt aValue);
70 virtual TInt EvaluateIntent(TIntent aIntent);
71 virtual TInt ExecuteIntent(TIntent aIntent);
72 virtual TInt GetAttribute(TInt aAttribute, TInt& aValue);
73 virtual TInt GetAttributeSet(RAttributeSet& aAttributeSet);
74 virtual TInt GetStringAttribute(TInt aAttribute, TDes& aValue);
75 virtual TInt GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet);
76 virtual TInt Read(TInt aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
77 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
78 virtual TInt Read64(TInt64 aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
79 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
81 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
82 virtual TInt Read(const TDesC8& aEncryptedInputDataPacket, TDes8& aDecryptedOutputDataPacket);
83 virtual void Read(const TDesC8& aEncryptedInputDataPacket, TDes8& aDecryptedOutputDataPacket, TRequestStatus& aStatus);
84 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
88 void ConstructL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode);
89 void ConstructL(RFile& aFile, const TDesC& aUniqueId);
91 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
92 void ConstructL(const TDesC8& aHeaderData);
93 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
95 CF32AgentUi& AgentUiL();
98 /** Handle to the filesystem */
102 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
106 #endif //SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
108 CVirtualPath* iVirtualPath;
109 CF32AgentUi* iAgentUi;
111 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
113 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
115 } // namespace ContentAccess
116 #endif // __F32AGENTDATA_H__