applicationmanagement/server/src/AMDeploymentComponentData.cpp
changeset 67 fdbfe0a95492
parent 47 d316aecb87fd
equal deleted inserted replaced
62:03849bd79877 67:fdbfe0a95492
   178         fileName.Copy(iDataFileName);
   178         fileName.Copy(iDataFileName);
   179         TInt err(file.Open(fs, fileName, EFileRead) );
   179         TInt err(file.Open(fs, fileName, EFileRead) );
   180         if (err == KErrNone)
   180         if (err == KErrNone)
   181             {
   181             {
   182             CleanupClosePushL(file); // 2
   182             CleanupClosePushL(file); // 2
   183             TInt fsize;
   183             TInt fsize = 0;
   184             User::LeaveIfError(file.Size(fsize) );
   184             User::LeaveIfError(file.Size(fsize) );
   185             iData = HBufC8::NewL(fsize);
   185             iData = HBufC8::NewL(fsize);
   186             TPtr8 ptr(iData->Des() );
   186             TPtr8 ptr(iData->Des() );
   187             User::LeaveIfError(file.Read(ptr) );
   187             User::LeaveIfError(file.Read(ptr) );
   188             CleanupStack::PopAndDestroy( &file);
   188             CleanupStack::PopAndDestroy( &file);
   394 
   394 
   395         RDEBUG_2("	-> opening original file: %S", &ptr );
   395         RDEBUG_2("	-> opening original file: %S", &ptr );
   396         // leave if can not open the original file
   396         // leave if can not open the original file
   397         User::LeaveIfError(originalFile.Open(aFs, ptr, EFileWrite) );
   397         User::LeaveIfError(originalFile.Open(aFs, ptr, EFileWrite) );
   398         RDEBUG("	-> done");
   398         RDEBUG("	-> done");
   399 
   399 				
       
   400 		CleanupClosePushL(originalFile);
   400         // First construct the temp path
   401         // First construct the temp path
   401         User::LeaveIfError(aFs.PrivatePath(decryptedTempFileName) );
   402         User::LeaveIfError(aFs.PrivatePath(decryptedTempFileName) );
   402         // set drive letter into the path
   403         // set drive letter into the path
   403         decryptedTempFileName.Insert( 0, TParsePtrC( PathInfo::PhoneMemoryRootPath() ).Drive() );
   404         decryptedTempFileName.Insert( 0, TParsePtrC( PathInfo::PhoneMemoryRootPath() ).Drive() );
   404         // append "piptemp\\"	
   405         // append "piptemp\\"	
   420         // open temporary handle to it.
   421         // open temporary handle to it.
   421         RDEBUG_2("	-> opening decrypted file: %S", &decryptedTempFileName );
   422         RDEBUG_2("	-> opening decrypted file: %S", &decryptedTempFileName );
   422         User::LeaveIfError(decryptedFile.Open(aFs, decryptedTempFileName,
   423         User::LeaveIfError(decryptedFile.Open(aFs, decryptedTempFileName,
   423                 EFileShareAny) );
   424                 EFileShareAny) );
   424         RDEBUG("	-> done");
   425         RDEBUG("	-> done");
       
   426         CleanupClosePushL(decryptedFile);
   425         // parse the uid from the file
   427         // parse the uid from the file
   426         ret = ParseUidFromSisFileL(decryptedFile);
   428         ret = ParseUidFromSisFileL(decryptedFile);
   427 
   429 
   428         // no use anymore for the decrypted file
       
   429         decryptedFile.Close();
       
   430         // delete the temp file
   430         // delete the temp file
   431         TInt err = aFs.Delete(decryptedTempFileName);
   431         TInt err = aFs.Delete(decryptedTempFileName);
   432         if (err != KErrNone)
   432         if (err != KErrNone)
   433             {
   433             {
   434             RDEBUG_2("**** ERROR, unable to delete temporary file: %S", &decryptedTempFileName );
   434             RDEBUG_2("**** ERROR, unable to delete temporary file: %S", &decryptedTempFileName );
   435             }
   435             }
   436 
   436 
   437         CleanupStack::PopAndDestroy(licenseMgr);
   437         CleanupStack::PopAndDestroy(&decryptedFile);
   438         decryptedFile.Close();
   438         CleanupStack::PopAndDestroy(licenseMgr);      
   439         originalFile.Close();
   439         CleanupStack::PopAndDestroy(&originalFile);
   440         }
   440         }
   441     else
   441     else
   442         if (iMimeType == KSisxMimeType || iMimeType == KSisMimeType )
   442         if (iMimeType == KSisxMimeType || iMimeType == KSisMimeType )
   443             {
   443             {
   444             RDEBUG("	-> mime: x-epoc/x-sisx-app");
   444             RDEBUG("	-> mime: x-epoc/x-sisx-app");