30 #include <caf/data.h> |
30 #include <caf/data.h> |
31 #include <caf/manager.h> |
31 #include <caf/manager.h> |
32 #include "glxtracer.h" |
32 #include "glxtracer.h" |
33 #include "glxlog.h" |
33 #include "glxlog.h" |
34 |
34 |
|
35 #include <drmuihandling.h> |
|
36 using namespace DRM; |
|
37 |
35 const TInt KGlxDRMThumbnailHeight = 120; |
38 const TInt KGlxDRMThumbnailHeight = 120; |
36 const TInt KGlxDRMThumbnailWidth = 90; |
39 const TInt KGlxDRMThumbnailWidth = 90; |
37 |
40 |
38 // ======== MEMBER FUNCTIONS ======== |
41 // ======== MEMBER FUNCTIONS ======== |
39 |
42 |
364 // ShowDRMDetailsPane |
367 // ShowDRMDetailsPane |
365 //============================================================================ |
368 //============================================================================ |
366 EXPORT_C void CGlxDRMUtility::ShowDRMDetailsPaneL(const TDesC& aUri) |
369 EXPORT_C void CGlxDRMUtility::ShowDRMDetailsPaneL(const TDesC& aUri) |
367 { |
370 { |
368 TRACER("CGlxDRMUtility::ShowDRMDetailsPaneL(URI)"); |
371 TRACER("CGlxDRMUtility::ShowDRMDetailsPaneL(URI)"); |
369 TRAPD( err, iDrmHelper->LaunchDetailsViewEmbeddedL( aUri ) ); |
372 GLX_LOG_URI("CGlxDRMUtility::ShowDRMDetailsPaneL(%S)", &aUri); |
370 // if no rights ask user to re-activate |
373 RFs fs; |
371 if (err == KErrCANoRights) |
374 User::LeaveIfError(fs.Connect()); |
372 { |
375 CleanupClosePushL(fs); |
373 HBufC* buf = aUri.AllocLC(); |
376 |
374 iDrmHelper->ActivateContentL(*buf); |
377 RFile64 drmFile; |
375 CleanupStack::PopAndDestroy(buf); |
378 User::LeaveIfError(drmFile.Open(fs, aUri, EFileRead |
376 } |
379 | EFileShareReadersOrWriters)); |
377 |
380 CleanupClosePushL(drmFile); |
|
381 |
|
382 CDrmUiHandling* drmUiHandler = CDrmUiHandling::NewLC(); |
|
383 TRAP_IGNORE(drmUiHandler->ShowDetailsViewL(drmFile)); |
|
384 CleanupStack::PopAndDestroy(drmUiHandler); |
|
385 |
|
386 CleanupStack::PopAndDestroy(&drmFile); |
|
387 CleanupStack::PopAndDestroy(&fs); |
378 } |
388 } |
379 |
389 |
380 //============================================================================ |
390 //============================================================================ |
381 // ShowDRMDetailsPane |
391 // ShowDRMDetailsPane |
382 //============================================================================ |
392 //============================================================================ |
383 EXPORT_C void CGlxDRMUtility::ShowDRMDetailsPaneL(RFile& aFileHandle) |
393 EXPORT_C void CGlxDRMUtility::ShowDRMDetailsPaneL(RFile& aFileHandle) |
384 { |
394 { |
385 TRACER("CGlxDRMUtility::ShowDRMDetailsPaneL(RFile)"); |
395 TRACER("CGlxDRMUtility::ShowDRMDetailsPaneL(RFile)"); |
386 TRAPD( err, iDrmHelper->LaunchDetailsViewEmbeddedL( aFileHandle ) ); |
396 CDrmUiHandling* drmUiHandler = CDrmUiHandling::NewLC(); |
387 // if no rights ask user to re-activate |
397 TRAP_IGNORE(drmUiHandler->ShowDetailsViewL(aFileHandle)); |
388 if (err == KErrCANoRights) |
398 CleanupStack::PopAndDestroy(drmUiHandler); |
389 { |
|
390 //need to check if we need to handle. |
|
391 } |
|
392 } |
399 } |
393 |
400 |
394 //============================================================================ |
401 //============================================================================ |
395 // IsForwardLockedL |
402 // IsForwardLockedL |
396 //============================================================================ |
403 //============================================================================ |