appinstaller/AppMngr2/Sisx/src/appmngr2sisxappinfo.cpp
branchRCL_3
changeset 34 741e5bba2bd1
parent 23 09e5ea190d07
child 61 cd189dac02f7
equal deleted inserted replaced
28:98a43fae6e2b 34:741e5bba2bd1
   295         // Use DRMUtility for DRM check. Utility class is much faster then
   295         // Use DRMUtility for DRM check. Utility class is much faster then
   296         // IsDRMProtected function.        
   296         // IsDRMProtected function.        
   297         DRM::CDrmUtility* utility = DRM::CDrmUtility::NewLC();
   297         DRM::CDrmUtility* utility = DRM::CDrmUtility::NewLC();
   298                                      
   298                                      
   299         for ( TInt fileIndex = 0; fileIndex < files.Count(); fileIndex++ )
   299         for ( TInt fileIndex = 0; fileIndex < files.Count(); fileIndex++ )
   300             {        
   300             {  
       
   301 #ifdef _DEBUG        
       
   302             HBufC* tempName = files[ fileIndex ]; 
       
   303             FLOG( "CAppMngr2SisxAppInfo::ConstructL, File name: %S", tempName );
       
   304 #endif        
   301             RFile fileHandle;
   305             RFile fileHandle;
   302             TInt error = fileHandle.Open( iFs, *files[ fileIndex ], EFileRead );
   306             TInt error = fileHandle.Open( iFs, *files[ fileIndex ], EFileRead );
   303             FLOG( "CAppMngr2SisxAppInfo::ConstructL, File open error %d", 
   307             FLOG( "CAppMngr2SisxAppInfo::ConstructL, File open error %d", 
   304                     error );
   308                     error );
   305             
   309                        
   306             if ( error == KErrNone )
   310             if ( error == KErrNone )
   307                 {                
   311                 {                
   308                 CleanupClosePushL( fileHandle );
   312                 CleanupClosePushL( fileHandle );                
       
   313                 TInt err = KErrNone;
       
   314                 // We need to tarp this function since it may leave with some
       
   315                 // files which do not have enough data. If ConstrucL leaves
       
   316                 // package is not shown in UI.
       
   317                 TRAP( err, iIsDRMProtected = utility->IsProtectedL( fileHandle ) );
       
   318            
       
   319                 if ( err )
       
   320                     {
       
   321                     // If we have leave let's handle this as not DRM procteded.
       
   322                     iIsDRMProtected = EFalse;
       
   323                     FLOG( "CAppMngr2SisxAppInfo, IsProtectedL error: %d", err );
       
   324                     }
   309                 
   325                 
   310                 iIsDRMProtected = utility->IsProtectedL( fileHandle );
       
   311             
       
   312                 CleanupStack::PopAndDestroy( &fileHandle ); 
   326                 CleanupStack::PopAndDestroy( &fileHandle ); 
   313                 
   327                 
   314                 if ( iIsDRMProtected )
   328                 if ( iIsDRMProtected )
   315                     {                       
   329                     { 
   316                     HBufC* fileName = files[ fileIndex ];                            
   330                     FLOG( "CAppMngr2SisxAppInfo: File is DRM protected" );
   317                     FLOG( "CAppMngr2SisxAppInfo::ConstructL, iProtectedFile %S", 
   331                 
   318                             fileName );
   332                     HBufC* fileName = files[ fileIndex ];                                                
   319                     
       
   320                     iProtectedFile = fileName;  // takes ownership
   333                     iProtectedFile = fileName;  // takes ownership
   321                     files.Remove( fileIndex );                    
   334                     files.Remove( fileIndex );                    
   322                     
   335                     
   323                     CDRMHelper* helper = CDRMHelper::NewLC();                    
   336                     CDRMHelper* helper = CDRMHelper::NewLC();                    
   324                     CDRMHelperRightsConstraints* playconst = NULL;
   337                     CDRMHelperRightsConstraints* playconst = NULL;
   325                     CDRMHelperRightsConstraints* dispconst = NULL;
   338                     CDRMHelperRightsConstraints* dispconst = NULL;
   326                     CDRMHelperRightsConstraints* execconst = NULL;
   339                     CDRMHelperRightsConstraints* execconst = NULL;
   327                     CDRMHelperRightsConstraints* printconst = NULL;            
   340                     CDRMHelperRightsConstraints* printconst = NULL;            
   328                     TBool sendingallowed = EFalse;
   341                     TBool sendingallowed = EFalse;
   329                                     
   342                                     
   330                     FLOG( "CAppMngr2SisxAppInfo::ConstructL: GetRightsDetailsL" );
   343                     FLOG( "CAppMngr2SisxAppInfo: GetRightsDetailsL" );
   331                     error = KErrNone;
   344                     error = KErrNone;
   332                     TRAP( error, helper->GetRightsDetailsL( *fileName, 
   345                     TRAP( error, helper->GetRightsDetailsL( *fileName, 
   333                                                 ContentAccess::EView, 
   346                                                 ContentAccess::EView, 
   334                                                 iIsRightsObjectMissingOrExpired, 
   347                                                 iIsRightsObjectMissingOrExpired, 
   335                                                 sendingallowed, 
   348                                                 sendingallowed,