telephonyserver/etelmultimode/DTsy/mmtsyphone.cpp
branchRCL_3
changeset 19 630d2f34d719
parent 0 3553901f7fa8
child 20 07a122eea281
--- a/telephonyserver/etelmultimode/DTsy/mmtsyphone.cpp	Thu Aug 19 11:03:36 2010 +0300
+++ b/telephonyserver/etelmultimode/DTsy/mmtsyphone.cpp	Tue Aug 31 16:23:08 2010 +0300
@@ -491,6 +491,7 @@
 	case EMobilePhoneSetCallForwardingStatus:
 	case EMobilePhoneProgramFeatureCode:
 	case EMobilePhoneTerminateAllCalls:
+	case EMobilePhoneTerminateActiveCalls:
 		ret=KReqModeFlowControlObeyed;
 		break;
 	default:
@@ -1552,6 +1553,9 @@
 		
 	case EMobilePhoneTerminateAllCalls:
 		return TerminateAllCalls(aTsyReqHandle);
+		
+    case EMobilePhoneTerminateActiveCalls:
+        return TerminateActiveCalls(aTsyReqHandle);
 			
 	case EMobilePhoneGetMailboxNumbers:
 		return GetMailboxNumbers (aTsyReqHandle, aPackage.Des1n());
@@ -2135,6 +2139,8 @@
 		return NotifyAirTimeDurationChangeCancel(aTsyReqHandle);
 	case EMobilePhoneTerminateAllCalls:
 		return TerminateAllCallsCancel(aTsyReqHandle);
+    case EMobilePhoneTerminateActiveCalls:
+        return TerminateActiveCallsCancel(aTsyReqHandle);
 	case EMobilePhoneNotifySendNetworkServiceRequest:
 		return NotifySendNetworkServiceRequestCancel(aTsyReqHandle);
 	case EMobilePhoneNotifyAllSendNetworkServiceRequest:
@@ -6067,6 +6073,25 @@
 	return KErrNone;
 	}
 
+TInt CPhoneDMmTsy::TerminateActiveCalls(const TTsyReqHandle aTsyReqHandle)
+    {
+    LOGTEXT(_L8("CPhoneDMmTsy::TerminateActiveCalls called"));
+    if (!iTerminateActiveCalls++)
+        {
+        //Just return KErrNone
+        ReqCompleted(aTsyReqHandle,KErrNone);
+        }
+    return KErrNone;
+    }
+    
+TInt CPhoneDMmTsy::TerminateActiveCallsCancel(const TTsyReqHandle aTsyReqHandle)
+    {
+    LOGTEXT(_L8("CPhoneDMmTsy::TerminateActiveCallsCancel called"));
+    RemoveDelayedReq(aTsyReqHandle);
+    ReqCompleted(aTsyReqHandle,KErrCancel);
+    return KErrNone;
+    }
+
  TInt CPhoneDMmTsy::NotifySendNetworkServiceRequest(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNotifySendSSOperation* aOperation, TDes8* aRequestComplete)
  	{
  	LOGTEXT(_L8("CPhoneDMmTsy::NotifySendNetworkServiceRequest called"));