contentmgmt/referencedrmagent/RefTestAgent/RTAServer/Client/rtamanager.cpp
branchRCL_3
changeset 53 030c4fbc13d7
parent 30 cf642210ecb7
child 95 641f389e9157
equal deleted inserted replaced
50:d07aa956024a 53:030c4fbc13d7
   735 		{
   735 		{
   736 		User::LeaveIfError(SendReceive(ENoEnforceManagerDisplayManagementInfo, TIpcArgs()));
   736 		User::LeaveIfError(SendReceive(ENoEnforceManagerDisplayManagementInfo, TIpcArgs()));
   737 		}
   737 		}
   738 	}
   738 	}
   739 
   739 
   740 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT     
       
   741       
       
   742 EXPORT_C TInt RRtaManager::GetAttribute(const TDesC8& aHeaderData, TInt aAttribute, TInt& aValue) const     
       
   743     {     
       
   744     TPckg<TInt> valuePkg(aValue);     
       
   745     TInt result = SendReceive(EWMDRMGetAttribute, TIpcArgs(&aHeaderData, aAttribute, &valuePkg));     
       
   746     return result;     
       
   747     }     
       
   748          
       
   749 EXPORT_C TInt RRtaManager::GetAttributeSet(const TDesC8& aHeaderData, ContentAccess::RAttributeSet& aAttributeSet) const     
       
   750     {     
       
   751     TRAPD(err, GetAttributeSetL (aHeaderData, aAttributeSet));     
       
   752     return err;     
       
   753     }     
       
   754          
       
   755 EXPORT_C TInt RRtaManager::GetStringAttribute(const TDesC8& aHeaderData, TInt aAttribute, TDes& aValue) const     
       
   756     {     
       
   757     TInt result = SendReceive(EWMDRMGetStringAttribute, TIpcArgs(&aHeaderData, aAttribute, &aValue));     
       
   758     return result;     
       
   759     }     
       
   760       
       
   761 EXPORT_C TInt RRtaManager::GetStringAttributeSet(const TDesC8& aHeaderData, ContentAccess::RStringAttributeSet& aStringAttributeSet) const     
       
   762     {     
       
   763     TRAPD(err, GetStringAttributeSetL(aHeaderData, aStringAttributeSet));     
       
   764     return err;     
       
   765     }     
       
   766          
       
   767 void RRtaManager::GetAttributeSetL(const TDesC8& aHeaderData, ContentAccess::RAttributeSet& aAttributeSet) const     
       
   768     {     
       
   769     // dynamic buffer since we don't know in advance the size required     
       
   770     CBufFlat* buffer = CBufFlat::NewL(KDefaultBufferSize);     
       
   771     CleanupStack::PushL(buffer);     
       
   772          
       
   773     RBufWriteStream stream(*buffer);     
       
   774     CleanupClosePushL(stream);     
       
   775          
       
   776     // write the directory to the stream     
       
   777     aAttributeSet.ExternalizeL(stream);     
       
   778     CleanupStack::PopAndDestroy(&stream);     
       
   779          
       
   780     // Create an HBufC8 from the stream buf's length, and copy      
       
   781     // the stream buffer into this descriptor     
       
   782     HBufC8* transferBuffer = HBufC8::NewLC(buffer->Size() * 15);     
       
   783     TPtr8 ptr = buffer->Ptr(0);     
       
   784     transferBuffer->Des().Copy(ptr);     
       
   785     TPtr8 transferPtr = transferBuffer->Des();     
       
   786          
       
   787     User::LeaveIfError(SendReceive(EWMDRMGetAttributeSet, TIpcArgs(&aHeaderData, &transferPtr)));     
       
   788       
       
   789     // read in the attribute values from the buffer     
       
   790     RDesReadStream readStream(transferPtr);     
       
   791     CleanupClosePushL(readStream);     
       
   792     aAttributeSet.InternalizeL(readStream);     
       
   793     CleanupStack::PopAndDestroy(&readStream);     
       
   794          
       
   795     CleanupStack::PopAndDestroy(2, buffer);     
       
   796     }     
       
   797          
       
   798 void RRtaManager::GetStringAttributeSetL(const TDesC8& aHeaderData, ContentAccess::RStringAttributeSet& aStringAttributeSet) const     
       
   799     {     
       
   800     // dynamic buffer since we don't know in advance the size required     
       
   801     CBufFlat* buffer = CBufFlat::NewL(KDefaultBufferSize);     
       
   802     CleanupStack::PushL(buffer);     
       
   803          
       
   804     RBufWriteStream stream(*buffer);     
       
   805     CleanupClosePushL(stream);     
       
   806          
       
   807     // write the directory to the stream     
       
   808     aStringAttributeSet.ExternalizeL(stream);     
       
   809     CleanupStack::PopAndDestroy(&stream);     
       
   810          
       
   811     // Create an HBufC8 from the stream buf's length, and copy      
       
   812     // the stream buffer into this descriptor     
       
   813     HBufC8* transferBuffer = HBufC8::NewLC(buffer->Size()*15);     
       
   814     TPtr8 ptr = buffer->Ptr(0);     
       
   815     transferBuffer->Des().Copy(ptr);     
       
   816     TPtr8 transferPtr = transferBuffer->Des();     
       
   817          
       
   818     User::LeaveIfError(SendReceive(EWMDRMGetStringAttributeSet, TIpcArgs(&aHeaderData, &transferPtr)));     
       
   819          
       
   820     // read in the attribute values from the buffer     
       
   821     RDesReadStream readStream(transferPtr);     
       
   822     CleanupClosePushL(readStream);     
       
   823     aStringAttributeSet.InternalizeL(readStream);     
       
   824     CleanupStack::PopAndDestroy(&readStream);     
       
   825                      
       
   826     CleanupStack::PopAndDestroy(2, buffer);     
       
   827     }     
       
   828          
       
   829 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT 
       
   830