plugins/contacts/symbian/contactsmodel/cntsrv/src/ccntfilemanagermsghandler.cpp
changeset 5 603d3f8b6302
parent 0 876b1a06bc25
equal deleted inserted replaced
3:e4ebb16b39ea 5:603d3f8b6302
    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"
       
    41 
    40 
    42 const TInt KCntFileManagerIpcCodes[] =
    41 const TInt KCntFileManagerIpcCodes[] =
    43 	{
    42 	{
    44 	ECntOpenDataBase,
    43 	ECntOpenDataBase,
    45 	ECntCreateDatabase,
    44 	ECntCreateDatabase,
    79 // ----------------------------------------------------------------------------
    78 // ----------------------------------------------------------------------------
    80 // CntPredictiveSearch::ConstructL
    79 // CntPredictiveSearch::ConstructL
    81 // ----------------------------------------------------------------------------
    80 // ----------------------------------------------------------------------------
    82 void CCntFileManagerMsgHandler::ConstructL()
    81 void CCntFileManagerMsgHandler::ConstructL()
    83     {
    82     {
    84     predictiveSearch = CntPredictiveSearch::NewL();
       
    85     }
    83     }
    86 
    84 
    87 CCntFileManagerMsgHandler::~CCntFileManagerMsgHandler()
    85 CCntFileManagerMsgHandler::~CCntFileManagerMsgHandler()
    88 	{
    86     {
    89     delete predictiveSearch;
    87     }
    90 	}
       
    91 
    88 
    92 /**
    89 /**
    93 Delegates the incoming op code to a message handling method.
    90 Delegates the incoming op code to a message handling method.
    94 
    91 
    95 First checks if this class services the op code, it then uses the lookup table and finds 
    92 First checks if this class services the op code, it then uses the lookup table and finds 
   400 	}
   397 	}
   401 	
   398 	
   402 void CCntFileManagerMsgHandler::FetchPredictiveSearchResultsL(const RMessage2& aMessage)
   399 void CCntFileManagerMsgHandler::FetchPredictiveSearchResultsL(const RMessage2& aMessage)
   403     {
   400     {
   404     const TInt KSqlQueryMaxLen = aMessage.GetDesLengthL(1); 
   401     const TInt KSqlQueryMaxLen = aMessage.GetDesLengthL(1); 
   405     HBufC* searchQuery = HBufC::NewLC(KSqlQueryMaxLen);
   402     HBufC* searchPattern = HBufC::NewLC(KSqlQueryMaxLen);
   406     TPtr searchQueryPtr(searchQuery->Des());
   403     TPtr searchPatternPtr(searchPattern->Des());
   407     aMessage.ReadL(1, searchQueryPtr);
   404     aMessage.ReadL(1, searchPatternPtr);
   408     
   405     
   409     CheckForManagerL();
   406     CheckForManagerL();
   410     HBufC* newPredictiveQuery = predictiveSearch->CreateSQLQueryL(*searchQuery, 1 );
   407     CBufSeg* buffer = iManager->GetPersistenceLayer().ContactProperties().DetailsListPredictiveL(searchPattern->Des());
   411     CleanupStack::PushL(newPredictiveQuery);
       
   412     CBufSeg* buffer = iManager->GetPersistenceLayer().ContactProperties().DetailsListL(newPredictiveQuery->Des());
       
   413     if (aMessage.GetDesMaxLength(0) >= buffer->Size())
   408     if (aMessage.GetDesMaxLength(0) >= buffer->Size())
   414         {
   409         {
   415         TInt offset = 0;
   410         TInt offset = 0;
   416         while (offset < buffer->Size())
   411         while (offset < buffer->Size())
   417             {
   412             {
   425         {
   420         {
   426         aMessage.Complete(buffer->Size());
   421         aMessage.Complete(buffer->Size());
   427         }
   422         }
   428 
   423 
   429     delete buffer;
   424     delete buffer;
   430     CleanupStack::PopAndDestroy(); //searchQuery*/
   425     CleanupStack::PopAndDestroy( searchPattern ); 
   431     CleanupStack::PopAndDestroy(); //newPredictiveQuery
       
   432     }
   426     }
       
   427 
   433 void CCntFileManagerMsgHandler::FetchSearchResultsL(const RMessage2& aMessage)
   428 void CCntFileManagerMsgHandler::FetchSearchResultsL(const RMessage2& aMessage)
   434     {
   429     {
   435     const TInt KSqlQueryMaxLen = aMessage.GetDesLengthL(1); 
   430     const TInt KSqlQueryMaxLen = aMessage.GetDesLengthL(1); 
   436     HBufC* searchQuery = HBufC::NewLC(KSqlQueryMaxLen);
   431     HBufC* searchQuery = HBufC::NewLC(KSqlQueryMaxLen);
   437     TPtr searchQueryPtr(searchQuery->Des());
   432     TPtr searchQueryPtr(searchQuery->Des());