535 TInt count = stream.ReadInt32L(); |
535 TInt count = stream.ReadInt32L(); |
536 |
536 |
537 PRINT1 ( _L("CPSRequestHandler::HandleSearchResultsL: Number of search results received = %d"), count ); |
537 PRINT1 ( _L("CPSRequestHandler::HandleSearchResultsL: Number of search results received = %d"), count ); |
538 |
538 |
539 // Internalize each data element |
539 // Internalize each data element |
540 for (int i = 0; i < count; i++) |
540 for (TInt i = 0; i < count; i++) |
541 { |
541 { |
542 CPsClientData* data = CPsClientData::NewL(); |
542 CPsClientData* data = CPsClientData::NewL(); |
543 CleanupStack::PushL(data); |
543 CleanupStack::PushL(data); |
544 |
544 |
545 data->InternalizeL(stream); |
545 data->InternalizeL(stream); |
573 TInt seqCount = stream.ReadInt32L(); |
573 TInt seqCount = stream.ReadInt32L(); |
574 |
574 |
575 PRINT1 ( _L("CPSRequestHandler::HandleSearchResultsL: Number of match sequences received = %d"), seqCount ); |
575 PRINT1 ( _L("CPSRequestHandler::HandleSearchResultsL: Number of match sequences received = %d"), seqCount ); |
576 |
576 |
577 // Internalize each char seq |
577 // Internalize each char seq |
578 for (int i = 0; i < seqCount; i++) |
578 for (TInt i = 0; i < seqCount; i++) |
579 { |
579 { |
580 CPsPattern* pattern = CPsPattern::NewL(); |
580 CPsPattern* pattern = CPsPattern::NewL(); |
581 CleanupStack::PushL(pattern); |
581 CleanupStack::PushL(pattern); |
582 |
582 |
583 pattern->InternalizeL(stream); |
583 pattern->InternalizeL(stream); |
588 pattern->SetFirstIndex(pattern->FirstIndex() + nBookmark); |
588 pattern->SetFirstIndex(pattern->FirstIndex() + nBookmark); |
589 } |
589 } |
590 searchSeqs.Append(pattern); |
590 searchSeqs.Append(pattern); |
591 } |
591 } |
592 |
592 |
593 CleanupStack::PopAndDestroy(); // stream |
593 CleanupStack::PopAndDestroy( &stream ); |
594 |
594 |
595 // Pass the results to the observer |
595 // Pass the results to the observer |
596 for (int i = 0; i < iObservers.Count(); i++) |
596 for (TInt i = 0; i < iObservers.Count(); i++) |
597 { |
597 { |
598 iObservers[i]->HandlePsResultsUpdate(searchResults, searchSeqs); |
598 iObservers[i]->HandlePsResultsUpdate(searchResults, searchSeqs); |
599 } |
599 } |
600 |
600 |
601 // Clear all the internal buffers |
601 // Clear all the internal buffers |
602 if (iSearchQueryBuffer) |
602 searchResults.ResetAndDestroy(); |
603 { |
603 searchSeqs.ResetAndDestroy(); |
604 delete iSearchQueryBuffer; |
604 delete iSearchQueryBuffer; |
605 iSearchQueryBuffer = NULL; |
605 iSearchQueryBuffer = NULL; |
606 } |
606 delete iSearchResultsBuffer; |
607 |
607 iSearchResultsBuffer = NULL; |
608 if (searchResults.Count()) |
|
609 { |
|
610 searchResults.ResetAndDestroy(); |
|
611 } |
|
612 |
|
613 if (searchSeqs.Count()) |
|
614 { |
|
615 searchSeqs.ResetAndDestroy(); |
|
616 } |
|
617 |
|
618 if (iSearchResultsBuffer) |
|
619 { |
|
620 delete iSearchResultsBuffer; |
|
621 iSearchResultsBuffer = NULL; |
|
622 } |
|
623 |
608 |
624 PRINT ( _L("End CPSRequestHandler::HandleSearchResultsL") ); |
609 PRINT ( _L("End CPSRequestHandler::HandleSearchResultsL") ); |
625 |
610 |
626 // __LATENCY_MARKEND ( _L("CPSRequestHandler::HandleSearchResultsL <--- SEARCH COMPLETE") ); |
611 // __LATENCY_MARKEND ( _L("CPSRequestHandler::HandleSearchResultsL <--- SEARCH COMPLETE") ); |
627 } |
612 } |