1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/security/contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentdata.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,116 @@
1.4 +/*
1.5 +* Copyright (c) 2004-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 +#ifndef __F32AGENTDATA_H__
1.29 +#define __F32AGENTDATA_H__
1.30 +
1.31 +#include <f32file.h>
1.32 +#include <caf/agentinterface.h>
1.33 +
1.34 +namespace ContentAccess
1.35 + {
1.36 + class TVirtualPathPtr;
1.37 + class CF32AgentUi;
1.38 +
1.39 + /**
1.40 + F32 agent implementation of the CAgentData class used to read
1.41 + plaintext files
1.42 +
1.43 + @internalComponent
1.44 + @released
1.45 + */
1.46 + class CF32AgentData : public CAgentData
1.47 + {
1.48 + public:
1.49 + static CF32AgentData* NewL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode);
1.50 + static CF32AgentData* NewL(RFile& aFile, const TDesC& aUniqueId);
1.51 +
1.52 +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
1.53 + static CF32AgentData* NewL(const TDesC8& aHeaderData);
1.54 +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
1.55 +
1.56 + ~CF32AgentData();
1.57 +
1.58 + public: // From CAgentData
1.59 + virtual TInt Read(TDes8& aDes);
1.60 + virtual TInt Read(TDes8& aDes,TInt aLength);
1.61 + virtual void Read(TDes8& aDes, TRequestStatus& aStatus);
1.62 + virtual void Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
1.63 + virtual void ReadCancel(TRequestStatus& aStatus);
1.64 + virtual void DataSizeL(TInt& aSize);
1.65 +#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
1.66 + virtual void DataSize64L(TInt64& aSize);
1.67 +#endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
1.68 + virtual TInt Seek(TSeek aMode,TInt& aPos);
1.69 +#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
1.70 + virtual TInt Seek64(TSeek aMode,TInt64& aPos);
1.71 +#endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
1.72 + virtual TInt SetProperty(TAgentProperty aProperty, TInt aValue);
1.73 + virtual TInt EvaluateIntent(TIntent aIntent);
1.74 + virtual TInt ExecuteIntent(TIntent aIntent);
1.75 + virtual TInt GetAttribute(TInt aAttribute, TInt& aValue);
1.76 + virtual TInt GetAttributeSet(RAttributeSet& aAttributeSet);
1.77 + virtual TInt GetStringAttribute(TInt aAttribute, TDes& aValue);
1.78 + virtual TInt GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet);
1.79 + virtual TInt Read(TInt aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
1.80 +#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
1.81 + virtual TInt Read64(TInt64 aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
1.82 +#endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
1.83 +
1.84 +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
1.85 + virtual TInt Read(const TDesC8& aEncryptedInputDataPacket, TDes8& aDecryptedOutputDataPacket);
1.86 + virtual void Read(const TDesC8& aEncryptedInputDataPacket, TDes8& aDecryptedOutputDataPacket, TRequestStatus& aStatus);
1.87 +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
1.88 +
1.89 + private:
1.90 + CF32AgentData();
1.91 + void ConstructL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode);
1.92 + void ConstructL(RFile& aFile, const TDesC& aUniqueId);
1.93 +
1.94 +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
1.95 + void ConstructL(const TDesC8& aHeaderData);
1.96 +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
1.97 +
1.98 + CF32AgentUi& AgentUiL();
1.99 +
1.100 + private:
1.101 + /** Handle to the filesystem */
1.102 + RFs iFs;
1.103 +
1.104 + /** RFile object */
1.105 +#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
1.106 + RFile64 iFile;
1.107 +#else
1.108 + RFile iFile;
1.109 +#endif //SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
1.110 +
1.111 + CVirtualPath* iVirtualPath;
1.112 + CF32AgentUi* iAgentUi;
1.113 +
1.114 +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
1.115 + HBufC8* iHeaderData;
1.116 +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
1.117 + };
1.118 +} // namespace ContentAccess
1.119 +#endif // __F32AGENTDATA_H__