1286 iUnknown = ETrue; |
1286 iUnknown = ETrue; |
1287 iQueryActive = ETrue; |
1287 iQueryActive = ETrue; |
1288 |
1288 |
1289 QueryL( EGenerationItemActionResolveType ); |
1289 QueryL( EGenerationItemActionResolveType ); |
1290 } |
1290 } |
|
1291 else if ( iDeleteItemCount > 0 ) |
|
1292 { |
|
1293 TN_DEBUG1( "void CThumbAGProcessor::RunL() delete thumbnails"); |
|
1294 // delete thumbs by URI |
|
1295 __ASSERT_DEBUG((iTMSession), User::Panic(_L("CThumbAGProcessor::RunL() !iTMSession "), KErrBadHandle)); |
|
1296 if(iTMSession) |
|
1297 { |
|
1298 TInt itemIndex(KErrNotFound); |
|
1299 |
|
1300 for(TInt i=0;i<iGenerationQueue.Count() || itemIndex == KErrNotFound;i++) |
|
1301 { |
|
1302 if(iGenerationQueue[i].iItemAction == EGenerationItemActionDelete) |
|
1303 { |
|
1304 itemIndex = i; |
|
1305 } |
|
1306 } |
|
1307 |
|
1308 if(itemIndex >= 0) |
|
1309 { |
|
1310 if(!iGenerationQueue[itemIndex].iUri) |
|
1311 { |
|
1312 //URI is invalid |
|
1313 TN_DEBUG1( "void CThumbAGProcessor::RunL() unable to delete URI inbalid"); |
|
1314 iGenerationQueue.Remove( itemIndex ); |
|
1315 ActivateAO(); |
|
1316 return; |
|
1317 } |
|
1318 |
|
1319 TN_DEBUG2( "void CThumbAGProcessor::RunL() delete %S", iGenerationQueue[itemIndex].iUri); |
|
1320 CThumbnailObjectSource* source = NULL; |
|
1321 TRAPD(err, source = CThumbnailObjectSource::NewL( *iGenerationQueue[itemIndex].iUri, KNullDesC)); |
|
1322 |
|
1323 if(err == KErrNone) |
|
1324 { |
|
1325 iTMSession->DeleteThumbnails( *source ); |
|
1326 } |
|
1327 delete source; |
|
1328 |
|
1329 delete iGenerationQueue[itemIndex].iUri; |
|
1330 iGenerationQueue[itemIndex].iUri = NULL; |
|
1331 iGenerationQueue.Remove( itemIndex ); |
|
1332 |
|
1333 iActiveCount++; |
|
1334 } |
|
1335 } |
|
1336 } |
1291 // no items in query queue, start new |
1337 // no items in query queue, start new |
1292 // select queue to process, priority by type |
1338 // select queue to process, priority by type |
1293 else if ( iModifyItemCount > 0 ) |
1339 else if ( iModifyItemCount > 0 ) |
1294 { |
1340 { |
1295 TN_DEBUG1( "void CThumbAGProcessor::RunL() update thumbnails"); |
1341 TN_DEBUG1( "void CThumbAGProcessor::RunL() update thumbnails"); |
1310 iUnknown = EFalse; |
1356 iUnknown = EFalse; |
1311 // query for object info |
1357 // query for object info |
1312 iQueryActive = ETrue; |
1358 iQueryActive = ETrue; |
1313 |
1359 |
1314 QueryL( EGenerationItemActionAdd ); |
1360 QueryL( EGenerationItemActionAdd ); |
1315 } |
|
1316 else if ( iDeleteItemCount > 0 ) |
|
1317 { |
|
1318 TN_DEBUG1( "void CThumbAGProcessor::RunL() delete thumbnails"); |
|
1319 i2ndRound = EFalse; |
|
1320 iUnknown = EFalse; |
|
1321 // delete thumbs by URI |
|
1322 __ASSERT_DEBUG((iTMSession), User::Panic(_L("CThumbAGProcessor::RunL() !iTMSession "), KErrBadHandle)); |
|
1323 if(iTMSession) |
|
1324 { |
|
1325 TInt itemIndex(KErrNotFound); |
|
1326 |
|
1327 for(TInt i=0;i<iGenerationQueue.Count() || itemIndex == KErrNotFound;i++) |
|
1328 { |
|
1329 if(iGenerationQueue[i].iItemAction == EGenerationItemActionDelete) |
|
1330 { |
|
1331 itemIndex = i; |
|
1332 } |
|
1333 } |
|
1334 |
|
1335 if(itemIndex >= 0) |
|
1336 { |
|
1337 if(!iGenerationQueue[itemIndex].iUri) |
|
1338 { |
|
1339 //URI is invalid |
|
1340 TN_DEBUG1( "void CThumbAGProcessor::RunL() unable to delete URI inbalid"); |
|
1341 iGenerationQueue.Remove( itemIndex ); |
|
1342 ActivateAO(); |
|
1343 return; |
|
1344 } |
|
1345 |
|
1346 TN_DEBUG2( "void CThumbAGProcessor::RunL() delete %S", iGenerationQueue[itemIndex].iUri); |
|
1347 CThumbnailObjectSource* source = NULL; |
|
1348 TRAPD(err, source = CThumbnailObjectSource::NewL( *iGenerationQueue[itemIndex].iUri, KNullDesC)); |
|
1349 |
|
1350 if(err == KErrNone) |
|
1351 { |
|
1352 iTMSession->DeleteThumbnails( *source ); |
|
1353 } |
|
1354 delete source; |
|
1355 |
|
1356 delete iGenerationQueue[itemIndex].iUri; |
|
1357 iGenerationQueue[itemIndex].iUri = NULL; |
|
1358 iGenerationQueue.Remove( itemIndex ); |
|
1359 |
|
1360 iActiveCount++; |
|
1361 } |
|
1362 } |
|
1363 } |
1361 } |
1364 else if( i2ndAddItemCount > 0) |
1362 else if( i2ndAddItemCount > 0) |
1365 { |
1363 { |
1366 TN_DEBUG1( "void CThumbAGProcessor::RunL() update 2nd round thumbnails"); |
1364 TN_DEBUG1( "void CThumbAGProcessor::RunL() update 2nd round thumbnails"); |
1367 |
1365 |
1685 TN_DEBUG1( "CThumbAGProcessor::ActivateAO() - FORMATTING - DAEMON ON PAUSE"); |
1683 TN_DEBUG1( "CThumbAGProcessor::ActivateAO() - FORMATTING - DAEMON ON PAUSE"); |
1686 return; |
1684 return; |
1687 } |
1685 } |
1688 |
1686 |
1689 //check if forced run needs to continue |
1687 //check if forced run needs to continue |
1690 if ( iModifyItemCount || iUnknownItemCount > 0 ) |
1688 if ( iModifyItemCount > 0 || iUnknownItemCount > 0 || iDeleteItemCount > 0 ) |
1691 { |
1689 { |
|
1690 TN_DEBUG1( "CThumbAGProcessor::ActivateAO() - iModifyItemCount > 0 || iUnknownItemCount > 0 || iDeleteItemCount > 0"); |
1692 SetForceRun( ETrue ); |
1691 SetForceRun( ETrue ); |
1693 } |
1692 } |
1694 else |
1693 else |
1695 { |
1694 { |
1696 iModify = EFalse; |
1695 iModify = EFalse; |