contentmgmt/referencedrmagent/RefTestAgent/RTAServer/Client/rtadata.cpp
branchRCL_3
changeset 95 641f389e9157
parent 53 030c4fbc13d7
child 96 a71299154b21
--- a/contentmgmt/referencedrmagent/RefTestAgent/RTAServer/Client/rtadata.cpp	Thu Aug 19 11:38:48 2010 +0300
+++ b/contentmgmt/referencedrmagent/RefTestAgent/RTAServer/Client/rtadata.cpp	Tue Aug 31 17:00:08 2010 +0300
@@ -234,7 +234,11 @@
 	return err;
 	}
 
+#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+void RRtaData::GetAttributeSetL (RAttributeSet &aAttributeSet, TBool aWmdrmFlag) const     
+#else 
 void RRtaData::GetAttributeSetL (RAttributeSet &aAttributeSet) const
+#endif // SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
 	{
 	TInt err = KErrOverflow;
 	TInt length = 0;
@@ -263,8 +267,15 @@
 		transferBuffer->Des().Copy(bufPtr);
 		TPtr8 transferPtr = transferBuffer->Des();
 	
+#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+        if(aWmdrmFlag)     
+            err = SendReceive(EWMDRMGetAttributeSet, TIpcArgs(&transferPtr));     
+        else     
+            err = SendReceive(EGetAttributeSet, TIpcArgs(&transferPtr));         
+#else 
 		// attempt to retrieve the attributes
 		err = SendReceive(EGetAttributeSet, TIpcArgs(&transferPtr));	
+#endif // SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
 		if(err == KErrOverflow)
 			{
 			// Find out the length required to receive the resulting attribute set
@@ -296,7 +307,11 @@
 	return err;
 	}
 
+#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+void RRtaData::GetStringAttributeSetL (RStringAttributeSet &aStringAttributeSet, TBool aWmdrmFlag) const     
+#else 
 void RRtaData::GetStringAttributeSetL (RStringAttributeSet &aStringAttributeSet) const
+#endif // SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
 	{
 	TInt err = KErrOverflow;
 	TInt length = 0;
@@ -325,8 +340,15 @@
 		transferBuffer->Des().Copy(bufPtr);
 		TPtr8 transferPtr = transferBuffer->Des();
 
+#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+        if(aWmdrmFlag)     
+            err = SendReceive(EWMDRMGetStringAttributeSet, TIpcArgs(&transferPtr));     
+        else     
+            err = SendReceive(EGetStringAttributeSet, TIpcArgs(&transferPtr));       
+#else 
 		// attempt to retrieve the attributes
 		err = SendReceive(EGetStringAttributeSet, TIpcArgs(&transferPtr));	
+#endif // SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
 		if(err == KErrOverflow)
 			{
 			// Find out the length required to receive the resulting attribute set
@@ -362,3 +384,77 @@
 	return err;
 	}
 
+#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT     
+      
+EXPORT_C TInt RRtaData::Open(const TDesC8& aHeaderData)     
+    {     
+    TInt err = RRtaClient::Connect();     
+    if(err != KErrNone)     
+        {     
+        return err;     
+        }     
+         
+    if(IsDrmCapabilityEnforced())     
+        {     
+        err = SendReceive(ECreateDataMessageHandler, TIpcArgs());     
+        if(err != KErrNone)     
+            return err;     
+             
+        err = SendReceive(EReadWMDRMHeaderData, TIpcArgs(&aHeaderData));     
+        }     
+             
+    else     
+        {     
+        err = SendReceive(ENoEnforceCreateDataMessageHandler, TIpcArgs());     
+        if(err != KErrNone)     
+            return err;     
+             
+        err = SendReceive(ENoEnforceReadWMDRMHeaderData, TIpcArgs(&aHeaderData));     
+        }     
+      
+    return err;     
+    }     
+         
+EXPORT_C TInt RRtaData::Read(const TDesC8& aEncryptedInputPacket, TDes8& aDecryptedOutputPacket)     
+    {     
+    TInt err = 0;     
+    if(IsDrmCapabilityEnforced())     
+        {     
+        err =  SendReceive(EReadWMDRMDataPacket, TIpcArgs(&aEncryptedInputPacket, &aDecryptedOutputPacket));         
+        }     
+    else     
+        {     
+        err =  SendReceive(ENoEnforceReadWMDRMDataPacket, TIpcArgs(&aEncryptedInputPacket, &aDecryptedOutputPacket));        
+        }     
+         
+    return err;     
+    }     
+         
+      
+EXPORT_C TInt RRtaData::GetWmdrmAttribute(TInt aAttribute, TInt& aValue) const     
+    {     
+    TPckg<TInt> valuePkg(aValue);     
+    TInt err = SendReceive(EWMDRMGetAttribute, TIpcArgs(aAttribute, &valuePkg));     
+    return err;     
+    }     
+         
+EXPORT_C TInt RRtaData::GetWmdrmAttributeSet(ContentAccess::RAttributeSet& aAttributeSet) const     
+    {     
+    TRAPD( err, GetAttributeSetL(aAttributeSet, ETrue));     
+    return err;     
+    }     
+         
+EXPORT_C TInt RRtaData::GetWmdrmStringAttribute(TInt aAttribute, TDes& aValue) const     
+    {     
+    return SendReceive(EWMDRMGetStringAttribute, TIpcArgs(aAttribute, &aValue));     
+    }     
+      
+EXPORT_C TInt RRtaData::GetWmdrmStringAttributeSet(ContentAccess::RStringAttributeSet& aStringAttributeSet) const     
+    {     
+    TRAPD( err, GetStringAttributeSetL(aStringAttributeSet, ETrue));     
+    return err;     
+    }     
+      
+#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT 
+
+