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