harvester/server/src/harvesterqueue.cpp
changeset 23 33ae025ac1e8
parent 21 50bf9db68373
child 25 8e4539ab1889
--- a/harvester/server/src/harvesterqueue.cpp	Fri Apr 16 15:23:55 2010 +0300
+++ b/harvester/server/src/harvesterqueue.cpp	Mon May 03 12:55:01 2010 +0300
@@ -75,6 +75,11 @@
     iItemQueue.Close();
     iFs.Close();
     RMediaIdUtil::ReleaseInstance();
+    
+    if (iHEM)
+        {
+        iHEM->ReleaseInstance();
+        }
     }
 
 // ---------------------------------------------------------------------------
@@ -86,6 +91,7 @@
     WRITELOG( "CHarvesterQueue::ConstructL()" );
     User::LeaveIfError( iFs.Connect() );
 	iMediaIdUtil = &RMediaIdUtil::GetInstanceL();
+    iHEM = CHarvesterEventManager::GetInstanceL();
     }
 
 // ---------------------------------------------------------------------------
@@ -148,6 +154,13 @@
         		aItem->Uri(), mediaId, time ) )
             {
             WRITELOG( "CHarvesterQueue::Append() - found a blacklisted file" );
+            TRAP_IGNORE( iHEM->DecreaseItemCountL( EHEObserverTypePlaceholder ) );
+            TRAP_IGNORE( iHEM->DecreaseItemCountL( EHEObserverTypeMMC ) );
+            if( aItem->EventType() == EHarvesterEdit )
+                {
+                // Remove possible placeholder items from DB if file was blacklisted during harvesting
+                iHarvesterAO->RemoveBlacklistedFile( aItem );
+                }
             delete aItem;
             aItem = NULL;
             return;