messagingfw/msgsrvnstore/server/src/MSVDELET.CPP
branchRCL_3
changeset 46 d51193d814ea
parent 43 d2c4c66342f3
equal deleted inserted replaced
43:d2c4c66342f3 46:d51193d814ea
   308 
   308 
   309 	// delete the binary files
   309 	// delete the binary files
   310 	CDir* dir=NULL;
   310 	CDir* dir=NULL;
   311 	TBool partiallyDeleted=EFalse;
   311 	TBool partiallyDeleted=EFalse;
   312 	TInt error = iServer.GetFileDirectoryListing(id, filename, dir);
   312 	TInt error = iServer.GetFileDirectoryListing(id, filename, dir);
   313 	if(dir)
       
   314         {
       
   315 	    CleanupStack::PushL(dir);
       
   316         }
       
   317 	
       
   318 	if (error==KErrNone)
   313 	if (error==KErrNone)
   319 		{
   314 		{
   320 		User::LeaveIfError(iServer.FileSession().SetSessionPath(filename));
   315 		User::LeaveIfError(iServer.FileSession().SetSessionPath(filename));
   321 		// remove any files
   316 		// remove any files
   322 		TInt fCount=dir->Count();
   317 		TInt fCount=dir->Count();
   389 		}
   384 		}
   390 
   385 
   391 	// deletion was successful
   386 	// deletion was successful
   392 	iDeletedEntries->AppendL(id); // will not leave, space has been reserved
   387 	iDeletedEntries->AppendL(id); // will not leave, space has been reserved
   393 	iMovedEntries->AppendL(id);   // will not leave, space has been reserved
   388 	iMovedEntries->AppendL(id);   // will not leave, space has been reserved
   394 	if(dir)
   389 	delete dir;
   395         {
       
   396 	    CleanupStack::PopAndDestroy(dir);
       
   397         }
       
   398 	return;
   390 	return;
   399 
   391 
   400 failed:
   392 failed:
   401 	if (partiallyDeleted)
   393 	if (partiallyDeleted)
   402 		{
   394 		{
   430 		}
   422 		}
   431 
   423 
   432 	// we have failed, move onto next state
   424 	// we have failed, move onto next state
   433 	iState = iPCSynced ? EIndexIndividually : EIndex;
   425 	iState = iPCSynced ? EIndexIndividually : EIndex;
   434 	iError=error;
   426 	iError=error;
   435 	if(dir)
   427 	delete dir;
   436         {
       
   437 	    CleanupStack::PopAndDestroy(dir);
       
   438         }
       
   439 	    
       
   440 	}
   428 	}
   441 
   429 
   442 
   430 
   443 
   431 
   444 void CMsvDelete::DeleteAllIndexEntries()
   432 void CMsvDelete::DeleteAllIndexEntries()