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