# HG changeset patch # User hgs # Date 1282291250 -10800 # Node ID 5ce76b96936980c49a6ba56b623e166e77e67a28 # Parent a882b3fd075c308d03ca60cf6cfb4c0c76b6b888 201033_01 diff -r a882b3fd075c -r 5ce76b969369 commondrm/drmutility/inc/drmutilitywmdrmwrapper.h --- a/commondrm/drmutility/inc/drmutilitywmdrmwrapper.h Fri Aug 06 10:04:31 2010 +0300 +++ b/commondrm/drmutility/inc/drmutilitywmdrmwrapper.h Fri Aug 20 11:00:50 2010 +0300 @@ -187,7 +187,9 @@ // Show the appropriate notes void ShowNoRightsNoteL( ContentAccess::CData& aContent, - TUint32 aReason ); + TUint32 aReason, + TInt aOperationId, + DRM::MDrmHandleErrorObserver* aObserver ); //*** DLA: diff -r a882b3fd075c -r 5ce76b969369 commondrm/drmutility/src/DrmUtilityDmgrWrapper.cpp --- a/commondrm/drmutility/src/DrmUtilityDmgrWrapper.cpp Fri Aug 06 10:04:31 2010 +0300 +++ b/commondrm/drmutility/src/DrmUtilityDmgrWrapper.cpp Fri Aug 20 11:00:50 2010 +0300 @@ -450,7 +450,7 @@ try { RBuf fileName; - fileName.Create(KMaxFileName); + User::LeaveIfError(fileName.Create(KMaxFileName)); CleanupClosePushL(fileName); roapTrigger.Name(fileName); const QVariant& roapTriggerValue( QString((QChar*) fileName.Ptr(), fileName.Length()) ); diff -r a882b3fd075c -r 5ce76b969369 commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp --- a/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp Fri Aug 06 10:04:31 2010 +0300 +++ b/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp Fri Aug 20 11:00:50 2010 +0300 @@ -260,7 +260,7 @@ if ( !value ) { - ShowNoRightsNoteL( aContent, reason ); + ShowNoRightsNoteL( aContent, reason, aOperationId, aObserver ); User::LeaveIfError( aContent.GetAttribute( ContentAccess::ECanPlay, value ) ); if ( value ) { @@ -484,7 +484,7 @@ { case DRM::EUHCheckRightsActionDefault: { - ShowNoRightsNoteL( aContent, aReason ); + ShowNoRightsNoteL( aContent, aReason, aOperationId, aObserver ); } break; @@ -542,8 +542,11 @@ // void DRM::CDrmUtilityWMDrmWrapper::ShowNoRightsNoteL( ContentAccess::CData& aContent, - TUint32 /*aReason*/ ) + TUint32 /*aReason*/, + TInt aOperationId, + DRM::MDrmHandleErrorObserver* aObserver ) { + TInt value; TRAPD( err, LoadDlaWrapperL() ); if ( !err ) { @@ -568,6 +571,14 @@ if ( !err && ret == EOk ) { 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 ); } diff -r a882b3fd075c -r 5ce76b969369 drm_plat/drm_common_api/tsrc/data/mmc/DRM/content.dcf diff -r a882b3fd075c -r 5ce76b969369 drm_plat/drm_rights_api/tsrc/data/c/content.dcf diff -r a882b3fd075c -r 5ce76b969369 drm_pub/drm_helper_api/inc/Drmhelper.h --- a/drm_pub/drm_helper_api/inc/Drmhelper.h Fri Aug 06 10:04:31 2010 +0300 +++ b/drm_pub/drm_helper_api/inc/Drmhelper.h Fri Aug 20 11:00:50 2010 +0300 @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include #include diff -r a882b3fd075c -r 5ce76b969369 drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/data/content.dcf diff -r a882b3fd075c -r 5ce76b969369 omadrm/drmplugins/drmrohandler/src/rohandlerdmgrwrapper.cpp --- a/omadrm/drmplugins/drmrohandler/src/rohandlerdmgrwrapper.cpp Fri Aug 06 10:04:31 2010 +0300 +++ b/omadrm/drmplugins/drmrohandler/src/rohandlerdmgrwrapper.cpp Fri Aug 20 11:00:50 2010 +0300 @@ -326,7 +326,7 @@ try { RBuf fileName; - fileName.Create(KMaxFileName); + User::LeaveIfError(fileName.Create(KMaxFileName)); CleanupClosePushL(fileName); roapTrigger.Name(fileName); const QVariant& roapTriggerValue( QString((QChar*) fileName.Ptr(), fileName.Length()) );