photosgallery/viewframework/drmutility/src/glxdrmutility.cpp
branchRCL_3
changeset 24 ea65f74e6de4
parent 23 b023a8d2866a
equal deleted inserted replaced
23:b023a8d2866a 24:ea65f74e6de4
    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 //============================================================================