223 HandleRoutingGetPreviousOutputL(aMessage); |
223 HandleRoutingGetPreviousOutputL(aMessage); |
224 break; |
224 break; |
225 case TMS_ROUTING_AVAILABLE_OUTPUT_GET: |
225 case TMS_ROUTING_AVAILABLE_OUTPUT_GET: |
226 HandleRoutingGetAvailableOutputsL(aMessage); |
226 HandleRoutingGetAvailableOutputsL(aMessage); |
227 break; |
227 break; |
228 case TMS_DTMF_START: |
228 case TMS_GET_ACTIVE_CALL_PARAMS: |
229 HandleDTMFStart(aMessage); |
229 HandleGetActiveCallL(aMessage); |
230 break; |
|
231 case TMS_DTMF_STOP: |
|
232 HandleDTMFStop(aMessage); |
|
233 break; |
|
234 case TMS_DTMF_CONTINUE: |
|
235 HandleDTMFContinue(aMessage); |
|
236 break; |
230 break; |
237 default: |
231 default: |
238 User::Leave(TMS_RESULT_ILLEGAL_OPERATION); |
232 User::Leave(TMS_RESULT_ILLEGAL_OPERATION); |
239 break; |
233 break; |
240 } |
234 } |
1111 aMessage.WriteL(0, countpkg); |
1105 aMessage.WriteL(0, countpkg); |
1112 aMessage.WriteL(1, outputbuf->Ptr(0)); |
1106 aMessage.WriteL(1, outputbuf->Ptr(0)); |
1113 CleanupStack::PopAndDestroy(outputbuf); |
1107 CleanupStack::PopAndDestroy(outputbuf); |
1114 } |
1108 } |
1115 aMessage.Complete(status); |
1109 aMessage.Complete(status); |
1116 } |
1110 TRACE_PRN_FN_EXT; |
1117 |
1111 } |
1118 void TMSCallSession::HandleDTMFStart(const RMessage2& aMessage) |
1112 |
1119 { |
1113 void TMSCallSession::HandleGetActiveCallL(const RMessage2& aMessage) |
1120 TRACE_PRN_FN_ENT; |
1114 { |
1121 gint status(TMS_RESULT_DOES_NOT_EXIST); |
1115 gint status(TMS_RESULT_DOES_NOT_EXIST); |
1122 |
1116 TMSCallType callType; |
1123 if (iCallAdpt) |
1117 gboolean active(FALSE); |
1124 { |
1118 if (iCallAdpt) |
1125 TMSStreamType strmtype; |
1119 { |
1126 gint len = 0; |
1120 iCallAdpt->GetCallType(callType); |
1127 strmtype = (TMSStreamType) aMessage.Int0(); |
1121 active = iCallAdpt->IsUplActivated(); |
1128 len = aMessage.GetDesLength(1); |
1122 TmsCallMsgBufPckg p; |
1129 HBufC* tone(NULL); |
1123 p().iInt = (gint) callType; |
1130 if (len > 0) |
1124 p().iBool = active; |
1131 { |
1125 aMessage.WriteL(0, p); |
1132 TRAP(status,tone = HBufC::NewL(len)); |
1126 status = TMS_RESULT_SUCCESS; |
1133 if (status == KErrNone) |
1127 } |
1134 { |
1128 aMessage.Complete(status); |
1135 TPtr ptr = tone->Des(); |
1129 } |
1136 status = aMessage.Read(1, ptr); |
1130 |
1137 TRACE_PRN_N(ptr); |
|
1138 if (status == KErrNone) |
|
1139 { |
|
1140 status = iCallAdpt->StartDTMF(strmtype, ptr); |
|
1141 } |
|
1142 } |
|
1143 delete tone; |
|
1144 tone = NULL; |
|
1145 } |
|
1146 } |
|
1147 |
|
1148 aMessage.Complete(status); |
|
1149 TRACE_PRN_FN_EXT; |
|
1150 } |
|
1151 |
|
1152 void TMSCallSession::HandleDTMFStop(const RMessage2& aMessage) |
|
1153 { |
|
1154 TRACE_PRN_FN_ENT; |
|
1155 gint status(TMS_RESULT_DOES_NOT_EXIST); |
|
1156 if (iCallAdpt) |
|
1157 { |
|
1158 TMSStreamType streamtype; |
|
1159 streamtype = (TMSStreamType) aMessage.Int0(); |
|
1160 status = iCallAdpt->StopDTMF(streamtype); |
|
1161 } |
|
1162 aMessage.Complete(status); |
|
1163 TRACE_PRN_FN_EXT; |
|
1164 } |
|
1165 |
|
1166 void TMSCallSession::HandleDTMFContinue(const RMessage2& aMessage) |
|
1167 { |
|
1168 TRACE_PRN_FN_ENT; |
|
1169 gint status(TMS_RESULT_DOES_NOT_EXIST); |
|
1170 if (iCallAdpt) |
|
1171 { |
|
1172 TBool continuesending; |
|
1173 continuesending = (TBool) aMessage.Int0(); |
|
1174 status = iCallAdpt->ContinueDTMF(continuesending); |
|
1175 } |
|
1176 aMessage.Complete(status); |
|
1177 TRACE_PRN_FN_EXT; |
|
1178 } |
|
1179 |
|
1180 // End of file |
|