diff -r a60acebbbd9d -r 78ad99c24f08 photosgallery/viewframework/drmutility/src/glxdrmutility.cpp --- a/photosgallery/viewframework/drmutility/src/glxdrmutility.cpp Tue May 11 16:13:40 2010 +0300 +++ b/photosgallery/viewframework/drmutility/src/glxdrmutility.cpp Tue May 25 12:42:31 2010 +0300 @@ -154,6 +154,23 @@ } //============================================================================ +// ItemRightsValidityCheckL +// for checking DRM rights validity for item. +// is called before right is consumed and for all items (focused or unfocused). +//============================================================================ +EXPORT_C TBool CGlxDRMUtility::ItemRightsValidityCheckL( RFile& aFileHandle, + TBool aCheckViewRights ) + { + TRACER("CGlxDRMUtility::ItemRightsValidityCheckL()"); + TBool rightsValid = EFalse; + + ContentAccess::CContent* content = ContentAccess::CContent::NewLC( aFileHandle ); + TInt err( content->GetAttribute( ContentAccess::ECanView, rightsValid ) ); + CleanupStack::PopAndDestroy( content ); + return rightsValid; + } + +//============================================================================ // DisplayItemRightsCheckL // is called after right is consumed and for only focused/displayed item. //============================================================================ @@ -179,6 +196,19 @@ } //============================================================================ +// DisplayItemRightsCheckL +// is called after right is consumed and for only focused/displayed item. +//============================================================================ +EXPORT_C TBool CGlxDRMUtility::DisplayItemRightsCheckL( RFile& aFileHandle, + TBool aCheckViewRights ) + { + TRACER("CGlxDRMUtility::DisplayItemRightsCheckL()"); + // Otherwise, check current rights for the URI of newly focused item + return ItemRightsValidityCheckL( aFileHandle, aCheckViewRights ); + } + + +//============================================================================ // ConsumeRightsL //============================================================================ EXPORT_C TBool CGlxDRMUtility::ConsumeRightsL(const TDesC& aUri) @@ -209,6 +239,19 @@ return (err == KErrNone); } + +//============================================================================ +// ConsumeRightsL +//============================================================================ +EXPORT_C TBool CGlxDRMUtility::ConsumeRightsL(RFile& aFileHandle) + { + TRACER("CGlxDRMUtility::ConsumeRightsL(RFile& aFileHandle)"); + CData* data = CData::NewLC( aFileHandle, KDefaultContentObject(), EPeek ); + TInt err = data->ExecuteIntent(ContentAccess::EView); + CleanupStack::PopAndDestroy( data ); + return (err == KErrNone); + } + //============================================================================ //Clears Last Consumed Uri //============================================================================ @@ -315,6 +358,21 @@ } //============================================================================ +// ShowDRMDetailsPane +//============================================================================ +EXPORT_C void CGlxDRMUtility::ShowDRMDetailsPaneL(RFile& aFileHandle) + { + TRACER("CGlxDRMUtility::ShowDRMDetailsPaneL()"); + TRAPD( err, iDrmHelper->LaunchDetailsViewEmbeddedL( aFileHandle ) ); + // if no rights ask user to re-activate + if( err == KErrCANoRights ) + { + //need to check if we need to handle. + } + + } + +//============================================================================ // IsForwardLockedL //============================================================================ EXPORT_C TBool CGlxDRMUtility::IsForwardLockedL(const TDesC& aUri) @@ -339,6 +397,15 @@ } //============================================================================ +// ShowRightsInfoL +//============================================================================ +EXPORT_C void CGlxDRMUtility::ShowRightsInfoL(RFile& aFileHandle) + { + TRACER("CGlxDRMUtility::ShowRightsInfoL(aFileHandle)"); + iDrmHelper->CheckRightsAmountL( aFileHandle ); + } + +//============================================================================ // Return size for DRM thumbnail request. //============================================================================ EXPORT_C TSize CGlxDRMUtility::DRMThumbnailSize(TSize& aSize)