contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentdata.cpp
changeset 15 da2ae96f639b
parent 8 35751d3474b7
child 29 ece3df019add
--- 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