sl@0: /* sl@0: * Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of the License "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: /** sl@0: @file sl@0: @internalComponent sl@0: @released sl@0: */ sl@0: sl@0: #ifndef __F32AGENTDATA_H__ sl@0: #define __F32AGENTDATA_H__ sl@0: sl@0: #include sl@0: #include sl@0: sl@0: namespace ContentAccess sl@0: { sl@0: class TVirtualPathPtr; sl@0: class CF32AgentUi; sl@0: sl@0: /** sl@0: F32 agent implementation of the CAgentData class used to read sl@0: plaintext files sl@0: sl@0: @internalComponent sl@0: @released sl@0: */ sl@0: class CF32AgentData : public CAgentData sl@0: { sl@0: public: sl@0: static CF32AgentData* NewL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode); sl@0: static CF32AgentData* NewL(RFile& aFile, const TDesC& aUniqueId); sl@0: sl@0: #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT sl@0: static CF32AgentData* NewL(const TDesC8& aHeaderData); sl@0: #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT sl@0: sl@0: ~CF32AgentData(); sl@0: sl@0: public: // From CAgentData sl@0: virtual TInt Read(TDes8& aDes); sl@0: virtual TInt Read(TDes8& aDes,TInt aLength); sl@0: virtual void Read(TDes8& aDes, TRequestStatus& aStatus); sl@0: virtual void Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus); sl@0: virtual void ReadCancel(TRequestStatus& aStatus); sl@0: virtual void DataSizeL(TInt& aSize); sl@0: #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API sl@0: virtual void DataSize64L(TInt64& aSize); sl@0: #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API sl@0: virtual TInt Seek(TSeek aMode,TInt& aPos); sl@0: #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API sl@0: virtual TInt Seek64(TSeek aMode,TInt64& aPos); sl@0: #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API sl@0: virtual TInt SetProperty(TAgentProperty aProperty, TInt aValue); sl@0: virtual TInt EvaluateIntent(TIntent aIntent); sl@0: virtual TInt ExecuteIntent(TIntent aIntent); sl@0: virtual TInt GetAttribute(TInt aAttribute, TInt& aValue); sl@0: virtual TInt GetAttributeSet(RAttributeSet& aAttributeSet); sl@0: virtual TInt GetStringAttribute(TInt aAttribute, TDes& aValue); sl@0: virtual TInt GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet); sl@0: virtual TInt Read(TInt aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus); sl@0: #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API sl@0: virtual TInt Read64(TInt64 aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus); sl@0: #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API sl@0: sl@0: #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT sl@0: virtual TInt Read(const TDesC8& aEncryptedInputDataPacket, TDes8& aDecryptedOutputDataPacket); sl@0: virtual void Read(const TDesC8& aEncryptedInputDataPacket, TDes8& aDecryptedOutputDataPacket, TRequestStatus& aStatus); sl@0: #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT sl@0: sl@0: private: sl@0: CF32AgentData(); sl@0: void ConstructL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode); sl@0: void ConstructL(RFile& aFile, const TDesC& aUniqueId); sl@0: sl@0: #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT sl@0: void ConstructL(const TDesC8& aHeaderData); sl@0: #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT sl@0: sl@0: CF32AgentUi& AgentUiL(); sl@0: sl@0: private: sl@0: /** Handle to the filesystem */ sl@0: RFs iFs; sl@0: sl@0: /** RFile object */ sl@0: #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API sl@0: RFile64 iFile; sl@0: #else sl@0: RFile iFile; sl@0: #endif //SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API sl@0: sl@0: CVirtualPath* iVirtualPath; sl@0: CF32AgentUi* iAgentUi; sl@0: sl@0: #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT sl@0: HBufC8* iHeaderData; sl@0: #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT sl@0: }; sl@0: } // namespace ContentAccess sl@0: #endif // __F32AGENTDATA_H__