contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentdata.cpp
branchRCL_3
changeset 61 641f389e9157
parent 45 030c4fbc13d7
child 62 a71299154b21
--- a/contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentdata.cpp	Thu Aug 19 11:38:48 2010 +0300
+++ b/contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentdata.cpp	Tue Aug 31 17:00:08 2010 +0300
@@ -43,6 +43,26 @@
 	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()
 	{
@@ -59,6 +79,9 @@
 
 	delete iVirtualPath;
 	
+#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+	delete iHeaderData;			
+#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
 	}
   
 void CF32AgentData::ConstructL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode)
@@ -211,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());
@@ -219,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());
@@ -231,10 +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());
@@ -243,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());
@@ -255,6 +343,7 @@
 		{
 		return TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, iFile);
 		}
+#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
 	}
 
 CF32AgentUi& CF32AgentData::AgentUiL()
@@ -267,4 +356,29 @@
 	return *iAgentUi;
 	}
 
+#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
 
+TInt CF32AgentData::Read(const TDesC8& aEncryptedInputDataPacket, TDes8& aDecryptedOutputDataPacket)
+	{
+	if(aEncryptedInputDataPacket.Length() <= 0)
+		{
+		return 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