224 iMessage=aMessage; |
224 iMessage=aMessage; |
225 iReqType = ESuplTerminalSubssnNotifyTriggerFired; |
225 iReqType = ESuplTerminalSubssnNotifyTriggerFired; |
226 HandleNotifyTriggerFiredL(aMessage); |
226 HandleNotifyTriggerFiredL(aMessage); |
227 break; |
227 break; |
228 } |
228 } |
|
229 case ESuplTerminalSubssnLocationConversion: |
|
230 { |
|
231 iMessage=aMessage; |
|
232 iReqType = ESuplTerminalSubssnLocationConversion; |
|
233 HandleLocationConversionL(aMessage); |
|
234 break; |
|
235 } |
|
236 |
|
237 case ESuplTerminalSubssnCancelLocationConversion: |
|
238 { |
|
239 HandleCancelLocationConversionL(aMessage); |
|
240 break; |
|
241 } |
229 default: |
242 default: |
230 User::Leave(KErrNotSupported); |
243 User::Leave(KErrNotSupported); |
231 } |
244 } |
232 } |
245 } |
233 |
246 |
732 |
745 |
733 iSuplSessnReq->NotifyTriggerFiredRequestL(iSuplSession,fireInfo); |
746 iSuplSessnReq->NotifyTriggerFiredRequestL(iSuplSession,fireInfo); |
734 |
747 |
735 CleanupStack::Pop(fireInfoBuf); |
748 CleanupStack::Pop(fireInfoBuf); |
736 } |
749 } |
737 |
750 // --------------------------------------------------------- |
|
751 // CSuplIPCSubSession::HandleLocationConversionL |
|
752 // |
|
753 // (other items were commented in a header). |
|
754 // --------------------------------------------------------- |
|
755 // |
|
756 void CSuplIPCSubSession::HandleLocationConversionL(const RMessage2& aMessage) |
|
757 { |
|
758 DEBUG_TRACE("CSuplIPCSubSession::HandleLocationConversionL", __LINE__) |
|
759 |
|
760 if (iSuplSessnReq->IsActive()) |
|
761 { |
|
762 SuplGlobal::RequestComplete(aMessage, KErrAlreadyExists); |
|
763 } |
|
764 |
|
765 if(iReqType==ESuplTerminalSubssnLocationConversion) |
|
766 { |
|
767 HBufC8* cellBuf = SuplGlobal::CopyClientBuffer8LC(aMessage,0); |
|
768 |
|
769 TGeoCellInfo& cellInfo = reinterpret_cast |
|
770 <TGeoCellInfo&>(const_cast<TUint8&>(*cellBuf->Ptr())); |
|
771 |
|
772 iSuplSessnReq->MakeLocationConversionRequestL( iSuplSession,cellInfo ); |
|
773 |
|
774 CleanupStack::PopAndDestroy(cellBuf); |
|
775 } |
|
776 |
|
777 } |
|
778 |
|
779 // --------------------------------------------------------- |
|
780 // CSuplIPCSubSession::HandleCancelLocationConversionL |
|
781 // |
|
782 // (other items were commented in a header). |
|
783 // --------------------------------------------------------- |
|
784 // |
|
785 void CSuplIPCSubSession::HandleCancelLocationConversionL(const RMessage2& aMessage) |
|
786 { |
|
787 DEBUG_TRACE("CSuplIPCSubSession::HandleCancelLocationConversionL", __LINE__) |
|
788 |
|
789 if (!iSuplSessnReq->IsActive()||(iReqType!=ESuplTerminalSubssnLocationConversion)) |
|
790 { |
|
791 User::Leave(KErrNotFound); |
|
792 } |
|
793 iSuplSessnReq->CancelLocationConversionRequest(); |
|
794 SuplGlobal::RequestComplete(aMessage, KErrNone); |
|
795 CompleteRunSession(KErrCancel); |
|
796 } |
738 // End of File |
797 // End of File |