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 |
|