contacts_plat/predictivesearch_client_api/inc/CPsRequestHandler.h
branchRCL_3
changeset 12 4ae315f230bc
parent 0 e686773b3f54
child 13 a6539d1e8e43
equal deleted inserted replaced
11:2828b4d142c0 12:4ae315f230bc
    25 // SYSTEM INCLUDES
    25 // SYSTEM INCLUDES
    26 #include <e32base.h>
    26 #include <e32base.h>
    27 #include <e32svr.h>
    27 #include <e32svr.h>
    28 #include <s32mem.h>
    28 #include <s32mem.h>
    29 #include <e32property.h>
    29 #include <e32property.h>
    30 #include <mvpbkContactLink.h>
    30 #include <MVPbkContactLink.h>
    31 #include <CVPbkContactManager.h>
    31 #include <CVPbkContactManager.h>
    32 #include <CVPbkContactStoreUriArray.h>
    32 #include <CVPbkContactStoreUriArray.h>
    33 #include <tvpbkcontactstoreuriptr.h>
    33 #include <TVPbkContactStoreUriPtr.h>
    34 #include <MVPbkContactStoreList.h>
    34 #include <MVPbkContactStoreList.h>
    35 #include <MVPbkContactStore.h>
    35 #include <MVPbkContactStore.h>
    36 #include <CVPbkContactIdConverter.h>
    36 #include <CVPbkContactIdConverter.h>
    37 #include <vpbkcontactstoreuris.h>
    37 #include <VPbkContactStoreUris.h>
    38 #include <badesca.H>
    38 #include <badesca.h>
    39 
    39 
    40 // USER INCLUDES
    40 // USER INCLUDES
    41 #include <CPcsDefs.h>
    41 #include <CPcsDefs.h>
    42 #include <CPsClientData.h>
    42 #include <CPsClientData.h>
    43 #include <CPsQuery.h>
    43 #include <CPsQuery.h>
    46 #include <RPsSession.h>
    46 #include <RPsSession.h>
    47 
    47 
    48 // FORWARD DECLARATIONS
    48 // FORWARD DECLARATIONS
    49 class MPsResultsObserver;
    49 class MPsResultsObserver;
    50 class CPsPropertyHandler;
    50 class CPsPropertyHandler;
       
    51 class CPsUpdateHandler;
    51 
    52 
    52 
    53 
    53 // CLASS DECLARATION
    54 // CLASS DECLARATION
    54 /**
    55 /**
    55 * CPSRequestHandler
    56 * CPSRequestHandler
   155 		* @param aContactManager	Contact manager instance
   156 		* @param aContactManager	Contact manager instance
   156 		*/
   157 		*/
   157 		IMPORT_C void SearchL(const CPsQuery& aSearchQuery, 
   158 		IMPORT_C void SearchL(const CPsQuery& aSearchQuery, 
   158 							  RPointerArray<CPsClientData>& aMarkedContacts,
   159 							  RPointerArray<CPsClientData>& aMarkedContacts,
   159 							  CVPbkContactManager* aContactManager);
   160 							  CVPbkContactManager* aContactManager);
   160 							  
   161 		
   161         /**
   162         /**
   162         * CancelSearch.
   163         * CancelSearch.
   163         * Cancels ongoing search.
   164         * Cancels ongoing search.
   164         */        							  
   165         */
   165 		IMPORT_C void CancelSearch();
   166 		IMPORT_C void CancelSearch();
   166 							  		    
   167 		
   167 		/**
   168 		/**
   168 		* LookupL. 
   169 		* LookupL. 
   169 		* Sends a request to the predictive search server.
   170 		* Sends a request to the predictive search server.
   170 		* Does a predictive search in aSearchData for aSearchQuery and return
   171 		* Does a predictive search in aSearchData for aSearchQuery and return
   171 		* the matches.
   172 		* the matches.
   179 		IMPORT_C void LookupL(const CPsQuery& aSearchQuery,
   180 		IMPORT_C void LookupL(const CPsQuery& aSearchQuery,
   180                               const TDesC& aSearchData,
   181                               const TDesC& aSearchData,
   181                               CDesCArray& aMatchSet,
   182                               CDesCArray& aMatchSet,
   182                               RArray<TPsMatchLocation>& aMatchLocation);
   183                               RArray<TPsMatchLocation>& aMatchLocation);
   183 
   184 
   184     /**
   185         /**
   185     * LookupMatchL. 
   186         * LookupMatchL. 
   186     * Sends a request to the predictive search server.
   187         * Sends a request to the predictive search server.
   187     * Does a predictive search in aSearchData for aSearchQuery and return
   188         * Does a predictive search in aSearchData for aSearchQuery and return
   188     * the match string in aMatch.
   189         * the match string in aMatch.
   189     * If there is no full match aMatch will be empty (Length()==0)
   190         * If there is no full match aMatch will be empty (Length()==0)
   190     * This is a synchronous request.
   191         * This is a synchronous request.
   191     * 
   192         * 
   192     * @param aSearchQuery The input search query.(Length of aSearchQuery <= KPsQueryMaxLen)
   193         * @param aSearchQuery The input search query.(Length of aSearchQuery <= KPsQueryMaxLen)
   193     * @param aSearchData  The input data to be searched.
   194         * @param aSearchData  The input data to be searched.
   194     * @param aMatch       The matched result
   195         * @param aMatch       The matched result
   195     */
   196         */
   196     IMPORT_C void LookupMatchL(const CPsQuery& aSearchQuery,
   197         IMPORT_C void LookupMatchL(const CPsQuery& aSearchQuery,
   197                           const TDesC& aSearchData,
   198                                    const TDesC& aSearchData,
   198                           TDes& aMatch );		
   199                                    TDes& aMatch);
   199 		
   200 		
   200 		/**
   201 		/**
   201 		* IsLanguageSupportedL.
   202 		* IsLanguageSupportedL.
   202 		* Checks if the language variant is supported by 
   203 		* Checks if the language variant is supported by 
   203 		* the predictive search engine.
   204 		* the predictive search engine.
   289 		void DoCancel();
   290 		void DoCancel();
   290 
   291 
   291 	public:
   292 	public:
   292 	
   293 	
   293 		/**
   294 		/**
   294 		* CPsPropertyHandler is internal class to make it access
   295 		* Notify observers about the cahcing status
   295 		* to CPsRequestHandler class
   296 		*/
   296 		*/
   297 		void NotifyCachingStatus( TCachingStatus aStatus, TInt aError );
   297     	friend class CPsPropertyHandler;
       
   298     	
   298     	
   299 	private: // Constructors and destructors
   299 	private: // Constructors and destructors
   300 
   300 
   301 		/**
   301 		/**
   302 		* CPSRequestHandler.
   302 		* CPSRequestHandler.
   321 		    
   321 		    
   322 		/**
   322 		/**
   323 		* HandleBufferOverFlowL.
   323 		* HandleBufferOverFlowL.
   324 		* Handles internal buffer overflow event.
   324 		* Handles internal buffer overflow event.
   325 		*/
   325 		*/
   326 		void HandleBufferOverFlowL();    
   326 		void HandleBufferOverFlowL();
   327 
   327 
   328 		/**
   328 		/**
   329 		* HandleErrorL.
   329 		* HandleErrorL.
   330 		* Handles error events.
   330 		* Handles error events.
   331 		*/
   331 		*/
   332 		void HandleErrorL(TInt aErrorCode);   
   332 		void HandleErrorL(TInt aErrorCode);
   333 		
   333 		
   334 		/**
   334 		/**
   335 		* AddMarkedContacts
   335 		* AddMarkedContacts
   336 		* Filters the bookmark results and adds them to final search result set
   336 		* Filters the bookmark results and adds them to final search result set
   337 		*/
   337 		*/
   338 		TInt AddMarkedContactsL(RPointerArray<CPsClientData>& searchResults);  
   338 		TInt AddMarkedContactsL(RPointerArray<CPsClientData>& searchResults);
   339 
   339 
   340 		/**
   340 		/**
   341         * RunSearchFromBufferL
   341         * RunSearchFromBufferL
   342         * Runs search if search query buffer ( iPendingSearchQueryBuffer ) is not empty
   342         * Runs search if search query buffer ( iPendingSearchQueryBuffer ) is not empty
   343         */
   343         */
   382 		
   382 		
   383         /**
   383         /**
   384         * iPropertyHandler, the handler to property which is asynchronously monitored
   384         * iPropertyHandler, the handler to property which is asynchronously monitored
   385         */
   385         */
   386         CPsPropertyHandler* iPropertyHandler;
   386         CPsPropertyHandler* iPropertyHandler;
       
   387         
       
   388         /**
       
   389         * iContactAddedHandler, handler for reacting to contact being added to cache
       
   390         */
       
   391         CPsUpdateHandler* iContactAddedHandler;
       
   392 
       
   393         /**
       
   394         * iContactRemovedHandler, handler for reacting to contact being removed from cache
       
   395         */
       
   396         CPsUpdateHandler* iContactRemovedHandler;
       
   397         
       
   398         /**
       
   399         * iContactModifiedHandler, handler for reacting to contact being modified in cache
       
   400         */
       
   401         CPsUpdateHandler* iContactModifiedHandler;
   387         
   402         
   388         /**
   403         /**
   389         * Not Owned
   404         * Not Owned
   390         * iBookMarkContactManager, contact manager reference received from the client
   405         * iBookMarkContactManager, contact manager reference received from the client
   391         * To be used only for handling marked contacts.
   406         * To be used only for handling marked contacts.