Revision: 201023
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 23 Jun 2010 19:26:19 +0300
changeset 9 d575fd691cf9
parent 7 a5fbfefd615f
child 10 afe194b6b1cd
Revision: 201023 Kit: 2010125
cenrep/readme
harvester/harvesterserver/inc/cblacklistdb.h
harvester/harvesterserver/inc/cblacklistmgr.h
harvester/harvesterserver/inc/cindexingmanager.h
harvester/harvesterserver/src/cblacklistdb.cpp
harvester/harvesterserver/src/cblacklistmgr.cpp
harvester/harvesterserver/src/cindexingmanager.cpp
harvester/harvesterserver/traces/CBlacklistDbTraces.h
harvester/harvesterserver/traces/CBlacklistMgrTraces.h
harvester/harvesterserver/traces/CIndexingManagerTraces.h
harvester/harvesterserver/traces/fixed_id.definitions
qcpix/qcpixsearchclient.pro
qcpix/tsrc/qtcpixunittests/qtcpixunittests.pro
searchengine/cpix/cpix/inc/public/appclass-hierarchy.txt
searchengine/cpix/cpix/src/fileparser/fileparser.cpp
searchsrv_plat/cpix_utility_api/inc/messageharvesterdefs.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cenrep/readme	Wed Jun 23 19:26:19 2010 +0300
@@ -0,0 +1,13 @@
+
+2001f6fb.cre file can be updated with the list of plugins to be avoided for Indexing
+only UID of the plugin has to be added
+
+Steps to update the 2001f6fb.cre
+=====================================
+1.Update the list of UID's in the 2001f6fb.txt file.
+2.copy the file to \epoc32\winscw\c  folder
+3.open command prompt to \epoc32\release\winscw\udeb  folder
+4.execute "centrepconv.exe 2001f6fb.txt" command. This command will create 2001f6fb.cre file in \epoc32\winscw\c folder
+  Before executing this command make sure the emulator is not running.This command will start the emulator and do the conversion and end the emulator.
+5.Copy the generated 2001f6fb.cre file to \searchsrv\cenrep  folder and build the searchsrv component
+6.Create the ROM image
\ No newline at end of file
--- a/harvester/harvesterserver/inc/cblacklistdb.h	Fri Jun 11 14:43:47 2010 +0300
+++ b/harvester/harvesterserver/inc/cblacklistdb.h	Wed Jun 23 19:26:19 2010 +0300
@@ -98,27 +98,27 @@
 	TBool FindL(TInt32 aPluginUid);
 	
 	/*
-     * @description Adds the given uid of a plugin to the unloadlist table.
+     * @description Adds the given uid of a plugin to the dontloadlist table.
      * @param aPluginUid Uid of the plugin
-     * @return sysmbian error code
+     * @return symbian error code
      * Leaves in case of errors.
      */  
-	TInt AddtoUnloadListL( TInt32 aPluginUid );
+	TInt AddtoDontloadListL( TInt32 aPluginUid );
     
 	/*
-     * @description remove the given uid of a plugin to the unloadlist table.
+     * @description remove the given uid of a plugin to the dontloadlist table.
      * @param aPluginUid Uid of the plugin
      * Leaves in case of errors.
      */  
-    void RemoveFromUnloadListL( TInt32 aPluginUid );
+    void RemoveFromDontloadListL( TInt32 aPluginUid );
     
     /*
-     * @description Find the given uid of a plugin to the unloadlist table.
+     * @description Find the given uid of a plugin to the dontloadlist table.
      * @param aPluginUid Uid of the plugin
      * @return ETrue if exists else returns EFalse
      * Leaves in case of errors.
      */  
-    TBool FindFromUnloadListL( TInt32 aPluginUid );
+    TBool FindInDontloadListL( TInt32 aPluginUid );
         
 private :
     /*
@@ -132,14 +132,14 @@
 	* @return CDbColSet database column set
     * Leaves in case of errors.
     */
-    CDbColSet* CreateColumnSetLC();
+    CDbColSet* CreateBlacklistColumnSetLC();
     
     /*
-    * @description Creates Column set for unload table.
+    * @description Creates Column set for dontload table.
     * @return CDbColSet database column set
     * Leaves in case of errors.
     */
-    CDbColSet* CreateUnloadColumnSetLC();
+    CDbColSet* CreateDontloadColumnSetLC();
 private:    
     /*
      * A handle to a file server session.Owned
--- a/harvester/harvesterserver/inc/cblacklistmgr.h	Fri Jun 11 14:43:47 2010 +0300
+++ b/harvester/harvesterserver/inc/cblacklistmgr.h	Wed Jun 23 19:26:19 2010 +0300
@@ -88,27 +88,27 @@
     TBool FindL(TUid aPluginUid , TInt aVersion);
     
     /*
-    * @description Adds the given uid of a plugin to the unload list of Blacklist DB.    
+    * @description Adds the given uid of a plugin to the dontload list of Blacklist DB.    
     * @param aPluginUid Uid of the plugin
     * @return sysmbian error code
     * Leaves in case of errors.
     */    
-   TInt  AddtoUnloadListL( TUid aPluginUid );
+   TInt  AddtoDontloadListL( TUid aPluginUid );
    
    /*
-   * @description removes the given uid of a plugin from the unload list of Blacklist DB.    
+   * @description removes the given uid of a plugin from the dontload list of Blacklist DB.    
    * @param aPluginUid Uid of the plugin
    * Leaves in case of errors.
    */    
-  void  RemoveFromUnloadListL( TUid aPluginUid );
+  void  RemoveFromDontloadListL( TUid aPluginUid );
   
   /*
-   * @description Checks wether the plugin uid is exists in the database unload list or not.
+   * @description Checks wether the plugin uid is exists in the database dontload list or not.
    * @param aPluginUid Uid of the plugin
    * @return ETrue if uid exists else returns EFalse
    * Leaves in case of errors.
    */ 
-  TBool FindfromUnloadListL(TUid aPluginUid );
+  TBool FindInDontloadListL(TUid aPluginUid );
     
 private:    
     /*
--- a/harvester/harvesterserver/inc/cindexingmanager.h	Fri Jun 11 14:43:47 2010 +0300
+++ b/harvester/harvesterserver/inc/cindexingmanager.h	Wed Jun 23 19:26:19 2010 +0300
@@ -26,6 +26,7 @@
 //Forward Declaration
 class CBlacklistMgr;
 class CContentInfoMgr;
+class CContentInfo;
 
 class CIndexingManager : public CActive, public MIndexingService
 	{
@@ -101,13 +102,28 @@
      */
 	void SaveL();
 	/**
-     * Update content info Db with the plugin details
+     * Add an entry to the content info Db with the plugin details.If an entry with the given 
+     * plugin name is already available in contentinfo db then the blacklist status of the plugin
+     * is updated with KEnable.
      */
-	void UpdateContentInfoDbL( const TDesC& aPluginName);
+	void UpdateContentInfoDbL( const TDesC& aPluginName, CContentInfo* aContentinfo);
 	/**
-     * Update the unload list in a separate table in blacklist database
+     * Update the dontload list in a separate table in blacklist database.
+     * If any error occurs in reading Uid values from centrep, then the dontload list
+     * is ignored.
      */
-	void UpdateUnloadListL();
+	void UpdateDontloadListL();
+	/**
+     * Returns the load status of the plugin. This method will check both tables in 
+     * Blacklist database and return the status.
+     * returns ETrue if uid is found in any table of blacklist database else returns EFalse.
+     */
+	TBool GetPluginLoadStatusL (TUid aPluginUid, TInt aVersion, const TDesC& aPluginName);
+	
+	/**
+     * Loads the Harvesterplugin with given plugin uid
+     */
+	void LoadHarvesterpluginL (TUid aPluginUid, TInt aVersion, const TDesC& aPluginName);
 	
 private:
 	CIndexingManager();
--- a/harvester/harvesterserver/src/cblacklistdb.cpp	Fri Jun 11 14:43:47 2010 +0300
+++ b/harvester/harvesterserver/src/cblacklistdb.cpp	Wed Jun 23 19:26:19 2010 +0300
@@ -41,14 +41,14 @@
 //SQL query to fetch all the records in database
 _LIT(KBlistSqlFormatAll , "SELECT * FROM table");
 _LIT(KDriveC, "c:");
-//Unload plugins Table name in blacklist database
-_LIT( KBLUnloadTableName , "unloadtable" );
-//SQL query to fetch all the records in unload table
-_LIT(KUnloadlistSqlFormatAll , "SELECT * FROM unloadtable");
-//SQL query to delete the records with given uid in unload table
-_LIT(KunloadlistSqlDelete, "DELETE FROM unloadtable WHERE uid=%d");
-//SQL query to fetch the records with given uid from unload table
-_LIT(KUnloadlistSqlFormatSeek , "SELECT * FROM unloadtable WHERE uid=%d");
+//dontload plugins Table name in blacklist database
+_LIT( KBLdontloadTableName , "dontloadtable" );
+//SQL query to fetch all the records in dontload table
+_LIT(KdontloadlistSqlFormatAll , "SELECT * FROM dontloadtable");
+//SQL query to delete the records with given uid in dontload table
+_LIT(KdontloadlistSqlDelete, "DELETE FROM dontloadtable WHERE uid=%d");
+//SQL query to fetch the records with given uid from dontload table
+_LIT(KdontloadlistSqlFormatSeek , "SELECT * FROM dontloadtable WHERE uid=%d");
 // -----------------------------------------------------------------------------
 // CBlacklistDb::NewL()
 // -----------------------------------------------------------------------------
@@ -378,11 +378,11 @@
     
     //create the database
     User::LeaveIfError( iDatabase.Create( iFs , datafile ) );
-    CDbColSet* columns = CreateColumnSetLC();//creates the columns and push to cleanupstack
+    CDbColSet* columns = CreateBlacklistColumnSetLC();//creates the columns and push to cleanupstack
     User::LeaveIfError( iDatabase.CreateTable( KBlacklistTableName , *columns ) );
-    //Add table to store the unload plugins
-    CDbColSet* unloadcolumns = CreateUnloadColumnSetLC(); //creates the columns and push to cleanupstack
-    User::LeaveIfError( iDatabase.CreateTable( KBLUnloadTableName , *unloadcolumns ) );
+    //Add table to store the dontload plugins
+    CDbColSet* dontloadcolumns = CreateDontloadColumnSetLC(); //creates the columns and push to cleanupstack
+    User::LeaveIfError( iDatabase.CreateTable( KBLdontloadTableName , *dontloadcolumns ) );
     //clean up of variables (columns and dataFile)
     CleanupStack::PopAndDestroy( 2 );
     
@@ -391,12 +391,12 @@
     }
 
 // -----------------------------------------------------------------------------
-// CBlacklistDb::CreateColumnSetLC
+// CBlacklistDb::CreateBlacklistColumnSetLC
 // -----------------------------------------------------------------------------
 //
-CDbColSet* CBlacklistDb::CreateColumnSetLC()
+CDbColSet* CBlacklistDb::CreateBlacklistColumnSetLC()
     {
-    OstTraceFunctionEntry0( CBLACKLISTDB_CREATECOLUMNSETLC_ENTRY );
+    OstTraceFunctionEntry0( CBLACKLISTDB_CREATEBLACKLISTCOLUMNSETLC_ENTRY );
     CPIXLOGSTRING("CBlacklistDb::CreateColumnSetLC(): Enter");
     
     CDbColSet* columns = CDbColSet::NewLC();
@@ -414,17 +414,17 @@
     
     CPIXLOGSTRING("CBlacklistDb::CreateColumnSetLC(): Exit");
     
-    OstTraceFunctionExit0( CBLACKLISTDB_CREATECOLUMNSETLC_EXIT );
+    OstTraceFunctionExit0( CBLACKLISTDB_CREATEBLACKLISTCOLUMNSETLC_EXIT );
     return columns; // columns stays on CleanupStack
     }
 
 // -----------------------------------------------------------------------------
-// CBlacklistDb::CreateUnloadColumnSetLC
+// CBlacklistDb::CreateDontloadColumnSetLC
 // -----------------------------------------------------------------------------
 //
-CDbColSet* CBlacklistDb::CreateUnloadColumnSetLC()
+CDbColSet* CBlacklistDb::CreateDontloadColumnSetLC()
     {
-    OstTraceFunctionEntry0( CBLACKLISTDB_CREATEUNLOADCOLUMNSETLC_ENTRY );
+    OstTraceFunctionEntry0( CBLACKLISTDB_CREATEDONTLOADCOLUMNSETLC_ENTRY );
     CDbColSet* columns = CDbColSet::NewLC();
         
     //Add uid column
@@ -432,36 +432,39 @@
     col.iAttributes = TDbCol::ENotNull ;
     columns->AddL( col );        
     
-    OstTraceFunctionExit0( CBLACKLISTDB_CREATEUNLOADCOLUMNSETLC_EXIT );
+    OstTraceFunctionExit0( CBLACKLISTDB_CREATEDONTLOADCOLUMNSETLC_EXIT );
     return columns; // columns stays on CleanupStack
     }
 
 // -----------------------------------------------------------------------------
-// CBlacklistDb::AddtoUnloadListL
+// CBlacklistDb::AddtoDontloadListL
 // -----------------------------------------------------------------------------
 //
-TInt CBlacklistDb::AddtoUnloadListL( TInt32 aPluginUid )
+TInt CBlacklistDb::AddtoDontloadListL( TInt32 aPluginUid )
     {
-    OstTraceFunctionEntry0( CBLACKLISTDB_ADDTOUNLOADLISTL_ENTRY );
+    OstTraceFunctionEntry0( CBLACKLISTDB_ADDTODONTLOADLISTL_ENTRY );
     if ( !iOpened )
             return KErrNotReady;
         
     TInt err; 
-    //Prepare the view
+    //Prepare the view with all the rows in the donload table
     RDbView dbView;
     CleanupClosePushL( dbView );
 
-    err = dbView.Prepare( iDatabase , TDbQuery( KUnloadlistSqlFormatAll ) ) ;
+    err = dbView.Prepare( iDatabase , TDbQuery( KdontloadlistSqlFormatAll ) ) ;
         
     if ( err == KErrNone )
        {
         TRAP( err , dbView.InsertL() );
-        CDbColSet* colSet = dbView.ColSetL();
-        TDbColNo uidcolno = colSet->ColNo( Kuid );        
-        dbView.SetColL( uidcolno , aPluginUid );
-        dbView.PutL();
+        if ( err == KErrNone )
+            {
+            CDbColSet* colSet = dbView.ColSetL();
+            TDbColNo uidcolno = colSet->ColNo( Kuid );        
+            dbView.SetColL( uidcolno , aPluginUid );
+            dbView.PutL();
+            }
         //If addition failed, rollback
-        if(err != KErrNone)
+        else
             {
             iDatabase.Rollback();
             }            
@@ -469,50 +472,42 @@
     CleanupStack::PopAndDestroy( &dbView ); // dbView/    
     User::LeaveIfError( iDatabase.Compact() );    
     
-    OstTraceFunctionExit0( CBLACKLISTDB_ADDTOUNLOADLISTL_EXIT );
+    OstTraceFunctionExit0( CBLACKLISTDB_ADDTODONTLOADLISTL_EXIT );
     return err;
     }
 // -----------------------------------------------------------------------------
-// CBlacklistDb::RemoveFromUnloadListL
+// CBlacklistDb::RemoveFromDontloadListL
 // -----------------------------------------------------------------------------
 //
-void CBlacklistDb::RemoveFromUnloadListL( TInt32 aPluginUid )
+void CBlacklistDb::RemoveFromDontloadListL( TInt32 aPluginUid )
     {
-    OstTraceFunctionEntry0( CBLACKLISTDB_REMOVEFROMUNLOADLISTL_ENTRY );
+    OstTraceFunctionEntry0( CBLACKLISTDB_REMOVEFROMDONTLOADLISTL_ENTRY );
     if ( !iOpened )
            return ;
         
     //Remove the item record to database
     // Create the sql statement.  KBlistSqlDelete
     TBuf<KBlistSqlStringMaxLength> sql;
-    sql.Format( KunloadlistSqlDelete , aPluginUid );
+    sql.Format( KdontloadlistSqlDelete , aPluginUid );
     
     //delete the row.
     TInt rowCount( iDatabase.Execute(sql) );
-    if(rowCount > 0)
-        {       
-        OstTrace0( TRACE_NORMAL, CBLACKLISTDB_REMOVEFROMUNLOADLISTL, "CBlacklistDb::RemoveFromUnloadListL :: removed UID succesfully" );
-        CPIXLOGSTRING("CBlacklistDb::RemoveFromUnloadListL(): Removed UID succesfully");
-        }
-    else
-        {        
-        OstTrace0( TRACE_NORMAL, DUP1_CBLACKLISTDB_REMOVEFROMUNLOADLISTL, "CBlacklistDb::RemoveFromUnloadListL:: UID not found" );
-        CPIXLOGSTRING("CBlacklistDb::RemoveFromUnloadListL(): UID not found");
-        }
-    CPIXLOGSTRING("CBlacklistDb::RemoveFromUnloadListL(): Exit");
+    OstTrace1( TRACE_NORMAL, DUP3_CBLACKLISTDB_REMOVEFROMDONTLOADLISTL, "No. of rows removed succesfully is ;RowCount=%d", rowCount );
     
-    OstTraceFunctionExit0( CBLACKLISTDB_REMOVEFROMUNLOADLISTL_EXIT );
+    CPIXLOGSTRING("CBlacklistDb::RemoveFromDontloadListL(): Exit");
+    
+    OstTraceFunctionExit0( CBLACKLISTDB_REMOVEFROMDONTLOADLISTL_EXIT );
     return ;
     }
 
 // -----------------------------------------------------------------------------
-// CBlacklistDb::FindFromUnloadListL
+// CBlacklistDb::FindInDontloadListL
 // -----------------------------------------------------------------------------
 //
-TBool CBlacklistDb::FindFromUnloadListL( TInt32 aPluginUid )
+TBool CBlacklistDb::FindInDontloadListL( TInt32 aPluginUid )
     {
-    OstTraceFunctionEntry0( CBLACKLISTDB_FINDFROMUNLOADLISTL_ENTRY );
-    CPIXLOGSTRING2("CBlacklistDb::FindFromUnloadListL(): Uid = %x " , aPluginUid );
+    OstTraceFunctionEntry0( CBLACKLISTDB_FINDINDONTLOADLISTL_ENTRY );
+    CPIXLOGSTRING2("CBlacklistDb::FindInDontloadListL(): Uid = %x " , aPluginUid );
         
     if ( !iOpened )
             return EFalse;
@@ -520,9 +515,9 @@
     //Check if the item is available in database
     //Prepare the sql
     TBuf<KBlistSqlStringMaxLength> sql;
-    sql.Format( KUnloadlistSqlFormatSeek , aPluginUid );
+    sql.Format( KdontloadlistSqlFormatSeek , aPluginUid );
     TBool found = EFalse;
-    //Prepare the view
+    //Prepare the view to get the list of rows which has the given Uid
     RDbView dbView;
     CleanupClosePushL( dbView );
 
@@ -533,11 +528,11 @@
     
     if ( isAtRow )
        {
-        OstTrace0( TRACE_NORMAL, CBLACKLISTDB_FINDFROMUNLOADLISTL, "CBlacklistDb::FindFromUnloadListL::UID found" );
-        CPIXLOGSTRING("CBlacklistDb::FindFromUnloadListL(): UID found");
+        OstTrace0( TRACE_NORMAL, CBLACKLISTDB_FINDFROMDONTLOADLISTL, "CBlacklistDb::FindFromDontloadListL::UID found" );
+        CPIXLOGSTRING("CBlacklistDb::FindFromDontloadListL(): UID found");
         found = ETrue;                 
        }    
     CleanupStack::PopAndDestroy( &dbView ); // dbView/
-    OstTraceFunctionExit0( CBLACKLISTDB_FINDFROMUNLOADLISTL_EXIT );
+    OstTraceFunctionExit0( CBLACKLISTDB_FINDINDONTLOADLISTL_EXIT );
     return found;
     }
--- a/harvester/harvesterserver/src/cblacklistmgr.cpp	Fri Jun 11 14:43:47 2010 +0300
+++ b/harvester/harvesterserver/src/cblacklistmgr.cpp	Wed Jun 23 19:26:19 2010 +0300
@@ -153,52 +153,52 @@
     }
 
 // -----------------------------------------------------------------------------
-// CBlacklistMgr::AddtoUnloadListL()
+// CBlacklistMgr::AddtoDontloadListL()
 // -----------------------------------------------------------------------------
 //
-TInt CBlacklistMgr::AddtoUnloadListL( TUid aPluginUid )
+TInt CBlacklistMgr::AddtoDontloadListL( TUid aPluginUid )
     {
     OstTraceFunctionEntry0( CBLACKLISTMGR_ADDTOUNLOADLISTL_ENTRY );
-    OstTrace1( TRACE_NORMAL, CBLACKLISTMGR_ADDTOUNLOADLISTL, "CBlacklistMgr::AddtoUnloadListL;Uid=%x", aPluginUid.iUid );
-    CPIXLOGSTRING2("CBlacklistMgr::AddtoUnloadListL(): Uid = %x " , aPluginUid.iUid );
+    OstTrace1( TRACE_NORMAL, CBLACKLISTMGR_ADDTODONTLOADLISTL, "CBlacklistMgr::AddtoDontloadListL;Uid=%x", aPluginUid.iUid );
+    CPIXLOGSTRING2("CBlacklistMgr::AddtoDontloadListL(): Uid = %x " , aPluginUid.iUid );
     //Check if the record with given plugin uid is already available in database or not
     //If available just ignore the addition
     //If there is no record found in database with given uid, add new record with given uid    
     TInt err = KErrNone;
     
-    if( !(iBlacklistDb->FindFromUnloadListL( aPluginUid.iUid )) )    
+    if( !(iBlacklistDb->FindInDontloadListL( aPluginUid.iUid )) )    
         {
-        err = iBlacklistDb->AddtoUnloadListL( aPluginUid.iUid );
+        err = iBlacklistDb->AddtoDontloadListL( aPluginUid.iUid );
         }
       
-    CPIXLOGSTRING("CBlacklistMgr::AddtoUnloadListL(): Exit");    
-    OstTraceFunctionExit0( CBLACKLISTMGR_ADDTOUNLOADLISTL_EXIT );
+    CPIXLOGSTRING("CBlacklistMgr::AddtoDontloadListL(): Exit");    
+    OstTraceFunctionExit0( CBLACKLISTMGR_ADDTODONTLOADLISTL_EXIT );
     return err;
     }
 
 // -----------------------------------------------------------------------------
-// CBlacklistMgr::RemoveFromUnloadListL()
+// CBlacklistMgr::RemoveFromDontloadListL()
 // -----------------------------------------------------------------------------
 //
-void CBlacklistMgr::RemoveFromUnloadListL( TUid aPluginUid )
+void CBlacklistMgr::RemoveFromDontloadListL( TUid aPluginUid )
     {
     OstTraceFunctionEntry0( CBLACKLISTMGR_REMOVEFROMUNLOADLISTL_ENTRY );
-    OstTrace1( TRACE_NORMAL, CBLACKLISTMGR_REMOVEFROMUNLOADLISTL, "CBlacklistMgr::RemoveFromUnloadListL;Uid=%x", aPluginUid.iUid );
-    CPIXLOGSTRING2("CBlacklistMgr::RemoveFromUnloadListL(): Uid = %x " , aPluginUid.iUid );
+    OstTrace1( TRACE_NORMAL, CBLACKLISTMGR_REMOVEFROMUNLOADLISTL, "CBlacklistMgr::RemoveFromDontloadListL;Uid=%x", aPluginUid.iUid );
+    CPIXLOGSTRING2("CBlacklistMgr::RemoveFromDontloadListL(): Uid = %x " , aPluginUid.iUid );
     //Remove the item record to database
-    iBlacklistDb->RemoveFromUnloadListL( aPluginUid.iUid );
+    iBlacklistDb->RemoveFromDontloadListL( aPluginUid.iUid );
     
-    CPIXLOGSTRING("CBlacklistMgr::RemoveFromUnloadListL(): Exit");  
-    OstTraceFunctionExit0( CBLACKLISTMGR_REMOVEFROMUNLOADLISTL_EXIT );
+    CPIXLOGSTRING("CBlacklistMgr::RemoveFromDontloadListL(): Exit");  
+    OstTraceFunctionExit0( CBLACKLISTMGR_REMOVEFROMDONTLOADLISTL_EXIT );
     }
 
 // -----------------------------------------------------------------------------
-// CBlacklistMgr::FindfromUnloadListL()
+// CBlacklistMgr::FindfromDontloadListL()
 // -----------------------------------------------------------------------------
 //
-TBool CBlacklistMgr::FindfromUnloadListL(TUid aPluginUid )
+TBool CBlacklistMgr::FindInDontloadListL(TUid aPluginUid )
     {
-    CPIXLOGSTRING2("CBlacklistMgr::FindfromUnloadListL(): Uid = %x " , aPluginUid.iUid );
-    OstTrace1( TRACE_NORMAL, CBLACKLISTMGR_FINDFROMUNLOADLISTL, "CBlacklistMgr::FindfromUnloadListL;Uid=%x", aPluginUid.iUid );
-    return ( iBlacklistDb->FindFromUnloadListL( aPluginUid.iUid ) );    
+    CPIXLOGSTRING2("CBlacklistMgr::FindInDontloadListL(): Uid = %x " , aPluginUid.iUid );
+    OstTrace1( TRACE_NORMAL, CBLACKLISTMGR_FINDINDONTLOADLISTL, "CBlacklistMgr::FindInDontloadListL;Uid=%x", aPluginUid.iUid );
+    return ( iBlacklistDb->FindInDontloadListL( aPluginUid.iUid ) );    
     }
--- a/harvester/harvesterserver/src/cindexingmanager.cpp	Fri Jun 11 14:43:47 2010 +0300
+++ b/harvester/harvesterserver/src/cindexingmanager.cpp	Wed Jun 23 19:26:19 2010 +0300
@@ -49,11 +49,11 @@
 //constants for enable and disable status
 const TInt KEnable = 1;
 const TInt KDisable = 0;
-
+//Uid of Harvester server cetral repository database
 const TUid KCPIXHSrepoUidMenu = {0x2001f6fb};
 
 //Length of uid string in cenrep
-const TInt KuidStringLength = 8;
+const TInt KCenrepUidLength = 8;
 // -----------------------------------------------------------------------------
 // CHarvesterServer::NewL()
 // -----------------------------------------------------------------------------
@@ -141,7 +141,7 @@
 	//Instantiate Contentinfo manager
 	iContentInfoMgr = CContentInfoMgr::NewL();
 	
-	UpdateUnloadListL();
+	UpdateDontloadListL();
 
 	// Load plugins
 	LoadPluginsL();
@@ -308,6 +308,7 @@
 //
 void CIndexingManager::LoadPluginsL()
 	{
+    OstTraceFunctionEntry0( CINDEXINGMANAGER_LOADPLUGINSL_ENTRY );
     RImplInfoPtrArray infoArray;    
     TCleanupItem cleanupItem( CPixSearchECom::CleanupEComArray, &infoArray );
     CleanupStack::PushL( cleanupItem );
@@ -316,69 +317,30 @@
     TInt count( 0 );
     count = infoArray.Count();
     
-    //FFLOGSTRING2( "CFastFindHarvesterPluginControl:: PLUGINS COUNT %d", count );
-    CIndexingPlugin* plugin = NULL;
-    
     TInt contentcount(iContentInfoMgr->GetContentCountL() );
     // If the content count in the content info DB is not equal to the plugin count, reset the content info DB
     if ( contentcount != count)
         iContentInfoMgr->ResetL();
     
+    CContentInfo* contentinfo = CContentInfo::NewL();
+    
     for ( TInt i = 0; i < count; i++ )
         {
         TUid uid = infoArray[i]->ImplementationUid();    // Create the plug-ins
         TInt version = infoArray[i]->Version();
-        //FFLOGSTRING2( "CFastFindHarvesterPluginControl:: PLUGINS UID %x", uid );
-        plugin = NULL;
+        //Update the details of the plugin in Contentinfo DB
+        UpdateContentInfoDbL( infoArray[i]->DisplayName(), contentinfo );
+        //Get the load status of the plugin.
+        TBool pluginloadstatus = GetPluginLoadStatusL ( uid, version, infoArray[i]->DisplayName() );        
         
-        UpdateContentInfoDbL( infoArray[i]->DisplayName() );
-        TBool loadplugin = ETrue;
-        //status of plugin in blacklist table
-        TBool pluginblacklisted = iBlacklistMgr->FindL( uid, version);
-        //status of plugin in unload table
-        TBool loadstatus =  iBlacklistMgr->FindfromUnloadListL( uid );  
-        //Check the Uid in both the tables of the blacklist db 
-        if ( loadstatus || pluginblacklisted )
-            loadplugin = EFalse;
-        
-        if ( loadstatus )
-            {
-            //Found in unload list.Update the indexing and blacklist status in contentinfo DB
-            iContentInfoMgr->UpdatePluginIndexStatusL( infoArray[i]->DisplayName() , KDisable );
-            iContentInfoMgr->UpdateBlacklistStatusL( infoArray[i]->DisplayName() , KDisable );
-            }
-        if ( pluginblacklisted )
-            //Update the blacklist status in content info db
-            iContentInfoMgr->UpdateBlacklistStatusL( infoArray[i]->DisplayName() , KEnable );
-        
-        if ( loadplugin )
+        if ( pluginloadstatus )
             {
-            // Plugin is not black listed. Add it to database and try to load the plugin
-            iBlacklistMgr->AddL( uid , version );
-            OstTrace1( TRACE_NORMAL, CINDEXINGMANAGER_LOADPLUGINSL, "CIndexingManager::LoadPluginsL;Plugin with uid=%x is added to DB", uid.iUid );
-            CPIXLOGSTRING2("CIndexingManager::LoadPluginsL(): Plugin with uid = %x is added to database", uid.iUid);
-            TRAPD( err, plugin = CIndexingPlugin::NewL( uid ) );
-            //FFLOGSTRING2( "CFastFindHarvesterPluginControl:: ERROR %d", err );
-            if ( err == KErrNone )
-                {
-                // Plugin loaded succesfully. Remove it from the database
-                iBlacklistMgr->Remove(uid);
-                OstTrace1( TRACE_NORMAL, DUP1_CINDEXINGMANAGER_LOADPLUGINSL, "CIndexingManager::LoadPluginsL;Plugin with uid=%x is removed from DB", uid.iUid );
-                CPIXLOGSTRING2("CIndexingManager::LoadPluginsL(): Plugin with uid = %x is removed from database", uid.iUid);
-                iContentInfoMgr->UpdateBlacklistStatusL( infoArray[i]->DisplayName() , KDisable );
-                CleanupStack::PushL( plugin );
-                plugin->SetObserver( *this );
-                plugin->SetSearchSession( iSearchSession );
-                iPluginArray.AppendL( plugin ); // and add them to array
-                CleanupStack::Pop( plugin );
-                OstTrace1( TRACE_NORMAL, DUP2_CINDEXINGMANAGER_LOADPLUGINSL, "CIndexingManager::LoadPluginsL;Plugin with uid=%x is loaded successfully", uid.iUid );
-                CPIXLOGSTRING2("CIndexingManager::LoadPluginsL(): Plugin with uid = %x is loaded succesfully", uid.iUid);
-                }
+            LoadHarvesterpluginL (uid, version, infoArray[i]->DisplayName() );//Load the harvester plugin
             }
-        }    
-    CleanupStack::PopAndDestroy( &infoArray ); // infoArray, results in a call to CleanupEComArray
-    //FFLOGSTRING( "CFastFindHarvesterPluginControl::LoadPluginsL() plugin!" );    
-    
+        }
+    delete contentinfo;
+    CleanupStack::PopAndDestroy( &infoArray ); // infoArray, results in a call to CleanupEComArray    
+	OstTraceFunctionExit0( CINDEXINGMANAGER_LOADPLUGINSL_EXIT );
 	}
 
 // -----------------------------------------------------------------------------
@@ -626,7 +588,7 @@
 // CIndexingManager::UpdateContentInfoDbL()
 // -----------------------------------------------------------------------------
 //
-void CIndexingManager::UpdateContentInfoDbL( const TDesC& aPluginName)
+void CIndexingManager::UpdateContentInfoDbL( const TDesC& aPluginName, CContentInfo* aContentinfo)
 {
     OstTraceFunctionEntry0( CINDEXINGMANAGER_UPDATECONTENTINFODBL_ENTRY );
     TBool iscontentfound = iContentInfoMgr->FindL( aPluginName );
@@ -634,12 +596,11 @@
     if( !iscontentfound )
         {
         //Add the content details to database
-        CContentInfo* contentinfo = CContentInfo::NewL();
-        contentinfo->SetNameL( aPluginName );
-        contentinfo->SetBlacklistStatus( KEnable );
-        contentinfo->SetIndexStatus( KEnable );
-        iContentInfoMgr->AddL( contentinfo );
-        delete contentinfo;
+        aContentinfo->SetNameL( aPluginName );
+        aContentinfo->SetBlacklistStatus( KEnable );
+        aContentinfo->SetIndexStatus( KEnable );
+        iContentInfoMgr->AddL( aContentinfo );
+        
         }
     else
         {
@@ -649,13 +610,13 @@
 }
 
 // -----------------------------------------------------------------------------
-// CIndexingManager::UpdateUnloadList()
+// CIndexingManager::UpdateDontloadListL()
 // -----------------------------------------------------------------------------
 //
-void CIndexingManager::UpdateUnloadListL()
+void CIndexingManager::UpdateDontloadListL()
     {
-    OstTraceFunctionEntry0( CINDEXINGMANAGER_UPDATEUNLOADLISTL_ENTRY );
-    CPIXLOGSTRING("CIndexingManager::UpdateUnloadList : Start");
+    OstTraceFunctionEntry0( CINDEXINGMANAGER_UPDATEDONTLOADLISTL_ENTRY );
+    CPIXLOGSTRING("CIndexingManager::UpdateDontloadList : Start");
     //Read the list of Uid's from the cenrep and update blacklist database
     //Open the unload list common repository
     CRepository* unloadrepo = NULL;
@@ -664,10 +625,13 @@
         return;
     RArray<TUint32> uidlist;    
     //Read all the key list
+    //Matches occur whenever (key & mask) == (partialKey & mask). 
+    //The partial key is guaranteed to be masked before use
+    // To fetch all the keys we have done masking with '0'
     TInt error = unloadrepo->FindL( 0, 0, uidlist);
     if ( error == KErrNone )
         {
-        TBuf<KuidStringLength> temp;
+        TBuf<KCenrepUidLength> temp;
         //get the Uid of each and every plugin and add it to blacklist database
         TInt count = uidlist.Count();
         for (int i = 0; i < count; i++ )
@@ -678,9 +642,69 @@
             TLex uidvalue(temp);
             TInt xerr = uidvalue.Val( value,EHex );
             uid.iUid = value;
-            (void)iBlacklistMgr->AddtoUnloadListL( uid );            
+            (void)iBlacklistMgr->AddtoDontloadListL( uid );            
             }
         }
-    CPIXLOGSTRING("CIndexingManager::UpdateUnloadList : End");
-    OstTraceFunctionExit0( CINDEXINGMANAGER_UPDATEUNLOADLISTL_EXIT );
+    CPIXLOGSTRING("CIndexingManager::UpdateDontloadList : End");
+    OstTraceFunctionExit0( CINDEXINGMANAGER_UPDATEDONTLOADLISTL_EXIT );
+    }
+
+// -----------------------------------------------------------------------------
+// CIndexingManager::GetPluginLoadStatus()
+// -----------------------------------------------------------------------------
+//
+TBool CIndexingManager::GetPluginLoadStatusL (TUid aPluginUid, TInt aVersion, const TDesC& aPluginName)
+    {
+    OstTraceFunctionEntry0( DUP1_CINDEXINGMANAGER_GETPLUGINLOADSTATUSL_ENTRY );
+    //status of plugin in blacklist table
+    TBool pluginblacklisted = iBlacklistMgr->FindL( aPluginUid, aVersion);
+    //status of plugin in unload table
+    TBool loadstatus =  iBlacklistMgr->FindInDontloadListL( aPluginUid );  
+    //Check the Uid in both the tables of the blacklist db 
+//    if ( loadstatus || pluginblacklisted )
+//        loadplugin = EFalse;
+    
+    if ( loadstatus )
+        {
+        //Found in unload list.Update the indexing and blacklist status in contentinfo DB
+        iContentInfoMgr->UpdatePluginIndexStatusL( aPluginName , KDisable );
+        iContentInfoMgr->UpdateBlacklistStatusL( aPluginName , KDisable );
+        }
+    if ( pluginblacklisted )
+        //Update the blacklist status in content info db
+        iContentInfoMgr->UpdateBlacklistStatusL( aPluginName , KEnable );
+    
+    return (! (loadstatus | pluginblacklisted));
     }
+
+// -----------------------------------------------------------------------------
+// CIndexingManager::GetPluginLoadStatus()
+// -----------------------------------------------------------------------------
+//
+void CIndexingManager::LoadHarvesterpluginL (TUid aPluginUid, TInt aVersion, const TDesC& aPluginName)
+    {
+    OstTraceFunctionEntry0( CINDEXINGMANAGER_LOADHARVESTERPLUGINL_ENTRY );
+    CIndexingPlugin* plugin = NULL;
+    // Plugin is not black listed. Add it to blacklist database
+    iBlacklistMgr->AddL( aPluginUid , aVersion );
+    OstTrace1( TRACE_NORMAL, DUP1_CINDEXINGMANAGER_LOADHARVESTERPLUGINL, "CIndexingManager::LoadPluginsL;Plugin with uid=%x is added to DB", aPluginUid.iUid );
+    CPIXLOGSTRING2("CIndexingManager::LoadHarvesterpluginL(): Plugin with uid = %x is added to database", aPluginUid.iUid);
+    //try to load the plugin
+    TRAPD( err, plugin = CIndexingPlugin::NewL( aPluginUid ) );
+    if ( err == KErrNone )
+        {
+        // Plugin loaded succesfully. Remove it from the blacklist database
+        iBlacklistMgr->Remove(aPluginUid);
+        OstTrace1( TRACE_NORMAL, CINDEXINGMANAGER_LOADHARVESTERPLUGINL, "CIndexingManager::LoadPluginsL;Plugin with uid=%x is removed from DB", aPluginUid.iUid );
+        CPIXLOGSTRING2("CIndexingManager::LoadHarvesterpluginL(): Plugin with uid = %x is removed from database", aPluginUid.iUid);
+        iContentInfoMgr->UpdateBlacklistStatusL( aPluginName , KDisable );
+        CleanupStack::PushL( plugin );
+        plugin->SetObserver( *this );
+        plugin->SetSearchSession( iSearchSession );
+        iPluginArray.AppendL( plugin ); // and add them to array
+        CleanupStack::Pop( plugin );
+        OstTrace1( TRACE_NORMAL, DUP2_CINDEXINGMANAGER_LOADHARVESTERPLUGINL, "CIndexingManager::LoadPluginsL;Plugin with uid=%x is loaded successfully", aPluginUid.iUid );
+        CPIXLOGSTRING2("CIndexingManager::LoadHarvesterpluginL(): Plugin with uid = %x is loaded succesfully", aPluginUid.iUid);
+        }
+    OstTraceFunctionExit0( CINDEXINGMANAGER_LOADHARVESTERPLUGINL_EXIT );
+    }
--- a/harvester/harvesterserver/traces/CBlacklistDbTraces.h	Fri Jun 11 14:43:47 2010 +0300
+++ b/harvester/harvesterserver/traces/CBlacklistDbTraces.h	Wed Jun 23 19:26:19 2010 +0300
@@ -18,16 +18,16 @@
 #define CBLACKLISTDB_UPDATEL_EXIT 0x8a000a
 #define CBLACKLISTDB_CREATEDBL_ENTRY 0x8a000b
 #define CBLACKLISTDB_CREATEDBL_EXIT 0x8a000c
-#define CBLACKLISTDB_CREATECOLUMNSETLC_ENTRY 0x8a000d
-#define CBLACKLISTDB_CREATECOLUMNSETLC_EXIT 0x8a000e
-#define CBLACKLISTDB_CREATEUNLOADCOLUMNSETLC_ENTRY 0x8a003b
-#define CBLACKLISTDB_CREATEUNLOADCOLUMNSETLC_EXIT 0x8a003c
-#define CBLACKLISTDB_ADDTOUNLOADLISTL_ENTRY 0x8a003d
-#define CBLACKLISTDB_ADDTOUNLOADLISTL_EXIT 0x8a003e
-#define CBLACKLISTDB_REMOVEFROMUNLOADLISTL_ENTRY 0x8a003f
-#define CBLACKLISTDB_REMOVEFROMUNLOADLISTL_EXIT 0x8a0040
-#define CBLACKLISTDB_FINDFROMUNLOADLISTL_ENTRY 0x8a0041
-#define CBLACKLISTDB_FINDFROMUNLOADLISTL_EXIT 0x8a0042
+#define CBLACKLISTDB_CREATEBLACKLISTCOLUMNSETLC_ENTRY 0x8a004b
+#define CBLACKLISTDB_CREATEBLACKLISTCOLUMNSETLC_EXIT 0x8a004c
+#define CBLACKLISTDB_CREATEDONTLOADCOLUMNSETLC_ENTRY 0x8a004d
+#define CBLACKLISTDB_CREATEDONTLOADCOLUMNSETLC_EXIT 0x8a004e
+#define CBLACKLISTDB_ADDTODONTLOADLISTL_ENTRY 0x8a004f
+#define CBLACKLISTDB_ADDTODONTLOADLISTL_EXIT 0x8a0050
+#define CBLACKLISTDB_REMOVEFROMDONTLOADLISTL_ENTRY 0x8a0051
+#define CBLACKLISTDB_REMOVEFROMDONTLOADLISTL_EXIT 0x8a0052
+#define CBLACKLISTDB_FINDINDONTLOADLISTL_ENTRY 0x8a0053
+#define CBLACKLISTDB_FINDINDONTLOADLISTL_EXIT 0x8a0054
 #define CBLACKLISTDB_CONSTRUCTL 0x860001
 #define CBLACKLISTDB_ADDL 0x860002
 #define CBLACKLISTDB_REMOVE 0x860003
@@ -38,9 +38,8 @@
 #define CBLACKLISTDB_UPDATEL 0x860008
 #define CBLACKLISTDB_FINDL 0x860009
 #define DUP1_CBLACKLISTDB_FINDL 0x86000a
-#define CBLACKLISTDB_REMOVEFROMUNLOADLISTL 0x860027
-#define DUP1_CBLACKLISTDB_REMOVEFROMUNLOADLISTL 0x860028
-#define CBLACKLISTDB_FINDFROMUNLOADLISTL 0x860029
+#define DUP3_CBLACKLISTDB_REMOVEFROMDONTLOADLISTL 0x86002d
+#define CBLACKLISTDB_FINDFROMDONTLOADLISTL 0x86002e
 
 
 inline TBool OstTraceGen2( TUint32 aTraceID, TUint aParam1, TInt aParam2 )
--- a/harvester/harvesterserver/traces/CBlacklistMgrTraces.h	Fri Jun 11 14:43:47 2010 +0300
+++ b/harvester/harvesterserver/traces/CBlacklistMgrTraces.h	Wed Jun 23 19:26:19 2010 +0300
@@ -15,17 +15,17 @@
 #define CBLACKLISTMGR_REMOVE_ENTRY 0x8a0015
 #define CBLACKLISTMGR_REMOVE_EXIT 0x8a0016
 #define CBLACKLISTMGR_ADDTOUNLOADLISTL_ENTRY 0x8a0043
-#define CBLACKLISTMGR_ADDTOUNLOADLISTL_EXIT 0x8a0044
 #define CBLACKLISTMGR_REMOVEFROMUNLOADLISTL_ENTRY 0x8a0045
-#define CBLACKLISTMGR_REMOVEFROMUNLOADLISTL_EXIT 0x8a0046
+#define CBLACKLISTMGR_ADDTODONTLOADLISTL_EXIT 0x8a0055
+#define CBLACKLISTMGR_REMOVEFROMDONTLOADLISTL_EXIT 0x8a0056
 #define CBLACKLISTMGR_ADDL 0x86000b
 #define CBLACKLISTMGR_REMOVE 0x86000c
 #define CBLACKLISTMGR_FINDL 0x86000d
 #define DUP1_CBLACKLISTMGR_FINDL 0x86000e
 #define DUP2_CBLACKLISTMGR_FINDL 0x86000f
-#define CBLACKLISTMGR_ADDTOUNLOADLISTL 0x86002a
 #define CBLACKLISTMGR_REMOVEFROMUNLOADLISTL 0x86002b
-#define CBLACKLISTMGR_FINDFROMUNLOADLISTL 0x86002c
+#define CBLACKLISTMGR_ADDTODONTLOADLISTL 0x86002f
+#define CBLACKLISTMGR_FINDINDONTLOADLISTL 0x860030
 
 
 inline TBool OstTraceGen2( TUint32 aTraceID, TUint aParam1, TInt aParam2 )
--- a/harvester/harvesterserver/traces/CIndexingManagerTraces.h	Fri Jun 11 14:43:47 2010 +0300
+++ b/harvester/harvesterserver/traces/CIndexingManagerTraces.h	Wed Jun 23 19:26:19 2010 +0300
@@ -8,8 +8,13 @@
 
 #define CINDEXINGMANAGER_UPDATECONTENTINFODBL_ENTRY 0x8a0047
 #define CINDEXINGMANAGER_UPDATECONTENTINFODBL_EXIT 0x8a0048
-#define CINDEXINGMANAGER_UPDATEUNLOADLISTL_ENTRY 0x8a0049
-#define CINDEXINGMANAGER_UPDATEUNLOADLISTL_EXIT 0x8a004a
+#define CINDEXINGMANAGER_LOADPLUGINSL_ENTRY 0x8a0057
+#define CINDEXINGMANAGER_LOADPLUGINSL_EXIT 0x8a0058
+#define CINDEXINGMANAGER_UPDATEDONTLOADLISTL_ENTRY 0x8a0059
+#define CINDEXINGMANAGER_UPDATEDONTLOADLISTL_EXIT 0x8a005a
+#define DUP1_CINDEXINGMANAGER_GETPLUGINLOADSTATUSL_ENTRY 0x8a005b
+#define CINDEXINGMANAGER_LOADHARVESTERPLUGINL_ENTRY 0x8a005c
+#define CINDEXINGMANAGER_LOADHARVESTERPLUGINL_EXIT 0x8a005d
 #define CINDEXINGMANAGER_RUNL 0x860010
 #define DUP1_CINDEXINGMANAGER_RUNL 0x860011
 #define DUP2_CINDEXINGMANAGER_RUNL 0x860012
@@ -20,9 +25,6 @@
 #define DUP7_CINDEXINGMANAGER_RUNL 0x860017
 #define DUP8_CINDEXINGMANAGER_RUNL 0x860018
 #define DUP9_CINDEXINGMANAGER_RUNL 0x860019
-#define CINDEXINGMANAGER_LOADPLUGINSL 0x86001a
-#define DUP1_CINDEXINGMANAGER_LOADPLUGINSL 0x86001b
-#define DUP2_CINDEXINGMANAGER_LOADPLUGINSL 0x86001c
 #define CINDEXINGMANAGER_ADDHARVESTINGQUEUE 0x86001d
 #define DUP1_CINDEXINGMANAGER_ADDHARVESTINGQUEUE 0x86001e
 #define DUP2_CINDEXINGMANAGER_ADDHARVESTINGQUEUE 0x86001f
@@ -33,6 +35,9 @@
 #define CINDEXINGMANAGER_HARVESTINGCOMPLETED 0x860024
 #define DUP1_CINDEXINGMANAGER_HARVESTINGCOMPLETED 0x860025
 #define DUP2_CINDEXINGMANAGER_HARVESTINGCOMPLETED 0x860026
+#define DUP1_CINDEXINGMANAGER_LOADHARVESTERPLUGINL 0x860031
+#define CINDEXINGMANAGER_LOADHARVESTERPLUGINL 0x860032
+#define DUP2_CINDEXINGMANAGER_LOADHARVESTERPLUGINL 0x860033
 
 
 #ifndef __KERNEL_MODE__
--- a/harvester/harvesterserver/traces/fixed_id.definitions	Fri Jun 11 14:43:47 2010 +0300
+++ b/harvester/harvesterserver/traces/fixed_id.definitions	Wed Jun 23 19:26:19 2010 +0300
@@ -3,36 +3,36 @@
 [GROUP]TRACE_NORMAL=0x86
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_ADDL_ENTRY=0x5
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_ADDL_EXIT=0x6
-[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_ADDTOUNLOADLISTL_ENTRY=0x3d
-[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_ADDTOUNLOADLISTL_EXIT=0x3e
+[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_ADDTODONTLOADLISTL_ENTRY=0x4f
+[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_ADDTODONTLOADLISTL_EXIT=0x50
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CONSTRUCTL_ENTRY=0x3
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CONSTRUCTL_EXIT=0x4
-[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATECOLUMNSETLC_ENTRY=0xd
-[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATECOLUMNSETLC_EXIT=0xe
+[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATEBLACKLISTCOLUMNSETLC_ENTRY=0x4b
+[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATEBLACKLISTCOLUMNSETLC_EXIT=0x4c
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATEDBL_ENTRY=0xb
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATEDBL_EXIT=0xc
-[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATEUNLOADCOLUMNSETLC_ENTRY=0x3b
-[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATEUNLOADCOLUMNSETLC_EXIT=0x3c
-[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_FINDFROMUNLOADLISTL_ENTRY=0x41
-[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_FINDFROMUNLOADLISTL_EXIT=0x42
+[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATEDONTLOADCOLUMNSETLC_ENTRY=0x4d
+[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATEDONTLOADCOLUMNSETLC_EXIT=0x4e
+[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_FINDINDONTLOADLISTL_ENTRY=0x53
+[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_FINDINDONTLOADLISTL_EXIT=0x54
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_NEWL_ENTRY=0x1
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_NEWL_EXIT=0x2
-[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_REMOVEFROMUNLOADLISTL_ENTRY=0x3f
-[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_REMOVEFROMUNLOADLISTL_EXIT=0x40
+[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_REMOVEFROMDONTLOADLISTL_ENTRY=0x51
+[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_REMOVEFROMDONTLOADLISTL_EXIT=0x52
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_REMOVE_ENTRY=0x7
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_REMOVE_EXIT=0x8
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_UPDATEL_ENTRY=0x9
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_UPDATEL_EXIT=0xa
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_ADDL_ENTRY=0x13
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_ADDL_EXIT=0x14
+[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_ADDTODONTLOADLISTL_EXIT=0x55
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_ADDTOUNLOADLISTL_ENTRY=0x43
-[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_ADDTOUNLOADLISTL_EXIT=0x44
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_CONSTRUCTL_ENTRY=0x11
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_CONSTRUCTL_EXIT=0x12
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_NEWL_ENTRY=0xf
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_NEWL_EXIT=0x10
+[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_REMOVEFROMDONTLOADLISTL_EXIT=0x56
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_REMOVEFROMUNLOADLISTL_ENTRY=0x45
-[TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_REMOVEFROMUNLOADLISTL_EXIT=0x46
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_REMOVE_ENTRY=0x15
 [TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_REMOVE_EXIT=0x16
 [TRACE]TRACE_FLOW[0x8A]_CCONTENTINFODB_ADDL_ENTRY=0x25
@@ -71,46 +71,50 @@
 [TRACE]TRACE_FLOW[0x8A]_CCONTENTINFO_NEWL_EXIT=0x18
 [TRACE]TRACE_FLOW[0x8A]_CCONTENTINFO_SETNAMEL_ENTRY=0x1d
 [TRACE]TRACE_FLOW[0x8A]_CCONTENTINFO_SETNAMEL_EXIT=0x1e
+[TRACE]TRACE_FLOW[0x8A]_CINDEXINGMANAGER_LOADHARVESTERPLUGINL_ENTRY=0x5c
+[TRACE]TRACE_FLOW[0x8A]_CINDEXINGMANAGER_LOADHARVESTERPLUGINL_EXIT=0x5d
+[TRACE]TRACE_FLOW[0x8A]_CINDEXINGMANAGER_LOADPLUGINSL_ENTRY=0x57
+[TRACE]TRACE_FLOW[0x8A]_CINDEXINGMANAGER_LOADPLUGINSL_EXIT=0x58
 [TRACE]TRACE_FLOW[0x8A]_CINDEXINGMANAGER_UPDATECONTENTINFODBL_ENTRY=0x47
 [TRACE]TRACE_FLOW[0x8A]_CINDEXINGMANAGER_UPDATECONTENTINFODBL_EXIT=0x48
-[TRACE]TRACE_FLOW[0x8A]_CINDEXINGMANAGER_UPDATEUNLOADLISTL_ENTRY=0x49
-[TRACE]TRACE_FLOW[0x8A]_CINDEXINGMANAGER_UPDATEUNLOADLISTL_EXIT=0x4a
+[TRACE]TRACE_FLOW[0x8A]_CINDEXINGMANAGER_UPDATEDONTLOADLISTL_ENTRY=0x59
+[TRACE]TRACE_FLOW[0x8A]_CINDEXINGMANAGER_UPDATEDONTLOADLISTL_EXIT=0x5a
+[TRACE]TRACE_FLOW[0x8A]_DUP1_CINDEXINGMANAGER_GETPLUGINLOADSTATUSL_ENTRY=0x5b
 [TRACE]TRACE_NORMAL[0x86]_CBLACKLISTDB_ADDL=0x2
 [TRACE]TRACE_NORMAL[0x86]_CBLACKLISTDB_CONSTRUCTL=0x1
-[TRACE]TRACE_NORMAL[0x86]_CBLACKLISTDB_FINDFROMUNLOADLISTL=0x29
+[TRACE]TRACE_NORMAL[0x86]_CBLACKLISTDB_FINDFROMDONTLOADLISTL=0x2e
 [TRACE]TRACE_NORMAL[0x86]_CBLACKLISTDB_FINDL=0x9
 [TRACE]TRACE_NORMAL[0x86]_CBLACKLISTDB_FINDWITHVERSIONL=0x6
 [TRACE]TRACE_NORMAL[0x86]_CBLACKLISTDB_REMOVE=0x3
-[TRACE]TRACE_NORMAL[0x86]_CBLACKLISTDB_REMOVEFROMUNLOADLISTL=0x27
 [TRACE]TRACE_NORMAL[0x86]_CBLACKLISTDB_UPDATEL=0x8
 [TRACE]TRACE_NORMAL[0x86]_CBLACKLISTMGR_ADDL=0xb
-[TRACE]TRACE_NORMAL[0x86]_CBLACKLISTMGR_ADDTOUNLOADLISTL=0x2a
-[TRACE]TRACE_NORMAL[0x86]_CBLACKLISTMGR_FINDFROMUNLOADLISTL=0x2c
+[TRACE]TRACE_NORMAL[0x86]_CBLACKLISTMGR_ADDTODONTLOADLISTL=0x2f
+[TRACE]TRACE_NORMAL[0x86]_CBLACKLISTMGR_FINDINDONTLOADLISTL=0x30
 [TRACE]TRACE_NORMAL[0x86]_CBLACKLISTMGR_FINDL=0xd
 [TRACE]TRACE_NORMAL[0x86]_CBLACKLISTMGR_REMOVE=0xc
 [TRACE]TRACE_NORMAL[0x86]_CBLACKLISTMGR_REMOVEFROMUNLOADLISTL=0x2b
 [TRACE]TRACE_NORMAL[0x86]_CINDEXINGMANAGER_ADDHARVESTINGQUEUE=0x1d
 [TRACE]TRACE_NORMAL[0x86]_CINDEXINGMANAGER_HARVESTINGCOMPLETED=0x24
-[TRACE]TRACE_NORMAL[0x86]_CINDEXINGMANAGER_LOADPLUGINSL=0x1a
+[TRACE]TRACE_NORMAL[0x86]_CINDEXINGMANAGER_LOADHARVESTERPLUGINL=0x32
 [TRACE]TRACE_NORMAL[0x86]_CINDEXINGMANAGER_REMOVEHARVESTINGQUEUE=0x21
 [TRACE]TRACE_NORMAL[0x86]_CINDEXINGMANAGER_RUNL=0x10
 [TRACE]TRACE_NORMAL[0x86]_DUP1_CBLACKLISTDB_FINDL=0xa
 [TRACE]TRACE_NORMAL[0x86]_DUP1_CBLACKLISTDB_FINDWITHVERSIONL=0x7
 [TRACE]TRACE_NORMAL[0x86]_DUP1_CBLACKLISTDB_REMOVE=0x4
-[TRACE]TRACE_NORMAL[0x86]_DUP1_CBLACKLISTDB_REMOVEFROMUNLOADLISTL=0x28
 [TRACE]TRACE_NORMAL[0x86]_DUP1_CBLACKLISTMGR_FINDL=0xe
 [TRACE]TRACE_NORMAL[0x86]_DUP1_CINDEXINGMANAGER_ADDHARVESTINGQUEUE=0x1e
 [TRACE]TRACE_NORMAL[0x86]_DUP1_CINDEXINGMANAGER_HARVESTINGCOMPLETED=0x25
-[TRACE]TRACE_NORMAL[0x86]_DUP1_CINDEXINGMANAGER_LOADPLUGINSL=0x1b
+[TRACE]TRACE_NORMAL[0x86]_DUP1_CINDEXINGMANAGER_LOADHARVESTERPLUGINL=0x31
 [TRACE]TRACE_NORMAL[0x86]_DUP1_CINDEXINGMANAGER_REMOVEHARVESTINGQUEUE=0x22
 [TRACE]TRACE_NORMAL[0x86]_DUP1_CINDEXINGMANAGER_RUNL=0x11
 [TRACE]TRACE_NORMAL[0x86]_DUP2_CBLACKLISTDB_REMOVE=0x5
 [TRACE]TRACE_NORMAL[0x86]_DUP2_CBLACKLISTMGR_FINDL=0xf
 [TRACE]TRACE_NORMAL[0x86]_DUP2_CINDEXINGMANAGER_ADDHARVESTINGQUEUE=0x1f
 [TRACE]TRACE_NORMAL[0x86]_DUP2_CINDEXINGMANAGER_HARVESTINGCOMPLETED=0x26
-[TRACE]TRACE_NORMAL[0x86]_DUP2_CINDEXINGMANAGER_LOADPLUGINSL=0x1c
+[TRACE]TRACE_NORMAL[0x86]_DUP2_CINDEXINGMANAGER_LOADHARVESTERPLUGINL=0x33
 [TRACE]TRACE_NORMAL[0x86]_DUP2_CINDEXINGMANAGER_REMOVEHARVESTINGQUEUE=0x23
 [TRACE]TRACE_NORMAL[0x86]_DUP2_CINDEXINGMANAGER_RUNL=0x12
+[TRACE]TRACE_NORMAL[0x86]_DUP3_CBLACKLISTDB_REMOVEFROMDONTLOADLISTL=0x2d
 [TRACE]TRACE_NORMAL[0x86]_DUP3_CINDEXINGMANAGER_ADDHARVESTINGQUEUE=0x20
 [TRACE]TRACE_NORMAL[0x86]_DUP3_CINDEXINGMANAGER_RUNL=0x13
 [TRACE]TRACE_NORMAL[0x86]_DUP4_CINDEXINGMANAGER_RUNL=0x14
@@ -119,3 +123,25 @@
 [TRACE]TRACE_NORMAL[0x86]_DUP7_CINDEXINGMANAGER_RUNL=0x17
 [TRACE]TRACE_NORMAL[0x86]_DUP8_CINDEXINGMANAGER_RUNL=0x18
 [TRACE]TRACE_NORMAL[0x86]_DUP9_CINDEXINGMANAGER_RUNL=0x19
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_ADDTOUNLOADLISTL_ENTRY=0x3d
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_ADDTOUNLOADLISTL_EXIT=0x3e
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATECOLUMNSETLC_ENTRY=0xd
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATECOLUMNSETLC_EXIT=0xe
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATEUNLOADCOLUMNSETLC_ENTRY=0x3b
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_CREATEUNLOADCOLUMNSETLC_EXIT=0x3c
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_FINDFROMUNLOADLISTL_ENTRY=0x41
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_FINDFROMUNLOADLISTL_EXIT=0x42
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_REMOVEFROMUNLOADLISTL_ENTRY=0x3f
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CBLACKLISTDB_REMOVEFROMUNLOADLISTL_EXIT=0x40
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_ADDTOUNLOADLISTL_EXIT=0x44
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CBLACKLISTMGR_REMOVEFROMUNLOADLISTL_EXIT=0x46
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINDEXINGMANAGER_UPDATEUNLOADLISTL_ENTRY=0x49
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINDEXINGMANAGER_UPDATEUNLOADLISTL_EXIT=0x4a
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CBLACKLISTDB_FINDFROMUNLOADLISTL=0x29
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CBLACKLISTDB_REMOVEFROMUNLOADLISTL=0x27
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CBLACKLISTMGR_ADDTOUNLOADLISTL=0x2a
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CBLACKLISTMGR_FINDFROMUNLOADLISTL=0x2c
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CINDEXINGMANAGER_LOADPLUGINSL=0x1a
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CBLACKLISTDB_REMOVEFROMUNLOADLISTL=0x28
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CINDEXINGMANAGER_LOADPLUGINSL=0x1b
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP2_CINDEXINGMANAGER_LOADPLUGINSL=0x1c
--- a/qcpix/qcpixsearchclient.pro	Fri Jun 11 14:43:47 2010 +0300
+++ b/qcpix/qcpixsearchclient.pro	Wed Jun 23 19:26:19 2010 +0300
@@ -41,6 +41,8 @@
     VERSION = 1.0.0
     LIBS += -leuser -lcpixsearchclient
     
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    
     HEADERS +=  src/platform/s60/inc/qcpixdocumentprivate.h \
                 src/platform/s60/inc/qcpixdocumentfieldprivate.h \
                 src/platform/s60/inc/qcpixsearcherprivate.h \
--- a/qcpix/tsrc/qtcpixunittests/qtcpixunittests.pro	Fri Jun 11 14:43:47 2010 +0300
+++ b/qcpix/tsrc/qtcpixunittests/qtcpixunittests.pro	Wed Jun 23 19:26:19 2010 +0300
@@ -39,7 +39,9 @@
                                  "data/segments    \epoc32\winscw\c\private\2001f6f7\indexing\indexdb\root\contact\_0\segments" \
                                  "data/cpixreg.txt \epoc32\winscw\c\private\2001f6f7\cpixreg.txt" \
                                  "data/config.ini  \epoc32\winscw\c\system\data\config.ini"
-
+	
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+	
     TARGET.CAPABILITY = ALL -TCB -DRM
     TARGET.UID3 = 0xE76C2AE7
     LIBS += -lqcpixsearchclient
--- a/searchengine/cpix/cpix/inc/public/appclass-hierarchy.txt	Fri Jun 11 14:43:47 2010 +0300
+++ b/searchengine/cpix/cpix/inc/public/appclass-hierarchy.txt	Wed Jun 23 19:26:19 2010 +0300
@@ -32,7 +32,7 @@
     |
     +-- file
     |     |
-    |         |
+    |     |
     |     +-- content
     |            | [ Contents  ]     {EStoreYes | EIndexTokenized}   {ExcerptYes}
     |            | [ Name      ]     {EStoreYes | EIndexTokenized}   {ExcerptNo}
@@ -87,44 +87,47 @@
 	/* The order of fields in excerpt is as below. The order in this case
 	 * is the order of fields shown when you 'Edit' the contact.
 	 */
-    | [ GivenName           ]    {EStoreYes | EIndexTokenized}   {ExcerptNo}
-    | [ FamilyName          ]    {EStoreYes | EIndexTokenized}   {ExcerptNo}
-    | [ PhoneNumber         ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-	| [ EMail               ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-	| [ SIPID               ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-	| [ CompanyName         ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ JobTitle            ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ Note                ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
+    | [ GivenName           ]    {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptNo}
+    | [ FamilyName          ]    {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptNo}
+    | [ PhoneNumber         ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+	| [ EMail               ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+	| [ SIPID               ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+	| [ CompanyName         ]    {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptYes}
+    | [ JobTitle            ]    {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptYes}
+    | [ Note                ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
 	/* The following fields are not displayed when 'Edit'-ing the contact.
 	 * The order here is arbitrary.
 	 */
-    | [ Address             ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ SecondName          ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ Suffix              ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ URL                 ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ PostOffice          ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ ExtendedAddress     ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ Locality            ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ Region              ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ PostCode            ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ Country             ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ Spouse              ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ Children            ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ Class               ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ Prefix              ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ AdditionalName      ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ Fax                 ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ GivenNamePronunciation      ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ FamilyNamePronunciation     ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ CompanyNamePronunciation    ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
+    | [ Address             ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ SecondName          ]    {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptYes}
+    | [ Suffix              ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ URL                 ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ PostOffice          ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ ExtendedAddress     ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ Locality            ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ Region              ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ PostCode            ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ Country             ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ Spouse              ]    {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptYes}
+    | [ Children            ]    {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptYes}
+    | [ Class               ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ Prefix              ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ AdditionalName      ]    {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptYes}
+    | [ Fax                 ]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ Assistant  			]    {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptYes}
+    | [ Department		    ]    {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptYes}
+    | [ IMAddress    		]    {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ ServiceProvider     ]	 {EStoreYes | EIndexTokenized}   				{ExcerptYes}
+    | [ Birthday			]    {EStoreYes | EIndexTokenized}   				{ExcerptNo}
+    | [ Anniversary			]    {EStoreYes | EIndexTokenized}   				{ExcerptNo} 
     |
     |
     +-- calendar
     | [ Summary         ]    {EStoreYes | EIndexTokenized}   {ExcerptNo}
     | [ Description     ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
     | [ Location        ]    {EStoreYes | EIndexTokenized}   {ExcerptYes}
-    | [ StartTime       ] (YYYYMMDDHHSS) (TimeZone UTC)    {EStoreYes | EIndexUnTokenized}   {ExcerptNA}
-    | [ EndTime         ] (YYYYMMDDHHSS) (TimeZone UTC)    {EStoreYes | EIndexUnTokenized}   {ExcerptNA}
+    | [ StartTime       ] (YYYY MM DD HHSS) (TimeZone UTC)   {EStoreYes | EIndexUnTokenized}   {ExcerptNA}
+    | [ EndTime         ] (YYYY MM DD HHSS) (TimeZone UTC)   {EStoreYes | EIndexUnTokenized}   {ExcerptNA}
     | 
     |    
     +-- bookmark
@@ -139,7 +142,7 @@
     |
     |
     +-- notes
-    | [ Date       ]  (YYYYMMDDHHSS)    {EStoreYes | EIndexUnTokenized}   {ExcerptNA}
+    | [ Date       ]  (YYYY MM DD HHSS) {EStoreYes | EIndexUnTokenized}   {ExcerptNA}
     | [ Memo       ]                    {EStoreYes | EIndexTokenized}     {ExcerptNo}
 
 
--- a/searchengine/cpix/cpix/src/fileparser/fileparser.cpp	Fri Jun 11 14:43:47 2010 +0300
+++ b/searchengine/cpix/cpix/src/fileparser/fileparser.cpp	Wed Jun 23 19:26:19 2010 +0300
@@ -162,7 +162,8 @@
                                wFullName.c_str(),
                                cpix_STORE_YES
                              | cpix_INDEX_TOKENIZED
-                             | cpix_AGGREGATE_YES));
+                             | cpix_AGGREGATE_YES
+                             | cpix_FREE_TEXT));
 
         doc->add(newField.get());
         newField.release();
@@ -172,7 +173,8 @@
                                  wBaseName.c_str(),
                                  cpix_STORE_NO 
                                | cpix_INDEX_TOKENIZED 
-                               | cpix_AGGREGATE_YES));
+                               | cpix_AGGREGATE_YES
+                               | cpix_FREE_TEXT));
         doc->add(newField.get());
         newField.release();
 
@@ -180,7 +182,8 @@
                                  wExtension.c_str(),
                                  cpix_STORE_NO 
                                | cpix_INDEX_TOKENIZED
-                               | cpix_AGGREGATE_YES));
+                               | cpix_AGGREGATE_YES
+                               | cpix_FREE_TEXT));
         doc->add(newField.get());
         newField.release();
     }
--- a/searchsrv_plat/cpix_utility_api/inc/messageharvesterdefs.h	Fri Jun 11 14:43:47 2010 +0300
+++ b/searchsrv_plat/cpix_utility_api/inc/messageharvesterdefs.h	Wed Jun 23 19:26:19 2010 +0300
@@ -40,6 +40,7 @@
 #define SUBJECT_FIELD     "Subject"
 #define FOLDER_FIELD      "Folder"
 #define BODY_FIELD        "Body"
+#define ATTACHMENT_FIELD  "Attachment"
 #define LTO_FIELD          L"To"
 #define LCC_FIELD          L"Cc"
 #define LBCC_FIELD         L"Bcc"
@@ -47,5 +48,6 @@
 #define LSUBJECT_FIELD     L"Subject"
 #define LFOLDER_FIELD      L"Folder"
 #define LBODY_FIELD        L"Body"
+#define LATTACHMENT_FIELD  L"Attachment"
 
 #endif /*__MESSAGEHARVESTERDEFS_H__*/