--- a/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp Wed Sep 01 12:21:16 2010 +0100
+++ b/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp Tue Sep 14 21:50:40 2010 +0300
@@ -276,7 +276,7 @@
if ( !value )
{
- ShowNoRightsNoteL( aContent, reason );
+ ShowNoRightsNoteL( aContent, reason, aOperationId, aObserver );
User::LeaveIfError( aContent.GetAttribute( ContentAccess::ECanPlay, value ) );
if ( value )
{
@@ -500,7 +500,7 @@
{
case DRM::EUHCheckRightsActionDefault:
{
- ShowNoRightsNoteL( aContent, aReason );
+ ShowNoRightsNoteL( aContent, aReason, aOperationId, aObserver );
}
break;
@@ -558,8 +558,11 @@
//
void DRM::CDrmUtilityWMDrmWrapper::ShowNoRightsNoteL(
ContentAccess::CData& aContent,
- TUint32 /*aReason*/ )
+ TUint32 /*aReason*/,
+ TInt aOperationId,
+ DRM::MDrmHandleErrorObserver* aObserver )
{
+ TInt value;
TRAPD( err, LoadDlaWrapperL() );
if ( !err )
{
@@ -589,6 +592,14 @@
if ( !err && ( ret == EAknSoftkeyYes || ret == EAknSoftkeyOk ) && iWmDrmDlaSupportOn)
{
TRAP_IGNORE( DlaLicenseAcquisitionL( file ) );
+
+ // Ask the rights from CAF, same call for both ECanPlay and ECanView
+ aContent.GetAttribute( ContentAccess::ECanPlay, value );
+ // call given HandleErrorObserver
+ if( value > 0 )
+ {
+ aObserver->RightsAvailable( aOperationId, KErrNone );
+ }
}
CleanupStack::PopAndDestroy( &file );
}