--- a/telephonyserver/etelmultimode/DTsy/mmtsyphone.cpp Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelmultimode/DTsy/mmtsyphone.cpp Fri Apr 16 16:12:37 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"));