83 } |
78 } |
84 |
79 |
85 void CScriptIO::CreateChannel(TRequestStatus& aStatus) |
80 void CScriptIO::CreateChannel(TRequestStatus& aStatus) |
86 { |
81 { |
87 ASSERT(iCreateAndShutdownStatus == NULL); |
82 ASSERT(iCreateAndShutdownStatus == NULL); |
88 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_CREATECHANNEL_1,"Script:\tOpening Comm Port '%S'", iCommsChannel); |
83 __FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),_L("Script:\tOpening Comm Port '%S'"), &iCommsChannel); |
89 |
84 |
90 iCommClosed = EFalse; |
85 iCommClosed = EFalse; |
91 TInt err = CommOpen(iCommsChannel); |
86 TInt err = CommOpen(iCommsChannel); |
92 if (err != KErrNone) |
87 if (err != KErrNone) |
93 { |
88 { |
94 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_CREATECHANNEL_2, "Script: Error %d opening Comm Port", err); |
89 __FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),_L("Script: Error %d opening Comm Port"), err); |
95 TRequestStatus* stat = &aStatus; |
90 TRequestStatus* stat = &aStatus; |
96 User::RequestComplete(stat, err); |
91 User::RequestComplete(stat, err); |
97 } |
92 } |
98 iCreateAndShutdownStatus = &aStatus; |
93 iCreateAndShutdownStatus = &aStatus; |
99 } |
94 } |
100 |
95 |
101 void CScriptIO::CancelCreateChannel() |
96 void CScriptIO::CancelCreateChannel() |
102 { |
97 { |
103 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_CANCELCREATECHANNEL_1, "Script:\tCancelCreateChannel()"); |
98 __FLOG_STMT(_LIT8(logString,"Script:\tCancelCreateChannel()");) |
|
99 __FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString()); |
104 CommCancel(); |
100 CommCancel(); |
105 } |
101 } |
106 |
102 |
107 void CScriptIO::InitializeComplete() |
103 void CScriptIO::InitializeComplete() |
108 { |
104 { |
109 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_INITIALIZECOMPLETE_1,"Script:\tInitializeComplete()"); |
105 __FLOG_STMT(_LIT8(logString,"Script:\tInitializeComplete()");) |
|
106 __FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString()); |
110 ASSERT(iCreateAndShutdownStatus); |
107 ASSERT(iCreateAndShutdownStatus); |
111 User::RequestComplete(iCreateAndShutdownStatus, KErrNone); |
108 User::RequestComplete(iCreateAndShutdownStatus, KErrNone); |
112 iCreateAndShutdownStatus = NULL; |
109 iCreateAndShutdownStatus = NULL; |
113 } |
110 } |
114 |
111 |
115 void CScriptIO::ShutdownComplete(TInt aError) |
112 void CScriptIO::ShutdownComplete(TInt aError) |
116 { |
113 { |
117 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_SHUTDOWNCOMPLETE_1, _"Script:\tShutdownComplete(aError %d)", aError); |
114 __FLOG_STMT(_LIT8(logString,"Script:\tShutdownComplete(aError %d)");) |
|
115 __FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),logString(), aError); |
118 |
116 |
119 ASSERT(iCreateAndShutdownStatus); |
117 ASSERT(iCreateAndShutdownStatus); |
120 if (iCreateError != KErrNone) //The creation error is probably more interesting than a bad shutdown error |
118 if (iCreateError != KErrNone) //The creation error is probably more interesting than a bad shutdown error |
121 { |
119 { |
122 aError = iCreateError; |
120 aError = iCreateError; |
199 void CScriptIO::CommReadComplete(TInt aStatus) |
198 void CScriptIO::CommReadComplete(TInt aStatus) |
200 /** |
199 /** |
201 Reads completely - stops timer and if no error checks string against the desired string |
200 Reads completely - stops timer and if no error checks string against the desired string |
202 */ |
201 */ |
203 { |
202 { |
204 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_COMMREADCOMPLETE_1,"Script:\tRead Complete"); |
203 __FLOG_STMT(_LIT8(logString1,"Script:\tRead Complete");) |
|
204 __FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString1()); |
205 if(aStatus==KErrCommsLineFail) |
205 if(aStatus==KErrCommsLineFail) |
206 { |
206 { |
207 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_COMMREADCOMPLETE_2,"Script:\tComms Error %d",aStatus); |
207 __FLOG_STMT(_LIT8(logString2,"Script:\tComms Error %d");) |
|
208 __FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),TRefByValue<const TDesC8>(logString2()),aStatus); |
208 iChat->StopTimer(); |
209 iChat->StopTimer(); |
209 iReadPending=EFalse; |
210 iReadPending=EFalse; |
210 TRAPD(ret,iScriptExecutor->CompletedReadL(KErrCommsLineFail)); |
211 TRAPD(ret,iScriptExecutor->CompletedReadL(KErrCommsLineFail)); |
211 if (KErrNone != ret) |
212 if (KErrNone != ret) |
212 { |
213 { |
213 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_COMMREADCOMPLETE_3,"Script:\tCompleteReadL Failure"); |
214 __FLOG_STMT(_LIT8(logString6,"Script:\tCompleteReadL Failure");) |
|
215 __FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString6()); |
214 } |
216 } |
215 return; |
217 return; |
216 } |
218 } |
217 |
219 |
218 __ASSERT_ALWAYS(iReadPending,NetDialPanic(EIllegalReadComplete)); |
220 __ASSERT_ALWAYS(iReadPending,NetDialPanic(EIllegalReadComplete)); |
219 iReadPending=EFalse; |
221 iReadPending=EFalse; |
220 |
222 |
221 |
223 |
222 if (aStatus==KErrCommsFrame) |
224 if (aStatus==KErrCommsFrame) |
223 { |
225 { |
224 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_COMMREADCOMPLETE_4, "Script:\tComms Error %d",aStatus); |
226 __FLOG_STMT(_LIT(logString3,"Script:\tComms Error %d");) |
|
227 __FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),TRefByValue<const TDesC>(logString3()),aStatus); |
225 User::After(KClockTick); // wait for a clock tick and continue |
228 User::After(KClockTick); // wait for a clock tick and continue |
226 aStatus=KErrNone; |
229 aStatus=KErrNone; |
227 } |
230 } |
228 |
231 |
229 else if (aStatus!=KErrNone) |
232 else if (aStatus!=KErrNone) |
230 { |
233 { |
231 TRAPD(ret,iScriptExecutor->CompletedReadL(aStatus)); |
234 TRAPD(ret,iScriptExecutor->CompletedReadL(aStatus)); |
232 if (KErrNone != ret) |
235 if (KErrNone != ret) |
233 { |
236 { |
234 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_COMMREADCOMPLETE_5,"Script:\tCompleteReadL Failure"); |
237 __FLOG_STMT(_LIT8(logString7,"Script:\tCompleteReadL Failure");) |
|
238 __FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString7()); |
235 } |
239 } |
236 return; |
240 return; |
237 } |
241 } |
238 |
242 |
239 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_COMMREADCOMPLETE_7, "Rx:\t%s",iRxBuffer); |
243 #ifdef __FLOG_ACTIVE |
240 |
244 _LIT(logString4,"Rx:\t%S"); |
|
245 TBuf16<KLogBufferSize> temp; |
|
246 temp.Copy(iRxBuffer.Left(Min(iRxBuffer.Length(),KLogBufferSize))); |
|
247 __FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),TRefByValue<const TDesC>(logString4()),&temp); |
|
248 #endif |
241 |
249 |
242 if (iScriptExecutor->RequestUsePct()) |
250 if (iScriptExecutor->RequestUsePct()) |
243 { |
251 { |
244 TInt err=iScriptExecutor->WritePct(iRxBuffer); |
252 TInt err=iScriptExecutor->WritePct(iRxBuffer); |
245 if (err!=KErrNone) |
253 if (err!=KErrNone) |
246 { |
254 { |
247 TRAPD(ret,iScriptExecutor->CompletedReadL(err)); |
255 TRAPD(ret,iScriptExecutor->CompletedReadL(err)); |
248 if (KErrNone != ret) |
256 if (KErrNone != ret) |
249 { |
257 { |
250 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_COMMREADCOMPLETE_8,"Script:\tCompleteReadL Failure"); |
258 __FLOG_STMT(_LIT8(logString8,"Script:\tCompleteReadL Failure");) |
|
259 __FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString8()); |
251 } |
260 } |
252 return; |
261 return; |
253 } |
262 } |
254 } |
263 } |
255 |
264 |
288 void CScriptIO::CommWriteComplete(TInt aStatus) |
303 void CScriptIO::CommWriteComplete(TInt aStatus) |
289 /** |
304 /** |
290 Writes completely - stops timer |
305 Writes completely - stops timer |
291 */ |
306 */ |
292 { |
307 { |
293 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_COMMWRITECOMPLETE_1,"Script:\tWrite Complete"); |
308 __FLOG_STMT(_LIT8(logString,"Script:\tWrite Complete");) |
|
309 __FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString()); |
294 iChat->StopTimer(); |
310 iChat->StopTimer(); |
295 if(aStatus==KErrCommsLineFail) |
311 if(aStatus==KErrCommsLineFail) |
296 { |
312 { |
297 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_COMMWRITECOMPLETE_2, "Script:\tComms Error %d",aStatus); |
313 __FLOG_STMT(_LIT8(logString2,"Script:\tComms Error %d");) |
|
314 __FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),logString2(),aStatus); |
298 iWritePending=EFalse; |
315 iWritePending=EFalse; |
299 iScriptExecutor->CompletedWrite(KErrCommsLineFail); |
316 iScriptExecutor->CompletedWrite(KErrCommsLineFail); |
300 return; |
317 return; |
301 } |
318 } |
302 __ASSERT_ALWAYS(iWritePending,NetDialPanic(EIllegalWriteComplete)); |
319 __ASSERT_ALWAYS(iWritePending,NetDialPanic(EIllegalWriteComplete)); |
321 */ |
339 */ |
322 { |
340 { |
323 CommCancel(); |
341 CommCancel(); |
324 if(iWritePending) |
342 if(iWritePending) |
325 { |
343 { |
326 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_CHATTIMEOUT_1, "Script:\tWrite Chat Time Out"); |
344 __FLOG_STMT(_LIT8(logString1,"Script:\tWrite Chat Time Out");) |
|
345 __FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString1()); |
327 iWritePending=EFalse; |
346 iWritePending=EFalse; |
328 iScriptExecutor->CompletedWrite(KErrTimedOut); |
347 iScriptExecutor->CompletedWrite(KErrTimedOut); |
329 } |
348 } |
330 else if(iReadPending) |
349 else if(iReadPending) |
331 { |
350 { |
332 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_CHATTIMEOUT_2,"Script:\tRead Chat Time Out"); |
351 __FLOG_STMT(_LIT8(logString2,"Script:\tRead Chat Time Out");) |
|
352 __FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString2()); |
333 iReadPending=EFalse; |
353 iReadPending=EFalse; |
334 TRAPD(ret,iScriptExecutor->CompletedReadL(KErrTimedOut)); |
354 TRAPD(ret,iScriptExecutor->CompletedReadL(KErrTimedOut)); |
335 if (KErrNone != ret) |
355 if (KErrNone != ret) |
336 { |
356 { |
337 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_CHATTIMEOUT_3,"Script:\tCompleteReadL Failure"); |
357 __FLOG_STMT(_LIT8(logString3,"Script:\tCompleteReadL Failure");) |
|
358 __FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString3()); |
338 } |
359 } |
339 } |
360 } |
340 else |
361 else |
341 NetDialPanic(EIllegalTimeOutComplete); |
362 NetDialPanic(EIllegalTimeOutComplete); |
342 } |
363 } |
359 // |
380 // |
360 TReal realTimeInterval=aTimeOut*KTRealOneSecInMicroSecs; |
381 TReal realTimeInterval=aTimeOut*KTRealOneSecInMicroSecs; |
361 TInt timeInterval=TInt(realTimeInterval); |
382 TInt timeInterval=TInt(realTimeInterval); |
362 if (realTimeInterval>TReal(timeInterval)) |
383 if (realTimeInterval>TReal(timeInterval)) |
363 timeInterval++; |
384 timeInterval++; |
364 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_READ_1,"Script:\tRead Pending In %d Microseconds",timeInterval); |
385 __FLOG_STMT(_LIT8(logString,"Script:\tRead Pending In %d Microseconds");) |
365 |
386 __FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),logString(),timeInterval); |
366 // |
387 // |
367 iChat->StartTimer(timeInterval); |
388 iChat->StartTimer(timeInterval); |
368 CommReadOneOrMore(iRxBuffer); |
389 CommReadOneOrMore(iRxBuffer); |
369 iRxBufOffset=0; |
390 iRxBufOffset=0; |
370 } |
391 } |
400 void CScriptIO::PreSendPauseCompleted() |
422 void CScriptIO::PreSendPauseCompleted() |
401 /** |
423 /** |
402 PreSend pause is finished, can now do write. |
424 PreSend pause is finished, can now do write. |
403 */ |
425 */ |
404 { |
426 { |
405 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSCRIPTIO_PRESENDPAUSECOMPLETED_1, "Tx:\t%s",iTxBuffer); |
427 #ifdef __FLOG_ACTIVE |
|
428 _LIT(logString,"Tx:\t%S"); |
|
429 TBuf16<KLogBufferSize> temp; |
|
430 temp.Copy(iTxBuffer.Left(Min(iTxBuffer.Length(),KLogBufferSize))); |
|
431 __FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),TRefByValue<const TDesC>(logString()),&temp); |
|
432 #endif |
406 CommWrite(iTxBuffer); |
433 CommWrite(iTxBuffer); |
407 iChat->StartTimer(KWriteTimeOutSec*KOneSecInMicroSecs); |
434 iChat->StartTimer(KWriteTimeOutSec*KOneSecInMicroSecs); |
408 } |
435 } |
409 |
436 |
410 TBool CScriptIO::RWPending() |
437 TBool CScriptIO::RWPending() |