diff -r afc583cfa176 -r da2ae96f639b contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentdata.cpp --- a/contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentdata.cpp Fri Oct 02 13:15:59 2009 +0300 +++ b/contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentdata.cpp Mon Oct 12 10:17:04 2009 +0300 @@ -43,6 +43,27 @@ return self; } +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT + +CF32AgentData* CF32AgentData::NewL(const TDesC8& aHeaderData) + { + CF32AgentData* self = new (ELeave) CF32AgentData; + CleanupStack::PushL(self); + self->ConstructL(aHeaderData); + CleanupStack::Pop(self); + return self; + } + +void CF32AgentData::ConstructL(const TDesC8& aHeaderData) + { + if(aHeaderData.Length() > 0) + iHeaderData = aHeaderData.AllocL(); + else + User::Leave(KErrMissingWmdrmHeaderData); + } + +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT + CF32AgentData::CF32AgentData() { } @@ -57,6 +78,10 @@ } delete iVirtualPath; + +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT + delete iHeaderData; +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT } void CF32AgentData::ConstructL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode) @@ -209,6 +234,22 @@ TInt CF32AgentData::GetAttribute(TInt aAttribute, TInt& aValue) { +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT + if(iHeaderData) + { + return TF32DefaultAttributes::GetAttribute(*iHeaderData, aAttribute, aValue); + } + + else if(iVirtualPath) + { + return TF32DefaultAttributes::GetAttribute(aAttribute, aValue, iVirtualPath->URI()); + } + + else + { + return TF32DefaultAttributes::GetAttribute(aAttribute, aValue, iFile); + } +#else if(iVirtualPath) { return TF32DefaultAttributes::GetAttribute(aAttribute, aValue, iVirtualPath->URI()); @@ -217,10 +258,27 @@ { return TF32DefaultAttributes::GetAttribute(aAttribute, aValue, iFile); } +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT } TInt CF32AgentData::GetAttributeSet(RAttributeSet& aAttributeSet) { +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT + if(iHeaderData) + { + return TF32DefaultAttributes::GetAttributeSet(*iHeaderData, aAttributeSet); + } + + else if(iVirtualPath) + { + return TF32DefaultAttributes::GetAttributeSet(aAttributeSet, iVirtualPath->URI()); + } + + else + { + return TF32DefaultAttributes::GetAttributeSet(aAttributeSet, iFile); + } +#else if(iVirtualPath) { return TF32DefaultAttributes::GetAttributeSet(aAttributeSet, iVirtualPath->URI()); @@ -229,11 +287,26 @@ { return TF32DefaultAttributes::GetAttributeSet(aAttributeSet, iFile); } - +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT } TInt CF32AgentData::GetStringAttribute(TInt aAttribute, TDes& aValue) { +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT + if(iHeaderData) + { + return TF32DefaultAttributes::GetStringAttribute(*iHeaderData, aAttribute, aValue); + } + + else if(iVirtualPath) + { + return TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, iVirtualPath->URI()); + } + else + { + return TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, iFile); + } +#else if(iVirtualPath) { return TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, iVirtualPath->URI()); @@ -242,10 +315,26 @@ { return TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, iFile); } +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT } TInt CF32AgentData::GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet) { +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT + if(iHeaderData) + { + return TF32DefaultAttributes::GetStringAttributeSet(*iHeaderData, aStringAttributeSet); + } + + else if(iVirtualPath) + { + return TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, iVirtualPath->URI()); + } + else + { + return TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, iFile); + } +#else if(iVirtualPath) { return TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, iVirtualPath->URI()); @@ -254,6 +343,7 @@ { return TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, iFile); } +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT } CF32AgentUi& CF32AgentData::AgentUiL() @@ -266,3 +356,29 @@ return *iAgentUi; } +#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT + +TInt CF32AgentData::Read(const TDesC8& aEncryptedInputDataPacket, TDes8& aDecryptedOutputDataPacket) + { + if(aEncryptedInputDataPacket.Length() <= 0) + { + User::Leave(KErrInsufficientDataPacketLength); + } + + aDecryptedOutputDataPacket = aEncryptedInputDataPacket; + return KErrNone; + } + +void CF32AgentData::Read(const TDesC8& aEncryptedInputDataPacket, TDes8& aDecryptedOutputDataPacket, TRequestStatus& aStatus) + { + TRequestStatus* status = &aStatus; + if(aEncryptedInputDataPacket.Length() <= 0) + { + User::RequestComplete(status, KErrInsufficientDataPacketLength); + } + + aDecryptedOutputDataPacket = aEncryptedInputDataPacket; + User::RequestComplete(status, KErrNone); + } + +#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT