equal
deleted
inserted
replaced
193 ret = SendMessageL( |
193 ret = SendMessageL( |
194 aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n() ); |
194 aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n() ); |
195 } |
195 } |
196 break; |
196 break; |
197 case EMobileUssdMessagingSendMessageDefaultHandler: |
197 case EMobileUssdMessagingSendMessageDefaultHandler: |
198 { |
198 { |
199 iUssdNoFdnCheckFlag = EUssdNoFdnCheckNotUsed; |
199 iUssdNoFdnCheckFlag = EUssdNoFdnCheckNotUsed; |
200 iSendToDefaultHandler = ETrue; |
200 iSendToDefaultHandler = ETrue; |
201 ret = SendMessageL( |
201 ret = SendMessageL( |
202 aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n() ); |
202 aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n() ); |
203 } |
203 } |
561 if ( KErrNone == aError ) |
561 if ( KErrNone == aError ) |
562 { |
562 { |
563 TDes8* unpackedReceiveUssdMessagePtr = NULL; |
563 TDes8* unpackedReceiveUssdMessagePtr = NULL; |
564 RMobileUssdMessaging::TMobileUssdAttributesV1* unpackedReceiveUssdMessageAttributesPtr = NULL; |
564 RMobileUssdMessaging::TMobileUssdAttributesV1* unpackedReceiveUssdMessageAttributesPtr = NULL; |
565 aDataPackage->UnPackData (&unpackedReceiveUssdMessagePtr, &unpackedReceiveUssdMessageAttributesPtr); |
565 aDataPackage->UnPackData (&unpackedReceiveUssdMessagePtr, &unpackedReceiveUssdMessageAttributesPtr); |
566 |
566 |
567 if(iReceiveUssdMessagePtr->MaxLength() >= unpackedReceiveUssdMessagePtr->Length()) |
567 if(iReceiveUssdMessagePtr->MaxLength() >= unpackedReceiveUssdMessagePtr->Length()) |
568 { |
568 { |
569 *iReceiveUssdMessagePtr = *unpackedReceiveUssdMessagePtr; |
569 *iReceiveUssdMessagePtr = *unpackedReceiveUssdMessagePtr; |
570 *iReceiveUssdMessageAttributesPtr = *unpackedReceiveUssdMessageAttributesPtr; |
570 *iReceiveUssdMessageAttributesPtr = *unpackedReceiveUssdMessageAttributesPtr; |
571 } |
571 } |
572 else |
572 else |
573 { |
573 { |
574 aError = KErrArgument; |
574 aError = KErrArgument; |
575 } |
575 } |
576 } |
576 } |
577 ReqCompleted( reqHandle, aError ); |
577 ReqCompleted( reqHandle, aError ); |
578 } |
578 } |
579 } |
579 } |
580 |
580 |
621 ret = iMmPhone->MessageManager()->HandleRequestL( |
621 ret = iMmPhone->MessageManager()->HandleRequestL( |
622 EMobileUssdMessagingSendMessage, &package ); |
622 EMobileUssdMessagingSendMessage, &package ); |
623 } |
623 } |
624 else //default handler |
624 else //default handler |
625 { |
625 { |
626 ret = iMmPhone->MessageManager()->HandleRequestL( |
626 ret = iMmPhone->MessageManager()->HandleRequestL( |
627 EMobileUssdMessagingSendMessageDefaultHandler, &package ); |
627 EMobileUssdMessagingSendMessageDefaultHandler, &package ); |
628 } |
628 } |
629 } |
629 } |
630 |
|
631 |
|
632 iSsTransactionOngoing = ETrue; |
630 iSsTransactionOngoing = ETrue; |
633 } |
631 } |
634 |
632 |
635 if ( KErrNone != ret ) |
633 if ( KErrNone != ret ) |
636 { |
634 { |
760 EMultimodeUssdSendMessage ); |
758 EMultimodeUssdSendMessage ); |
761 } |
759 } |
762 else// default handler |
760 else// default handler |
763 { |
761 { |
764 reqHandle = iTsyReqHandleStore->ResetTsyReqHandle( |
762 reqHandle = iTsyReqHandleStore->ResetTsyReqHandle( |
765 EMultimodeUssdSendMessageDefaultHandler ); |
763 EMultimodeUssdSendMessageDefaultHandler ); |
766 } |
764 } |
767 // If the session is already in progress then no session management |
765 // If the session is already in progress then no session management |
768 // action is required. Otherwise we either promote the reserved |
766 // action is required. Otherwise we either promote the reserved |
769 // session to an open session or cancel the reservation. |
767 // session to an open session or cancel the reservation. |
770 if ( !IsSessionInProgress() && IsSessionReserved() ) |
768 if ( !IsSessionInProgress() && IsSessionReserved() ) |
774 if(EFalse == iSendToDefaultHandler) |
772 if(EFalse == iSendToDefaultHandler) |
775 { |
773 { |
776 SetSessionOwnerByTsyHandle( reqHandle ); |
774 SetSessionOwnerByTsyHandle( reqHandle ); |
777 } |
775 } |
778 else // default handler |
776 else // default handler |
779 { |
777 { |
780 SetSessionOwnerByTsyHandleAndIpc( reqHandle, EMultimodeUssdSendMessageDefaultHandler ); |
778 //this function call will transfer received message to the |
|
779 //default handler which already has EMobileUssdMessagingReceiveMessage request. |
|
780 SetSessionOwnerByTsyHandleAndIpc( reqHandle, EMobileUssdMessagingReceiveMessage ); |
781 } |
781 } |
782 } |
782 } |
783 else |
783 else |
784 { |
784 { |
785 CancelReserveSession(); |
785 CancelReserveSession(); |