phonebookengines/contactsmodel/cntsrv/src/CCntFileManagerMsgHandler.cpp
changeset 46 efe85016a067
parent 31 2a11b5b00470
equal deleted inserted replaced
40:b46a585f6909 46:efe85016a067
    35 #include "ccntpackager.h"
    35 #include "ccntpackager.h"
    36 #include "ccntipccodes.h"
    36 #include "ccntipccodes.h"
    37 #include <cntviewstore.h>
    37 #include <cntviewstore.h>
    38 #include "cntviewprivate.h"
    38 #include "cntviewprivate.h"
    39 #include "cviewsubsessions.h"
    39 #include "cviewsubsessions.h"
       
    40 #include "cntpredictivesearch.h"
    40 
    41 
    41 const TInt KCntFileManagerIpcCodes[] =
    42 const TInt KCntFileManagerIpcCodes[] =
    42 	{
    43 	{
    43 	ECntOpenDataBase,
    44 	ECntOpenDataBase,
    44 	ECntCreateDatabase,
    45 	ECntCreateDatabase,
    55 	ECntListDatabases,
    56 	ECntListDatabases,
    56 	ECntGetDatabaseReady,
    57 	ECntGetDatabaseReady,
    57 	ECntFetchTemplateIds,
    58 	ECntFetchTemplateIds,
    58 	ECntFetchGroupIdLists,
    59 	ECntFetchGroupIdLists,
    59 	ECntSearchResultList,
    60 	ECntSearchResultList,
       
    61 	ECntPredictiveSearchList,
    60 	ECntFilesSize,
    62 	ECntFilesSize,
    61 	ECntGetDefinitionsForExistingView
    63 	ECntGetDefinitionsForExistingView
    62 	};
    64 	};
    63 
    65 
    64 CCntFileManagerMsgHandler* CCntFileManagerMsgHandler::NewLC(CCntSession& aSession)
    66 CCntFileManagerMsgHandler* CCntFileManagerMsgHandler::NewLC(CCntSession& aSession)
    71 
    73 
    72 CCntFileManagerMsgHandler::CCntFileManagerMsgHandler(CCntSession& aSession)
    74 CCntFileManagerMsgHandler::CCntFileManagerMsgHandler(CCntSession& aSession)
    73 :CCntMsgHandler(aSession)
    75 :CCntMsgHandler(aSession)
    74 	{		
    76 	{		
    75 	}
    77 	}
    76 	
    78 
       
    79 // ----------------------------------------------------------------------------
       
    80 // CntPredictiveSearch::ConstructL
       
    81 // ----------------------------------------------------------------------------
       
    82 void CCntFileManagerMsgHandler::ConstructL()
       
    83     {
       
    84     predictiveSearch = CntPredictiveSearch::NewL();
       
    85     }
       
    86 
    77 CCntFileManagerMsgHandler::~CCntFileManagerMsgHandler()
    87 CCntFileManagerMsgHandler::~CCntFileManagerMsgHandler()
    78 	{
    88 	{
       
    89     delete predictiveSearch;
    79 	}
    90 	}
    80 
    91 
    81 /**
    92 /**
    82 Delegates the incoming op code to a message handling method.
    93 Delegates the incoming op code to a message handling method.
    83 
    94 
   386 		{ 
   397 		{ 
   387 		aMessage.Complete(length);	
   398 		aMessage.Complete(length);	
   388 		}
   399 		}
   389 	}
   400 	}
   390 	
   401 	
   391 
   402 void CCntFileManagerMsgHandler::FetchPredictiveSearchResultsL(const RMessage2& aMessage)
       
   403     {
       
   404     const TInt KSqlQueryMaxLen = aMessage.GetDesLengthL(1); 
       
   405     HBufC* searchQuery = HBufC::NewLC(KSqlQueryMaxLen);
       
   406     TPtr searchQueryPtr(searchQuery->Des());
       
   407     aMessage.ReadL(1, searchQueryPtr);
       
   408     
       
   409     CheckForManagerL();
       
   410     HBufC* newPredictiveQuery = predictiveSearch->CreateSQLQueryL(*searchQuery, 1 );
       
   411     CleanupStack::PushL(newPredictiveQuery);
       
   412     CBufSeg* buffer = iManager->GetPersistenceLayer().ContactProperties().DetailsListL(newPredictiveQuery->Des());
       
   413     if (aMessage.GetDesMaxLength(0) >= buffer->Size())
       
   414         {
       
   415         TInt offset = 0;
       
   416         while (offset < buffer->Size())
       
   417             {
       
   418             TPtr8 ptr = buffer->Ptr(offset);
       
   419             aMessage.WriteL(0, ptr, offset);
       
   420             offset += ptr.Size();
       
   421             }
       
   422         aMessage.Complete(KErrNone);
       
   423         }
       
   424     else
       
   425         {
       
   426         aMessage.Complete(buffer->Size());
       
   427         }
       
   428 
       
   429     delete buffer;
       
   430     CleanupStack::PopAndDestroy(); //searchQuery*/
       
   431     CleanupStack::PopAndDestroy(); //newPredictiveQuery
       
   432     }
   392 void CCntFileManagerMsgHandler::FetchSearchResultsL(const RMessage2& aMessage)
   433 void CCntFileManagerMsgHandler::FetchSearchResultsL(const RMessage2& aMessage)
   393     {
   434     {
   394     const TInt KSqlQueryMaxLen = aMessage.GetDesLengthL(1); 
   435     const TInt KSqlQueryMaxLen = aMessage.GetDesLengthL(1); 
   395     HBufC* searchQuery = HBufC::NewLC(KSqlQueryMaxLen);
   436     HBufC* searchQuery = HBufC::NewLC(KSqlQueryMaxLen);
   396     TPtr searchQueryPtr(searchQuery->Des());
   437     TPtr searchQueryPtr(searchQuery->Des());