telephonyserver/etelmultimode/DTsy/mmtsymessaging.cpp
branchopencode
changeset 77 930a53cdc2d3
parent 24 6638e7f4bd8f
child 78 d4cfc65049ba
equal deleted inserted replaced
35:6fbc08ed9c42 77:930a53cdc2d3
  1569 // Flow Controlled Services
  1569 // Flow Controlled Services
  1570 //
  1570 //
  1571 	case EMobileUssdMessagingSendMessage:
  1571 	case EMobileUssdMessagingSendMessage:
  1572 	case EMobileUssdMessagingSendMessageNoFdnCheck:
  1572 	case EMobileUssdMessagingSendMessageNoFdnCheck:
  1573 	case EMobileUssdMessagingSendRelease:
  1573 	case EMobileUssdMessagingSendRelease:
       
  1574 	case EMobileUssdMessagingSendMessageDefaultHandler:
  1574 		ret=KReqModeFlowControlObeyed;
  1575 		ret=KReqModeFlowControlObeyed;
  1575 		break;
  1576 		break;
  1576 
  1577 
  1577 //
  1578 //
  1578 // Immediate Server Repost
  1579 // Immediate Server Repost
  1587 	case EMobileUssdMessagingReceiveMessageCancel:
  1588 	case EMobileUssdMessagingReceiveMessageCancel:
  1588 	case EMobileUssdMessagingSendMessageCancel:
  1589 	case EMobileUssdMessagingSendMessageCancel:
  1589 	case EMobileUssdMessagingSendMessageNoFdnCheckCancel:
  1590 	case EMobileUssdMessagingSendMessageNoFdnCheckCancel:
  1590 	case EMobileUssdMessagingSendReleaseCancel:
  1591 	case EMobileUssdMessagingSendReleaseCancel:
  1591 	case EMobileUssdMessagingNotifyNetworkReleaseCancel:
  1592 	case EMobileUssdMessagingNotifyNetworkReleaseCancel:
       
  1593 	case EMobileUssdMessagingSendMessageDefaultHandlerCancel:
  1592 	default:
  1594 	default:
  1593 		User::Leave(KErrNotSupported);
  1595 		User::Leave(KErrNotSupported);
  1594 		break;
  1596 		break;
  1595 		}
  1597 		}
  1596 
  1598 
  1660 	case EMobileUssdMessagingGetCaps:
  1662 	case EMobileUssdMessagingGetCaps:
  1661 		return GetCaps(aTsyReqHandle, aPackage.Des1n());
  1663 		return GetCaps(aTsyReqHandle, aPackage.Des1n());
  1662 
  1664 
  1663 	case EMobileUssdMessagingSendMessage:
  1665 	case EMobileUssdMessagingSendMessage:
  1664 		return SendMessage(aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n());
  1666 		return SendMessage(aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n());
  1665 
  1667 	case EMobileUssdMessagingSendMessageDefaultHandler: 
       
  1668 		return SendMessageDefaultHandler(aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n());
  1666 	case EMobileUssdMessagingSendMessageNoFdnCheck:
  1669 	case EMobileUssdMessagingSendMessageNoFdnCheck:
  1667 		return SendMessageNoFdnCheck(aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n());
  1670 		return SendMessageNoFdnCheck(aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n());
  1668 
  1671 
  1669 	case EMobileUssdMessagingReceiveMessage:
  1672 	case EMobileUssdMessagingReceiveMessage:
  1670 		return ReceiveMessage(aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n());
  1673 		return ReceiveMessage(aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n());
  1686 // Cancel Requests
  1689 // Cancel Requests
  1687 //	
  1690 //	
  1688 	case EMobileUssdMessagingReceiveMessageCancel:
  1691 	case EMobileUssdMessagingReceiveMessageCancel:
  1689 		return ReceiveMessageCancel(aTsyReqHandle);
  1692 		return ReceiveMessageCancel(aTsyReqHandle);
  1690 	case EMobileUssdMessagingSendMessageCancel:
  1693 	case EMobileUssdMessagingSendMessageCancel:
       
  1694 	case EMobileUssdMessagingSendMessageDefaultHandlerCancel: 
  1691 		return SendMessageCancel(aTsyReqHandle);
  1695 		return SendMessageCancel(aTsyReqHandle);
  1692 	case EMobileUssdMessagingSendMessageNoFdnCheckCancel:
  1696 	case EMobileUssdMessagingSendMessageNoFdnCheckCancel:
  1693 		return SendMessageNoFdnCheckCancel(aTsyReqHandle);
  1697 		return SendMessageNoFdnCheckCancel(aTsyReqHandle);
  1694 	case EMobileUssdMessagingSendReleaseCancel:
  1698 	case EMobileUssdMessagingSendReleaseCancel:
  1695 		return SendReleaseCancel(aTsyReqHandle);
  1699 		return SendReleaseCancel(aTsyReqHandle);
  1706 	LOGTEXT(_L8("CUssdMessagingDMmTsy: - CancelService called"));
  1710 	LOGTEXT(_L8("CUssdMessagingDMmTsy: - CancelService called"));
  1707 	switch (aIpc)
  1711 	switch (aIpc)
  1708 		{
  1712 		{
  1709 	case EMobileUssdMessagingReceiveMessage:
  1713 	case EMobileUssdMessagingReceiveMessage:
  1710 		return ReceiveMessageCancel(aTsyReqHandle);
  1714 		return ReceiveMessageCancel(aTsyReqHandle);
  1711 	case EMobileUssdMessagingSendMessage:
  1715 	case EMobileUssdMessagingSendMessageDefaultHandler: 
       
  1716 		return SendMessageCancelDefaultHandler(aTsyReqHandle);
       
  1717 	case EMobileUssdMessagingSendMessage:	
  1712 		return SendMessageCancel(aTsyReqHandle);
  1718 		return SendMessageCancel(aTsyReqHandle);
  1713 	case EMobileUssdMessagingSendMessageNoFdnCheck:
  1719 	case EMobileUssdMessagingSendMessageNoFdnCheck:
  1714 		return SendMessageNoFdnCheckCancel(aTsyReqHandle);
  1720 		return SendMessageNoFdnCheckCancel(aTsyReqHandle);
  1715 	case EMobileUssdMessagingSendRelease:
  1721 	case EMobileUssdMessagingSendRelease:
  1716 		return SendReleaseCancel(aTsyReqHandle);
  1722 		return SendReleaseCancel(aTsyReqHandle);
  1764 TInt CUssdMessagingDMmTsy::SendMessage(const TTsyReqHandle aTsyReqHandle, TDesC8* aMsgData, TDesC8* aMsgAttributes)
  1770 TInt CUssdMessagingDMmTsy::SendMessage(const TTsyReqHandle aTsyReqHandle, TDesC8* aMsgData, TDesC8* aMsgAttributes)
  1765 	{
  1771 	{
  1766 	LOGTEXT(_L8("CUssdMessagingDMmTsy::SendMessage called"));
  1772 	LOGTEXT(_L8("CUssdMessagingDMmTsy::SendMessage called"));
  1767 	RMobileUssdMessaging::TMobileUssdAttributesV1Pckg* attsPckg = REINTERPRET_CAST(RMobileUssdMessaging::TMobileUssdAttributesV1Pckg*,aMsgAttributes);
  1773 	RMobileUssdMessaging::TMobileUssdAttributesV1Pckg* attsPckg = REINTERPRET_CAST(RMobileUssdMessaging::TMobileUssdAttributesV1Pckg*,aMsgAttributes);
  1768 	RMobileUssdMessaging::TMobileUssdAttributesV1& atts = (*attsPckg)();
  1774 	RMobileUssdMessaging::TMobileUssdAttributesV1& atts = (*attsPckg)();
  1769 	if ((aMsgData->Compare(DMMTSY_USSD_MESSAGE_PDU) != 0) ||
  1775 		
  1770 		atts.iFlags != DMMTSY_USSD_ATTRIBUTE_FLAGS || 
  1776 	if (atts.iFlags != DMMTSY_USSD_ATTRIBUTE_FLAGS || 
  1771 		atts.iFormat != DMMTSY_USSD_ATTRIBUTE_FORMAT ||
  1777 		atts.iFormat != DMMTSY_USSD_ATTRIBUTE_FORMAT ||
  1772 		atts.iType != DMMTSY_USSD_ATTRIBUTE_TYPE ||
  1778 		atts.iType != DMMTSY_USSD_ATTRIBUTE_TYPE ||
  1773 		atts.iDcs != DMMTSY_USSD_ATTRIBUTE_DCS)
  1779 		atts.iDcs != DMMTSY_USSD_ATTRIBUTE_DCS)
  1774 		ReqCompleted(aTsyReqHandle,KErrCorrupt);
  1780 		ReqCompleted(aTsyReqHandle,KErrCorrupt);
  1775 	else
  1781 	else
  1776 		iPhone->AddDelayedReq(aTsyReqHandle,this);
  1782 		iPhone->AddDelayedReq(aTsyReqHandle,this);
  1777 	return KErrNone;
  1783 	return KErrNone;
  1778 	}
  1784 	}
  1779 
  1785 
       
  1786 TInt CUssdMessagingDMmTsy::SendMessageDefaultHandler(const TTsyReqHandle aTsyReqHandle, TDesC8* aMsgData, TDesC8* aMsgAttributes)
       
  1787 	{
       
  1788 	LOGTEXT(_L8("CUssdMessagingDMmTsy::SendMessage called"));
       
  1789 	RMobileUssdMessaging::TMobileUssdAttributesV1Pckg* attsPckg = REINTERPRET_CAST(RMobileUssdMessaging::TMobileUssdAttributesV1Pckg*,aMsgAttributes);
       
  1790 	RMobileUssdMessaging::TMobileUssdAttributesV1& atts = (*attsPckg)();
       
  1791 		
       
  1792 	if (atts.iFlags != DMMTSY_USSD_ATTRIBUTE_FLAGS || 
       
  1793 		atts.iFormat != DMMTSY_USSD_ATTRIBUTE_FORMAT ||
       
  1794 		atts.iType != DMMTSY_USSD_ATTRIBUTE_TYPE ||
       
  1795 		atts.iDcs != DMMTSY_USSD_ATTRIBUTE_DCS)
       
  1796 		ReqCompleted(aTsyReqHandle,KErrCorrupt);
       
  1797 	else
       
  1798 		iPhone->AddDelayedReq(aTsyReqHandle,this);
       
  1799 	return KErrNone;
       
  1800 	}
       
  1801 
  1780 TInt CUssdMessagingDMmTsy::SendMessageCancel(const TTsyReqHandle aTsyReqHandle)
  1802 TInt CUssdMessagingDMmTsy::SendMessageCancel(const TTsyReqHandle aTsyReqHandle)
  1781 	{
  1803 	{
  1782 	LOGTEXT(_L8("CUssdMessagingDMmTsy::SendMessageCancel called"));
  1804 	LOGTEXT(_L8("CUssdMessagingDMmTsy::SendMessageCancel called"));
  1783 	iPhone->RemoveDelayedReq(aTsyReqHandle);
  1805 	iPhone->RemoveDelayedReq(aTsyReqHandle);
  1784 	ReqCompleted(aTsyReqHandle,KErrCancel);
  1806 	ReqCompleted(aTsyReqHandle,KErrCancel);
  1785 	return KErrNone;
  1807 	return KErrNone;
  1786 	}
  1808 	}
  1787 
  1809 TInt CUssdMessagingDMmTsy::SendMessageCancelDefaultHandler(const TTsyReqHandle aTsyReqHandle)
       
  1810 	{
       
  1811 	LOGTEXT(_L8("CUssdMessagingDMmTsy::SendMessageCancelDefaultHandler called"));
       
  1812 	iPhone->RemoveDelayedReq(aTsyReqHandle);
       
  1813 	ReqCompleted(aTsyReqHandle,KErrCancel);
       
  1814 	return KErrNone;
       
  1815 	}
  1788 TInt CUssdMessagingDMmTsy::SendMessageNoFdnCheck(const TTsyReqHandle aTsyReqHandle, TDesC8* aMsgData, TDesC8* aMsgAttributes)
  1816 TInt CUssdMessagingDMmTsy::SendMessageNoFdnCheck(const TTsyReqHandle aTsyReqHandle, TDesC8* aMsgData, TDesC8* aMsgAttributes)
  1789 	/**
  1817 	/**
  1790 	* This method sends an outgoing SMS to the network. The number used for sending the SMS   
  1818 	* This method sends an outgoing SMS to the network. The number used for sending the SMS   
  1791 	* is not checked against those in the Fixed Dialling Number list even if the FDN service is enabled
  1819 	* is not checked against those in the Fixed Dialling Number list even if the FDN service is enabled
  1792 	*
  1820 	*