229 // Check the status of rights. Currently supports OMA and WM DRM. |
229 // Check the status of rights. Currently supports OMA and WM DRM. |
230 switch ( iDrmScheme ) |
230 switch ( iDrmScheme ) |
231 { |
231 { |
232 case EDrmSchemeOmaDrm: |
232 case EDrmSchemeOmaDrm: |
233 CheckOmaDrmRightsL( aContentURI, aLocalID, rights, status ); |
233 CheckOmaDrmRightsL( aContentURI, aLocalID, rights, status ); |
234 if ( status ) |
234 if ( status < 0 ) |
235 { |
235 { |
236 rights = NULL; |
236 rights = NULL; |
237 } |
237 } |
238 break; |
238 break; |
239 |
239 |
354 HBufC* itemNameBuf = NULL; |
355 HBufC* itemNameBuf = NULL; |
355 TInt err = iRightsClient.GetName( aID, itemNameBuf ); |
356 TInt err = iRightsClient.GetName( aID, itemNameBuf ); |
356 |
357 |
357 if ( err == KErrNotFound || itemNameBuf->Length() == 0 ) |
358 if ( err == KErrNotFound || itemNameBuf->Length() == 0 ) |
358 { |
359 { |
359 if ( aIsGroup ) |
360 // Do not show name if group rights or forward lock |
360 { |
361 if ( !aIsGroup ) |
361 aItemName = aFullName; |
362 { |
362 } |
363 if ( ( iRightsClient.ForwardLockURI( buffer ) == |
363 else |
364 KErrNone ) && buffer ) |
364 { |
365 { |
365 parse.Set( aFullName, NULL, NULL ); |
366 |
366 aItemName = parse.NameAndExt(); |
367 // Not forward lock |
|
368 if ( aID.Compare( *buffer ) != 0 ) |
|
369 { |
|
370 parse.Set( aFullName, NULL, NULL ); |
|
371 aItemName = parse.NameAndExt(); |
|
372 } |
|
373 delete buffer; |
|
374 buffer = NULL; |
|
375 |
|
376 } |
|
377 else |
|
378 { |
|
379 parse.Set( aFullName, NULL, NULL ); |
|
380 aItemName = parse.NameAndExt(); |
|
381 } |
367 } |
382 } |
368 } |
383 } |
369 else if ( err == KErrNone ) |
384 else if ( err == KErrNone ) |
370 { |
385 { |
371 aItemName = *itemNameBuf; |
386 // Forward lock or combined delivery |
|
387 // If forward lock, do not show name |
|
388 if ( iRightsClient.ForwardLockURI( buffer ) == KErrNone && |
|
389 buffer ) |
|
390 { |
|
391 if ( aID.Compare( *buffer ) != 0 ) |
|
392 { |
|
393 // Combined delivery |
|
394 aItemName = *itemNameBuf; |
|
395 } |
|
396 delete buffer; |
|
397 } |
|
398 else |
|
399 { |
|
400 // Do not show name if having group rights |
|
401 if ( !aIsGroup ) |
|
402 { |
|
403 aItemName = *itemNameBuf; |
|
404 } |
|
405 } |
372 } |
406 } |
373 else |
407 else |
374 { |
408 { |
375 User::Leave( err ); |
409 User::Leave( err ); |
376 } |
410 } |
718 |
752 |
719 CDcfEntry* entry = dcfRep->NextL(); |
753 CDcfEntry* entry = dcfRep->NextL(); |
720 if ( entry ) |
754 if ( entry ) |
721 { |
755 { |
722 fullName = entry->FileName(); |
756 fullName = entry->FileName(); |
|
757 SetSelectedItemFullName( fullName ); |
|
758 |
|
759 TFileName itemName; |
|
760 |
|
761 if ( entry->GroupId().Length() > 0 ) |
|
762 { |
|
763 GetItemNameL( fullName, itemName, aContentURI, ETrue ); |
|
764 } |
|
765 else |
|
766 { |
|
767 GetItemNameL( fullName, itemName, aContentURI, EFalse ); |
|
768 } |
|
769 |
723 delete entry; |
770 delete entry; |
724 SetSelectedItemFullName( fullName ); |
771 |
725 |
|
726 TFileName itemName; |
|
727 GetItemNameL( fullName, itemName, aContentURI, EFalse ); |
|
728 SetSelectedItemName( itemName ); |
772 SetSelectedItemName( itemName ); |
729 |
773 |
730 if ( GetItemDataL( fullName, aContentURI, listable, |
774 if ( GetItemDataL( fullName, aContentURI, listable, |
731 sendable ) == KErrNone ) |
775 sendable ) == KErrNone ) |
732 { |
776 { |
736 } |
780 } |
737 else // No related media was found |
781 else // No related media was found |
738 { |
782 { |
739 SetSelectedItemFullName( KNullDesC ); |
783 SetSelectedItemFullName( KNullDesC ); |
740 TFileName itemName; |
784 TFileName itemName; |
|
785 // Treat in GetItemNameL as if having group rights |
741 GetItemNameL( KNullDesC, itemName, aContentURI, ETrue ); |
786 GetItemNameL( KNullDesC, itemName, aContentURI, ETrue ); |
742 SetSelectedItemName( itemName ); |
787 SetSelectedItemName( itemName ); |
743 |
788 |
744 SetSelectedContentCanBeSent( EFalse ); |
789 SetSelectedContentCanBeSent( EFalse ); |
745 } |
790 } |
751 |
796 |
752 if ( aLocalID > 0 ) |
797 if ( aLocalID > 0 ) |
753 { |
798 { |
754 aStatus = iDRMCommon->GetSingleRightsObject( aContentURI, |
799 aStatus = iDRMCommon->GetSingleRightsObject( aContentURI, |
755 aLocalID, aRights ); |
800 aLocalID, aRights ); |
756 } |
801 if ( aStatus ) |
757 else |
802 { |
|
803 aRights = NULL; |
|
804 } |
|
805 } |
|
806 else |
758 { |
807 { |
759 aStatus = iDRMCommon->GetActiveRights( aContentURI, 0, aRights ); |
808 aStatus = iDRMCommon->GetActiveRights( aContentURI, 0, aRights ); |
760 } |
|
761 if ( aStatus ) |
|
762 { |
|
763 aRights = NULL; |
|
764 } |
809 } |
765 |
810 |
766 CheckIndividualConstraint( aContentURI, individualConstraint, usageAllowed ); |
811 CheckIndividualConstraint( aContentURI, individualConstraint, usageAllowed ); |
767 SetSelectedIndividualConstraint( individualConstraint ); |
812 SetSelectedIndividualConstraint( individualConstraint ); |
768 SetSelectedUsageAllowed( usageAllowed ); |
813 SetSelectedUsageAllowed( usageAllowed ); |