--- a/searcher/searchclient/src/ccpixsearcher.cpp Fri Jun 11 14:43:47 2010 +0300
+++ b/searcher/searchclient/src/ccpixsearcher.cpp Mon Jun 28 10:34:53 2010 +0530
@@ -157,6 +157,26 @@
iSubSession.SetAnalyzer( aAnalyzer, iStatus );
SetActive();
}
+
+ EXPORT_C void CCPixSearcher::SetQueryParserL( TQueryParser aQueryParser )
+ {
+ if ( !iIsDatabaseOpen ) User::Leave(KErrNotReady);
+ if ( IsActive() ) User::Leave(KErrInUse);
+
+ iSubSession.SetQueryParserL( aQueryParser );
+ }
+
+EXPORT_C void CCPixSearcher::SetQueryParserL( MCPixSetQueryParserRequestObserver& aObserver, TQueryParser aQueryParser )
+ {
+ if ( !iIsDatabaseOpen ) User::Leave(KErrNotReady);
+ if ( IsActive() ) User::Leave(KErrInUse);
+
+ iObserver.iSetQueryParser = &aObserver;
+ iState = EStateSetQueryParser;
+ iSubSession.SetQueryParser( aQueryParser, iStatus );
+ SetActive();
+ }
+
// CCPixSearcher::FormQueryString()
// Suport method for SearchL-methods
@@ -288,6 +308,12 @@
}
break;
+ case EStateSetQueryParser:
+ if ( observer.iSetQueryParser ) {
+ observer.iSetQueryParser->HandleSetQueryParserResultL( iStatus.Int() );
+ }
+ break;
+
case EStateSearch:
delete iQueryString; iQueryString = NULL; // cleanup