244 // Read search query from the message |
249 // Read search query from the message |
245 CPsQuery* psQuery = ReadQueryLC( 0, aMessage ); |
250 CPsQuery* psQuery = ReadQueryLC( 0, aMessage ); |
246 |
251 |
247 // ------------------------------------------------------------- |
252 // ------------------------------------------------------------- |
248 |
253 |
249 RPointerArray<CPsClientData> searchResults; |
254 RPointerArray<CPsClientData> searchResults; |
250 RPointerArray<CPsPattern> searchSeqs; |
255 RPointerArray<CPsPattern> searchSeqs; |
251 |
256 |
252 iServer->PluginInterface()->PerformSearchL(*iSettings, |
257 iServer->PluginInterface()->PerformSearchL(*iSettings, |
253 *psQuery, |
258 *psQuery, |
254 searchResults, |
259 searchResults, |
255 searchSeqs); |
260 searchSeqs); |
447 |
449 |
448 CleanupStack::PopAndDestroy(2, buf); // buf, stream |
450 CleanupStack::PopAndDestroy(2, buf); // buf, stream |
449 |
451 |
450 PRINT ( _L("End CPcsSession::SearchInputL") ); |
452 PRINT ( _L("End CPcsSession::SearchInputL") ); |
451 __LATENCY_MARKEND ( _L("CPcsSession::SearchInputL") ); |
453 __LATENCY_MARKEND ( _L("CPcsSession::SearchInputL") ); |
452 |
|
453 } |
454 } |
454 |
455 |
455 // ---------------------------------------------------------------------------- |
456 // ---------------------------------------------------------------------------- |
456 // CPcsSession::SearchMatchStringL |
457 // CPcsSession::SearchMatchStringL |
457 // |
458 // |
485 searchDataStream.PushL(); |
486 searchDataStream.PushL(); |
486 |
487 |
487 // Data to be searched |
488 // Data to be searched |
488 // Read data size |
489 // Read data size |
489 TUint16 szData = searchDataStream.ReadUint16L(); |
490 TUint16 szData = searchDataStream.ReadUint16L(); |
490 HBufC* data = HBufC::NewL(searchDataStream, szData); |
491 HBufC* data = HBufC::NewL(searchDataStream, szData); |
491 |
492 |
492 // searchQueryStream, searchQuery |
493 // searchQueryStream, searchQuery |
493 CleanupStack::PopAndDestroy(2, searchData); |
494 CleanupStack::PopAndDestroy(2, searchData); |
494 CleanupStack::PushL( data ); |
495 CleanupStack::PushL( data ); |
495 |
496 |
496 // ------------------------------------------------------------- |
497 // ------------------------------------------------------------- |
497 |
498 |
498 iServer->PluginInterface()->SearchMatchStringL(*psQuery, |
499 iServer->PluginInterface()->SearchMatchStringL( *psQuery, *data, ptr ); |
499 *data, |
|
500 ptr); |
|
501 |
|
502 |
500 |
503 // Delete the search query and search data |
501 // Delete the search query and search data |
504 CleanupStack::PopAndDestroy( data ); |
502 CleanupStack::PopAndDestroy( data ); |
505 CleanupStack::PopAndDestroy( psQuery ); |
503 CleanupStack::PopAndDestroy( psQuery ); |
506 |
504 |
508 aMessage.Complete(KErrNone); |
506 aMessage.Complete(KErrNone); |
509 CleanupStack::PopAndDestroy(des); |
507 CleanupStack::PopAndDestroy(des); |
510 |
508 |
511 PRINT ( _L("End CPcsSession::SearchMatchStringL") ); |
509 PRINT ( _L("End CPcsSession::SearchMatchStringL") ); |
512 __LATENCY_MARKEND ( _L("CPcsSession::SearchMatchStringL") ); |
510 __LATENCY_MARKEND ( _L("CPcsSession::SearchMatchStringL") ); |
513 |
|
514 } |
511 } |
515 |
512 |
516 // ---------------------------------------------------------------------------- |
513 // ---------------------------------------------------------------------------- |
517 // CPcsSession::IsLanguageSupportedL |
514 // CPcsSession::IsLanguageSupportedL |
518 // |
515 // |
760 |
755 |
761 PRINT ( _L("End CPcsSession::ChangeSortOrderL") ); |
756 PRINT ( _L("End CPcsSession::ChangeSortOrderL") ); |
762 } |
757 } |
763 |
758 |
764 // ---------------------------------------------------------------------------- |
759 // ---------------------------------------------------------------------------- |
|
760 // CPcsSession::GetAdaptiveGridL |
|
761 // |
|
762 // ---------------------------------------------------------------------------- |
|
763 void CPcsSession::GetAdaptiveGridL(const RMessage2& aMessage) |
|
764 { |
|
765 PRINT ( _L("Enter CPcsSession::GetAdaptiveGridL") ); |
|
766 __LATENCY_MARK ( _L("CPcsSession::GetAdaptiveGridL") ); |
|
767 |
|
768 // Create the result output buffer |
|
769 HBufC* outBuf = HBufC::NewLC( KBufferMaxLen ); |
|
770 TPtr outBufPtr( outBuf->Des() ); |
|
771 |
|
772 // ------- Read the Data Stores from the message ------- |
|
773 |
|
774 // Read URIs from the message |
|
775 HBufC8* buffer = HBufC8::NewLC(KBufferMaxLen); |
|
776 |
|
777 TPtr8 bufferPtr(buffer->Des()); |
|
778 aMessage.ReadL(0, bufferPtr); |
|
779 |
|
780 // Stream over the buffer |
|
781 RDesReadStream stream(bufferPtr); |
|
782 stream.PushL(); |
|
783 |
|
784 // Number of URIs |
|
785 TUint16 uriCount = stream.ReadUint16L(); |
|
786 |
|
787 CDesCArrayFlat* dataStores = NULL; |
|
788 dataStores = new (ELeave) CDesCArrayFlat( uriCount ); |
|
789 CleanupStack::PushL( dataStores ); |
|
790 |
|
791 for (TUint i = 0; i < uriCount; i++ ) |
|
792 { |
|
793 // Size of URI |
|
794 TUint16 uriSize = stream.ReadUint16L(); |
|
795 |
|
796 // URI |
|
797 HBufC* uri = HBufC::NewLC( stream, uriSize ); |
|
798 dataStores->AppendL( *uri ); |
|
799 CleanupStack::PopAndDestroy( uri ); |
|
800 } |
|
801 |
|
802 // ----------------------------------------------------- |
|
803 |
|
804 // Read the Company Name from the message |
|
805 TBool companyName = aMessage.Int1(); |
|
806 |
|
807 // Get the Adaptive Grid |
|
808 iServer->PluginInterface()->GetAdaptiveGridL( *dataStores, companyName, outBufPtr ); |
|
809 |
|
810 // Write the Adaptive Grid to the message |
|
811 aMessage.Write( 2, *outBuf ); |
|
812 aMessage.Complete( KErrNone ); |
|
813 |
|
814 // Cleanup |
|
815 CleanupStack::PopAndDestroy( dataStores ); |
|
816 CleanupStack::PopAndDestroy( &stream ); |
|
817 CleanupStack::PopAndDestroy( buffer ); |
|
818 CleanupStack::PopAndDestroy( outBuf ); |
|
819 |
|
820 PRINT ( _L("End CPcsSession::GetAdaptiveGridL") ); |
|
821 __LATENCY_MARKEND ( _L("CPcsSession::GetAdaptiveGridL") ); |
|
822 } |
|
823 |
|
824 // ---------------------------------------------------------------------------- |
765 // CPcsSession::ShutdownServerL |
825 // CPcsSession::ShutdownServerL |
766 // |
826 // |
767 // ---------------------------------------------------------------------------- |
827 // ---------------------------------------------------------------------------- |
768 void CPcsSession::ShutdownServerL(const RMessage2& aMessage) |
828 void CPcsSession::ShutdownServerL(const RMessage2& aMessage) |
769 { |
829 { |
779 // CPcsSession::ReadQueryLC |
839 // CPcsSession::ReadQueryLC |
780 // |
840 // |
781 // ---------------------------------------------------------------------------- |
841 // ---------------------------------------------------------------------------- |
782 CPsQuery* CPcsSession::ReadQueryLC( TInt aParam, const RMessage2& aMessage ) |
842 CPsQuery* CPcsSession::ReadQueryLC( TInt aParam, const RMessage2& aMessage ) |
783 { |
843 { |
|
844 PRINT( _L("Enter CPcsSession::ReadQueryLC") ); |
784 TInt size = aMessage.GetDesLength( aParam ); |
845 TInt size = aMessage.GetDesLength( aParam ); |
|
846 |
|
847 if(size < 0) |
|
848 { |
|
849 PRINT ( _L("DesLength <0, Leave from CPcsSession::ReadQueryLC")); |
|
850 User::Leave(KErrArgument); |
|
851 } |
|
852 |
785 HBufC8* tempBuf = HBufC8::NewLC( size ); |
853 HBufC8* tempBuf = HBufC8::NewLC( size ); |
786 |
854 |
787 TPtr8 ptr( tempBuf->Des() ); |
855 TPtr8 ptr( tempBuf->Des() ); |
788 aMessage.ReadL( aParam, ptr ); |
856 aMessage.ReadL( aParam, ptr ); |
789 |
857 |