145 // ----------------------------------------------------------------------------- |
145 // ----------------------------------------------------------------------------- |
146 // TMSCallCSAdpt::InitStream |
146 // TMSCallCSAdpt::InitStream |
147 // |
147 // |
148 // ----------------------------------------------------------------------------- |
148 // ----------------------------------------------------------------------------- |
149 // |
149 // |
150 gint TMSCallCSAdpt::InitStreamL(TMSCallType /*callType*/, |
150 gint TMSCallCSAdpt::InitStream(TMSCallType /*callType*/, TMSStreamType strmType, |
151 TMSStreamType strmType, gint strmId, TMSFormatType /*frmtType*/, |
151 gint strmId, TMSFormatType /*frmtType*/, const RMessage2& message) |
152 const RMessage2& aMessage) |
|
153 { |
152 { |
154 TRACE_PRN_FN_ENT; |
153 TRACE_PRN_FN_ENT; |
155 gint status(TMS_RESULT_SUCCESS); |
154 gint status(TMS_RESULT_SUCCESS); |
156 |
155 |
157 switch (strmType) |
156 switch (strmType) |
158 { |
157 { |
159 case TMS_STREAM_UPLINK: |
158 case TMS_STREAM_UPLINK: |
|
159 { |
160 if (strmId == iUplinkStreamId) |
160 if (strmId == iUplinkStreamId) |
161 { |
161 { |
162 // Open message queue handling client-server communication |
162 // Open message queue handling client-server communication |
163 if (iMsgQueueUp.Handle() <= 0) |
163 if (iMsgQueueUp.Handle() <= 0) |
164 { |
164 { |
165 // Third argument in TMSCallProxy::InitStream |
165 // Third argument in TMSCallProxy::InitStream |
166 status = iMsgQueueUp.Open(aMessage, 1); |
166 status = iMsgQueueUp.Open(message, 1); |
167 } |
167 } |
168 if (status == TMS_RESULT_SUCCESS) |
168 if (status == TMS_RESULT_SUCCESS) |
169 { |
169 { |
170 TRAP(status, iCSUplink = TMSCSUplink::NewL(*this)); |
170 TRAP(status, iCSUplink = TMSCSUplink::NewL(*this)); |
171 |
171 |
172 if (status == TMS_RESULT_SUCCESS) |
172 if (status == TMS_RESULT_SUCCESS) |
173 { |
173 { |
174 iDTMFUplinkPlayer = TMSDTMFProvider::NewL(); |
174 TRAP(status, iDTMFUplinkPlayer = |
175 iDTMFUplinkPlayer->AddObserverL(*this); |
175 TMSDTMFProvider::NewL()); |
176 if(!iDTMFNotifier) |
176 iDTMFUplinkPlayer->AddObserver(*this); |
|
177 if (!iDTMFNotifier) |
177 { |
178 { |
178 iDTMFNotifier = TMSDtmfNotifier::NewL(); |
179 TRAP(status, iDTMFNotifier = |
|
180 TMSDtmfNotifier::NewL()); |
179 } |
181 } |
180 } |
182 } |
181 } |
183 } |
182 iStrmtype = TMS_STREAM_UPLINK; |
184 iStrmtype = TMS_STREAM_UPLINK; |
183 } |
185 } |
184 else |
186 else |
185 { |
187 { |
186 status = TMS_RESULT_DOES_NOT_EXIST; |
188 status = TMS_RESULT_DOES_NOT_EXIST; |
187 } |
189 } |
188 break; |
190 break; |
|
191 } |
189 case TMS_STREAM_DOWNLINK: |
192 case TMS_STREAM_DOWNLINK: |
|
193 { |
190 if (strmId == iDnlinkStreamId) |
194 if (strmId == iDnlinkStreamId) |
191 { |
195 { |
192 // Open message queue handling client-server communication |
196 // Open message queue handling client-server communication |
193 if (iMsgQueueDn.Handle() <= 0) |
197 if (iMsgQueueDn.Handle() <= 0) |
194 { |
198 { |
195 // Third argument in TMSCallProxy::InitStream |
199 // Third argument in TMSCallProxy::InitStream |
196 status = iMsgQueueDn.Open(aMessage, 1); |
200 status = iMsgQueueDn.Open(message, 1); |
197 } |
201 } |
198 if (status == TMS_RESULT_SUCCESS) |
202 if (status == TMS_RESULT_SUCCESS) |
199 { |
203 { |
200 TRAP(status, iCSDownlink = TMSCSDownlink::NewL(*this)); |
204 TRAP(status, iCSDownlink = TMSCSDownlink::NewL(*this)); |
201 if (status == TMS_RESULT_SUCCESS) |
205 if (status == TMS_RESULT_SUCCESS) |
202 { |
206 { |
203 TRAP(status, iRouting = |
207 TRAP(status, iRouting = |
204 CTelephonyAudioRouting::NewL(*this)); |
208 CTelephonyAudioRouting::NewL(*this)); |
205 if (status == TMS_RESULT_SUCCESS) |
209 if (status == TMS_RESULT_SUCCESS) |
206 { |
210 { |
207 iTarSettings = TMSTarSettings::NewL(); |
211 TRAP(status, iTarSettings = TMSTarSettings::NewL()); |
208 } |
212 } |
209 if (status == TMS_RESULT_SUCCESS) |
213 if (status == TMS_RESULT_SUCCESS) |
210 { |
214 { |
211 TRAP(status, iDTMFDnlinkPlayer = |
215 TRAP(status, iDTMFDnlinkPlayer = |
212 TMSAudioDtmfTonePlayer::NewL(*this, |
216 TMSAudioDtmfTonePlayer::NewL(*this, |
213 KAudioPrefKeyDownDTMF, |
217 KAudioDTMFString, |
214 KAudioPriorityDtmfKeyPress)); |
218 KAudioPriorityDTMFString)); |
215 if(!iDTMFNotifier) |
219 |
|
220 if (!iDTMFNotifier) |
216 { |
221 { |
217 iDTMFNotifier = TMSDtmfNotifier::NewL(); |
222 TRAP(status, iDTMFNotifier = |
|
223 TMSDtmfNotifier::NewL()); |
218 } |
224 } |
219 } |
225 } |
220 } |
226 } |
221 } |
227 } |
222 iStrmtype = TMS_STREAM_DOWNLINK; |
228 iStrmtype = TMS_STREAM_DOWNLINK; |
1033 // ----------------------------------------------------------------------------- |
1039 // ----------------------------------------------------------------------------- |
1034 // TMSCallCSAdpt::DTMFInitCompleted |
1040 // TMSCallCSAdpt::DTMFInitCompleted |
1035 // |
1041 // |
1036 // ----------------------------------------------------------------------------- |
1042 // ----------------------------------------------------------------------------- |
1037 // |
1043 // |
1038 void TMSCallCSAdpt::DTMFInitCompleted(TInt /*error*/) |
1044 void TMSCallCSAdpt::DTMFInitCompleted(gint /*error*/) |
1039 { |
1045 { |
1040 TRACE_PRN_FN_ENT; |
1046 TRACE_PRN_FN_ENT; |
|
1047 // TODO: process error |
1041 TRACE_PRN_FN_EXT; |
1048 TRACE_PRN_FN_EXT; |
1042 } |
1049 } |
1043 |
1050 |
1044 // ----------------------------------------------------------------------------- |
1051 // ----------------------------------------------------------------------------- |
1045 // TMSCallCSAdpt::DTMFToneFinished |
1052 // TMSCallCSAdpt::DTMFToneFinished |
1046 // |
1053 // |
1047 // ----------------------------------------------------------------------------- |
1054 // ----------------------------------------------------------------------------- |
1048 // |
1055 // |
1049 void TMSCallCSAdpt::DTMFToneFinished(TInt error) |
1056 void TMSCallCSAdpt::DTMFToneFinished(gint error) |
1050 { |
1057 { |
1051 TRACE_PRN_FN_ENT; |
1058 TRACE_PRN_FN_ENT; |
1052 TmsMsgBufPckg dtmfpckg; |
1059 TmsMsgBufPckg dtmfpckg; |
1053 |
1060 |
1054 if (error == KErrUnderflow || error == KErrInUse) |
1061 if (error == KErrUnderflow || error == KErrInUse) |
1055 { |
1062 { |
1056 error = TMS_RESULT_SUCCESS; |
1063 error = TMS_RESULT_SUCCESS; |
1057 } |
1064 } |
1058 |
1065 |
1059 dtmfpckg().iStatus = TMSUtility::TMSResult(error); |
1066 dtmfpckg().iStatus = TMSUtility::TMSResult(error); |
1060 //TMS_EVENT_DTMF_TONE_STOPPED |
|
1061 dtmfpckg().iRequest = ECmdDTMFTonePlayFinished; |
1067 dtmfpckg().iRequest = ECmdDTMFTonePlayFinished; |
1062 if (iDTMFNotifier) |
1068 if (iDTMFNotifier) |
1063 { |
1069 { |
1064 iDTMFNotifier->SetDtmf(dtmfpckg, TRUE); |
1070 iDTMFNotifier->SetDtmf(dtmfpckg, TRUE); |
1065 } |
1071 } |
1083 |
1089 |
1084 dtmfpckg().iStatus = TMSUtility::EtelToTMSResult(aError); |
1090 dtmfpckg().iStatus = TMSUtility::EtelToTMSResult(aError); |
1085 |
1091 |
1086 switch (aEvent) |
1092 switch (aEvent) |
1087 { |
1093 { |
1088 /** Unknown */ |
1094 |
1089 case ECCPDtmfUnknown: |
1095 case ECCPDtmfUnknown: //Unknown |
1090 break; |
1096 break; |
1091 /** DTMF sending started manually */ |
1097 case ECCPDtmfManualStart: //DTMF sending started manually |
1092 case ECCPDtmfManualStart: |
1098 case ECCPDtmfSequenceStart: //Automatic DTMF sending initialized |
1093 /** Automatic DTMF sending initialized */ |
1099 dtmfpckg().iRequest = ECmdDTMFToneUplPlayStarted; |
1094 case ECCPDtmfSequenceStart: |
1100 break; |
1095 //TMS_EVENT_DTMF_TONE_STARTED |
1101 case ECCPDtmfManualStop: //DTMF sending stopped manually |
1096 dtmfpckg().iRequest = ECmdDTMFOpenUplinkComplete; |
1102 case ECCPDtmfManualAbort: //DTMF sending aborted manually |
1097 break; |
1103 case ECCPDtmfSequenceStop: //Automatic DTMF sending stopped |
1098 |
1104 case ECCPDtmfSequenceAbort: //Automatic DTMF sending aborted |
1099 /** DTMF sending stopped manually */ |
1105 case ECCPDtmfStopInDtmfString: //There was stop mark in DTMF string |
1100 case ECCPDtmfManualStop: |
1106 case ECCPDtmfStringSendingCompleted: //DTMF sending success |
1101 //break; |
|
1102 /** DTMF sending aborted manually */ |
|
1103 case ECCPDtmfManualAbort: |
|
1104 //break; |
|
1105 /** Automatic DTMF sending stopped */ |
|
1106 case ECCPDtmfSequenceStop: |
|
1107 //break; |
|
1108 /** Automatic DTMF sending aborted */ |
|
1109 case ECCPDtmfSequenceAbort: |
|
1110 //break; |
|
1111 /** There was stop mark in DTMF string */ |
|
1112 case ECCPDtmfStopInDtmfString: |
|
1113 //break; |
|
1114 /** DTMF sending completed succesfully */ |
|
1115 case ECCPDtmfStringSendingCompleted: |
|
1116 //TMS_EVENT_DTMF_TONE_STOPPED |
|
1117 dtmfpckg().iRequest = ECmdDTMFTonePlayFinished; |
1107 dtmfpckg().iRequest = ECmdDTMFTonePlayFinished; |
1118 break; |
1108 break; |
1119 default: |
1109 default: |
1120 break; |
1110 break; |
1121 } |
1111 } |
1247 pckg().iOutput = TOTMSOUTPUT(aTelephonyAudioRouting.Output()); |
1237 pckg().iOutput = TOTMSOUTPUT(aTelephonyAudioRouting.Output()); |
1248 if (iTarSettings) |
1238 if (iTarSettings) |
1249 { |
1239 { |
1250 iTarSettings->SetTar(pckg, ETrue); |
1240 iTarSettings->SetTar(pckg, ETrue); |
1251 } |
1241 } |
1252 //TRACE_PRN_IF_ERR(aError); |
|
1253 TRACE_PRN_FN_EXT; |
1242 TRACE_PRN_FN_EXT; |
1254 } |
1243 } |
1255 |
1244 |
1256 // ----------------------------------------------------------------------------- |
1245 // ----------------------------------------------------------------------------- |
1257 // TMSCallCSAdpt::NotifyClient |
1246 // TMSCallCSAdpt::NotifyClient |
1258 // |
1247 // |
1259 // ----------------------------------------------------------------------------- |
1248 // ----------------------------------------------------------------------------- |
1260 // |
1249 // |
1261 void TMSCallCSAdpt::NotifyClient(const gint strmId, const gint aCommand, |
1250 void TMSCallCSAdpt::NotifyClient(const gint strmId, const gint command, |
1262 const gint aStatus, const gint64 /*aInt64*/) |
1251 const gint status, const gint64 /*int64*/) |
1263 { |
1252 { |
1264 iMsgBuffer.iRequest = aCommand; |
1253 iMsgBuffer.iRequest = command; |
1265 iMsgBuffer.iStatus = aStatus; |
1254 iMsgBuffer.iStatus = status; |
1266 |
1255 |
1267 if (strmId == iUplinkStreamId) |
1256 if (strmId == iUplinkStreamId) |
1268 { |
1257 { |
1269 iMsgQueueUp.Send(iMsgBuffer); |
1258 iMsgQueueUp.Send(iMsgBuffer); |
1270 } |
1259 } |