62 |
62 |
63 /** |
63 /** |
64 * Filter subset results for multi query mode. |
64 * Filter subset results for multi query mode. |
65 */ |
65 */ |
66 void FilterResultsMultiL(CPcsAlgorithm2FilterHelper* aAlgorithmFilterHelper, |
66 void FilterResultsMultiL(CPcsAlgorithm2FilterHelper* aAlgorithmFilterHelper, |
67 RPointerArray<CPcsPoolElement>& searchSet, |
67 RPointerArray<CPcsPoolElement>& aSearchSet, |
68 RPointerArray<CPsQuery>& searchQuery, TUint8 aFilteredDataMatch, |
68 RPointerArray<CPsQuery>& aSearchQuery, |
69 TBool isGroupSearch, RArray<TInt>& aContactsInGroup, |
69 TUint8 aFilteredDataMatch, |
70 TInt keyboardMode); |
70 TBool aIsGroupSearch, |
71 |
71 const RArray<TInt>& aContactsInGroup); |
72 /** |
|
73 * Convert the search query to a string. |
|
74 * If the mode is ITU-T, character is converted to numeric. |
|
75 * If the mode is Qwerty, character is retained as is. |
|
76 */ |
|
77 void ExtractQueryL(CPsQuery& aPsQuery, TDes& aOutput); |
|
78 |
|
79 /** |
|
80 * Convert the input search query to a string. |
|
81 * Mode is referred in the CPsQuery. |
|
82 * If the mode is ITU-T, character is converted to numeric. |
|
83 * If the mode is Qwerty, character is retained as is. |
|
84 */ |
|
85 void ExtractQueryL(TDesC& aInput, CPsQuery& aPsQuery, TDes& aOutput); |
|
86 /** |
|
87 * Converts the input data to the key board mode specified by the query. |
|
88 * Mode is referred in the CPsQuery. |
|
89 * If the mode is ITU-T, data is converted to numeric. |
|
90 * If the mode is Qwerty, data is retained as is. |
|
91 */ |
|
92 void ConvertdDataToKeyBoardModeL(CPsQuery* aQuery, TPtrC aInputData, |
|
93 TBuf<KPsQueryMaxLen>& aOutputData); |
|
94 |
72 |
95 public: |
73 public: |
96 |
74 |
97 /** |
75 /** |
98 * Search Function for multi query |
76 * Search Function for multi query |
99 * Initials search feature |
77 * Initials search feature |
100 */ |
78 */ |
101 void SearchMultiL(const CPsSettings& aSettings, RPointerArray<CPsQuery>& aQuery, |
79 void SearchMultiL(const CPsSettings& aSettings, |
102 TBool isGroupSearch, RArray<TInt>& aContactsInGroup, |
80 RPointerArray<CPsQuery>& aQuery, |
103 RPointerArray<CPsData>& searchResults, |
81 TBool aIsGroupSearch, |
104 RPointerArray<CPsPattern>& searchSeqs, TInt keyboardMode); |
82 const RArray<TInt>& aContactsInGroup, |
|
83 RPointerArray<CPsData>& aSearchResults, |
|
84 RPointerArray<CPsPattern>& aSearchSeqs); |
105 |
85 |
106 /** |
86 /** |
107 * Funtion to Search matching sequences for multi query |
87 * Funtion to Search matching sequences for multi query |
108 */ |
88 */ |
109 void SearchMatchSeqMultiL(RPointerArray<CPsQuery>& aPsQuery, |
89 void SearchMatchSeqMultiL(RPointerArray<CPsQuery>& aPsQuery, |
110 TDesC& aData, RPointerArray<TDesC>& aMatchSet, |
90 const TDesC& aData, |
|
91 RPointerArray<TDesC>& aMatchSet, |
111 RArray<TPsMatchLocation>& aMatchLocation); |
92 RArray<TPsMatchLocation>& aMatchLocation); |
112 |
93 |
113 private: |
94 private: |
114 |
95 |
115 /** |
|
116 * Constructs a bit pattern using the required/supported data fields |
|
117 * For example, 6, 4 and 27 are supported fields <-- 00000111 |
|
118 * 6 and 4 are required fields <-- 00000011 |
|
119 * Bit pattern returned is 00000011. |
|
120 */ |
|
121 TUint8 FilterDataFieldsL(RArray<TInt>& aRequiredDataFields, |
|
122 RArray<TInt>& aSupportedDataFields); |
|
123 /** |
96 /** |
124 * Set the bits corresponding to word matches |
97 * Set the bits corresponding to word matches |
125 * |
98 * |
126 * @param aIndex Index of data element |
99 * @param aIndex Index of data element |
127 * @param aPosition Word matched for predictive search |
100 * @param aPosition Word matched for predictive search |