79 } |
89 } |
80 Cancel(); |
90 Cancel(); |
81 |
91 |
82 if( iIscApi ) |
92 if( iIscApi ) |
83 { |
93 { |
|
94 OstTrace0( TRACE_NORMAL, DUP2_CMODEMATHANDLER_CMODEMATHANDLER, "CModemAtHandler::~CModemAtHandler - closing isc api" ); |
|
95 C_TRACE(( _T("CModemAtHandler::~CModemAtHandler() closing isc api") )); |
84 iIscApi->Close(); |
96 iIscApi->Close(); |
85 delete iIscApi; |
97 delete iIscApi; |
86 } |
98 } |
87 } |
99 } |
88 |
100 |
89 CModemAtHandler::CModemAtHandler( CModemAtSrv& aServer ) |
101 CModemAtHandler::CModemAtHandler( CModemAtSrv& aServer, TInt aChannel ) |
90 : CActive( EPriorityHigh ), |
102 : CActive( EPriorityHigh ), |
91 iServer( aServer ), |
103 iServer( aServer ), |
92 iIscApi( NULL ), |
104 iIscApi( NULL ), |
93 iReceivedMessageBuffer( NULL ), |
105 iReceivedMessageBuffer( NULL ), |
94 iMessageBufferSize( KMaxBufferLength ), |
106 iMessageBufferSize( KMaxBufferLength ), |
95 iReceivePtr( 0, 0 ), |
107 iReceivePtr( 0, 0 ), |
96 iReceiveMessageLength( 0 ), |
108 iReceiveMessageLength( 0 ), |
97 iReceivedMessage( NULL ), |
109 iReceivedMessage( NULL ), |
98 iPepObjId(0), |
110 iPepObjId(0), |
|
111 iDataportObjId(0), |
99 iPipeController(NULL), |
112 iPipeController(NULL), |
100 iLastTransactionId( 0 ), |
113 iLastTransactionId( 0 ), |
101 iDisconnected( EFalse ), |
114 iDisconnected( EFalse ), |
102 iModemAtExistInCmt( EFalse ) |
115 iModemAtExistInCmt( EFalse ), |
103 { |
116 iTextMessageMode( EFalse ), |
|
117 iChannel( aChannel ) |
|
118 { |
|
119 OstTrace0( TRACE_NORMAL, DUP1_CMODEMATHANDLER_CMODEMATHANDLER, "CModemAtHandler::CModemAtHandler" ); |
104 C_TRACE (( _T("CModemAtHandler::CModemAtHandler") )); |
120 C_TRACE (( _T("CModemAtHandler::CModemAtHandler") )); |
105 } |
121 } |
106 |
122 |
107 void CModemAtHandler::DoCancel() |
123 void CModemAtHandler::DoCancel() |
108 { |
124 { |
|
125 OstTrace0( TRACE_NORMAL, CMODEMATHANDLER_DOCANCEL, "CModemAtHandler::DoCancel" ); |
109 C_TRACE (( _T("CModemAtHandler::DoCancel()") )); |
126 C_TRACE (( _T("CModemAtHandler::DoCancel()") )); |
110 iIscApi->ReceiveCancel(); |
127 iIscApi->ReceiveCancel(); |
111 } |
128 } |
112 |
129 |
113 |
130 |
114 void CModemAtHandler::RunL() |
131 void CModemAtHandler::RunL() |
115 { |
132 { |
116 C_TRACE (( _T("CModemAtHandler::RunL()") )); |
133 OstTrace0( TRACE_NORMAL, CMODEMATHANDLER_RUNL, "CModemAtHandler::RunL" ); |
|
134 C_TRACE (( _T("CModemAtHandler::RunL() %d"), iDteId )); |
117 |
135 |
118 if( iStatus == KErrNone ) |
136 if( iStatus == KErrNone ) |
119 { |
137 { |
120 TIsiReceiveC receiveMessage = TIsiReceiveC( *iReceivedMessageBuffer ); |
138 TIsiReceiveC receiveMessage = TIsiReceiveC( *iReceivedMessageBuffer ); |
|
139 OstTraceExt1( TRACE_NORMAL, DUP1_CMODEMATHANDLER_RUNL, "CModemAtHandler::RunL - message dump;iReceivePtr=%s", iReceivePtr ); |
121 DUMP_MESSAGE( iReceivePtr ); |
140 DUMP_MESSAGE( iReceivePtr ); |
122 |
141 |
123 if( iReceivedMessageBuffer->Length() > ISI_HEADER_OFFSET_MESSAGEID ) |
142 if( iReceivedMessageBuffer->Length() > ISI_HEADER_OFFSET_MESSAGEID ) |
124 { |
143 { |
125 switch(receiveMessage.Get8bit(ISI_HEADER_OFFSET_RESOURCEID)) |
144 switch(receiveMessage.Get8bit(ISI_HEADER_OFFSET_RESOURCEID)) |
126 { |
145 { |
127 case PN_AT_MODEM: //AT MODEM COMMANDS |
146 case PN_AT_MODEM: //AT MODEM COMMANDS |
|
147 OstTrace0( TRACE_NORMAL, DUP2_CMODEMATHANDLER_RUNL, "CModemAtHandler::RunL - PN_AT_MODEM" ); |
128 C_TRACE(_L("PN_AT_MODEM")); |
148 C_TRACE(_L("PN_AT_MODEM")); |
129 |
149 |
130 switch( receiveMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ) |
150 switch( receiveMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ) |
131 { |
151 { |
132 case AT_MODEM_CONNECT_RESP: |
152 case AT_MODEM_CONNECT_RESP: |
133 HandleModemConnectResp( receiveMessage ); |
153 HandleModemConnectResp( receiveMessage ); |
134 break; |
154 break; |
135 |
155 |
136 case AT_MODEM_DISCONNECT_RESP: |
156 case AT_MODEM_DISCONNECT_RESP: |
|
157 OstTrace0( TRACE_NORMAL, DUP3_CMODEMATHANDLER_RUNL, "CModemAtHandler::RunL - AT_MODEM_DISCONNECT_RESP" ); |
137 C_TRACE(_L("AT_MODEM_DISCONNECT_RESP")); |
158 C_TRACE(_L("AT_MODEM_DISCONNECT_RESP")); |
138 break; |
159 break; |
139 |
160 |
140 case AT_MODEM_CMD_RESP: |
161 case AT_MODEM_CMD_RESP: |
141 HandleATResponse( receiveMessage ); |
162 HandleATResponse( receiveMessage ); |
210 } |
238 } |
211 |
239 |
212 |
240 |
213 void CModemAtHandler::ConstructL() |
241 void CModemAtHandler::ConstructL() |
214 { |
242 { |
|
243 OstTrace0( TRACE_NORMAL, CMODEMATHANDLER_CONSTRUCTL, "CModemAtHandler::ConstructL" ); |
215 C_TRACE (( _T("CModemAtHandler::ConstructL()") )); |
244 C_TRACE (( _T("CModemAtHandler::ConstructL()") )); |
216 |
245 |
217 CActiveScheduler::Add( this ); |
246 CActiveScheduler::Add( this ); |
218 |
247 |
219 iIscApi = new ( ELeave ) RIscApi; |
248 iIscApi = new ( ELeave ) RIscApi; |
|
249 OstTrace0( TRACE_NORMAL, DUP1_CMODEMATHANDLER_CONSTRUCTL, "CModemAtHandler::ConstructL - RIscApi created" ); |
220 C_TRACE(_L("RIscApi created")); |
250 C_TRACE(_L("RIscApi created")); |
221 |
251 |
222 #ifndef __WINSCW__ |
252 #ifndef __WINSCW__ |
223 OpenChannelL(); |
253 OpenChannelL(); |
224 #ifndef NCP_COMMON_BRIDGE_FAMILY |
254 if( iChannel == EIscNokiaAtController ) |
225 iPipeController->QueryModemAtFromNameService(); |
255 { |
226 #endif |
256 iPipeController->QueryModemAtFromNameService(); |
|
257 } |
|
258 else |
|
259 { |
|
260 SetModemAtExistsInCmt( ETrue ); |
|
261 } |
227 #else |
262 #else |
228 iEmulatedValue = 0; |
263 iEmulatedValue = 0; |
229 #endif |
264 #endif |
230 |
265 |
231 } |
266 } |
232 |
267 |
233 TInt CModemAtHandler::SendATCommand(const TUint8 aDteId, |
268 TInt CModemAtHandler::SendATCommand( |
234 const TATPluginInterface aPluginType, |
269 const TATPluginInterface aPluginType, |
235 const TUint8 aMessageType, |
270 const TUint8 aMessageType, |
236 const TDesC8& aCmd) |
271 const TDesC8& aCmd) |
237 { |
272 { |
238 C_TRACE (( _T(">>CModemAtHandler::SendATCommand()") )); |
273 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_SENDATCOMMAND, "CModemAtHandler::SendATCommand;iDteId=%d", iDteId ); |
|
274 C_TRACE (( _T(">>CModemAtHandler::SendATCommand() %d"), iDteId )); |
239 |
275 |
240 TInt err = KErrNone; |
276 TInt err = KErrNone; |
241 // aMessageType contains normal AT-cmd (0) or Nvram-query (1) |
277 // aMessageType contains normal AT-cmd (0) or Nvram-query (1) |
242 TUint transactionId = ( aPluginType << KTransactionIdBitsShift ) | aMessageType; |
278 TUint transactionId = ( aPluginType << KTransactionIdBitsShift ) | aMessageType; |
243 // used with intermediate data ind |
279 // used with intermediate data ind |
244 // can be removed, when AT_MODEM_INTERMEDIATE_DATA_IND supports transactionid |
280 // can be removed, when AT_MODEM_INTERMEDIATE_DATA_IND supports transactionid |
245 iLastTransactionId = transactionId; //messages are routed to correct plugin by transaction id |
281 iLastTransactionId = transactionId; //messages are routed to correct plugin by transaction id |
|
282 OstTraceExt4( TRACE_NORMAL, DUP1_CMODEMATHANDLER_SENDATCOMMAND, "CModemAtHandler::SendATCommand;transactionId=%d;aPluginType=%d;aMessageType=%d;iLastTransactionId=%d", transactionId, aPluginType, aMessageType, iLastTransactionId ); |
246 C_TRACE((_L("transaction id %d, plugintype %d, aMessageType %d"), transactionId, aPluginType, aMessageType)); |
283 C_TRACE((_L("transaction id %d, plugintype %d, aMessageType %d"), transactionId, aPluginType, aMessageType)); |
247 C_TRACE((_L("iLastTransctionId = %d "), iLastTransactionId )); |
284 C_TRACE((_L("iLastTransctionId = %d "), iLastTransactionId )); |
248 |
285 |
249 #ifdef __WINSCW__ |
|
250 iDteId = aDteId; |
|
251 iChannel = aMessageType; |
|
252 iPluginType = aPluginType; |
|
253 HandleATResponse(); |
|
254 return KErrNone; |
|
255 #endif |
|
256 |
|
257 TInt size = ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_CMDLINEBUFFER + aCmd.Length(); |
286 TInt size = ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_CMDLINEBUFFER + aCmd.Length(); |
258 |
287 |
259 TInt sizeWithFillers = size; |
288 TInt sizeWithFillers = size; |
260 while( sizeWithFillers % KAlignToFourBytes ) |
289 while( sizeWithFillers % KAlignToFourBytes ) |
261 { |
290 { |
262 sizeWithFillers++; |
291 sizeWithFillers++; |
263 } |
292 } |
|
293 OstTrace1( TRACE_NORMAL, DUP2_CMODEMATHANDLER_SENDATCOMMAND, "CModemAtHandler::SendATCommand - Message length;sizeWithFillers=%d", sizeWithFillers ); |
264 C_TRACE((_L("Message length %d"), sizeWithFillers)); |
294 C_TRACE((_L("Message length %d"), sizeWithFillers)); |
265 |
295 |
266 HBufC8* message = HBufC8::New( sizeWithFillers ); |
296 HBufC8* message = HBufC8::New( sizeWithFillers ); |
267 if( message ) |
297 if( message ) |
268 { |
298 { |
269 TPtr8 messageptr = message->Des(); |
299 TPtr8 messageptr = message->Des(); |
270 TIsiSend isimessage( messageptr, sizeWithFillers ); |
300 TIsiSend isimessage( messageptr, sizeWithFillers ); |
271 isimessage.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_AT_MODEM ); |
301 isimessage.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_AT_MODEM ); |
272 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_TID, transactionId ); |
302 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_TID, transactionId ); |
273 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_MESSAGEID, AT_MODEM_CMD_REQ ); |
303 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_MESSAGEID, AT_MODEM_CMD_REQ ); |
274 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_DTEID, aDteId ); |
304 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_DTEID, iDteId ); |
275 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_FILLERBYTE1, 0 ); |
305 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_FILLERBYTE1, 0 ); |
|
306 OstTrace1( TRACE_NORMAL, DUP3_CMODEMATHANDLER_SENDATCOMMAND, "CModemAtHandler::SendATCommand - AT command length:;aCmd.Length()=%d", aCmd.Length() ); |
276 C_TRACE((_L("AT command length: %d"), aCmd.Length())); |
307 C_TRACE((_L("AT command length: %d"), aCmd.Length())); |
277 isimessage.Set16bit( ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_LENGTH, (TUint16) aCmd.Length() ); |
308 isimessage.Set16bit( ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_LENGTH, (TUint16) aCmd.Length() ); |
278 |
309 |
279 const TUint8* ptr = aCmd.Ptr(); |
310 const TUint8* ptr = aCmd.Ptr(); |
280 for ( TInt i = 0; i < aCmd.Length(); i++ ) |
311 for ( TInt i = 0; i < aCmd.Length(); i++ ) |
281 { |
312 { |
|
313 OstTraceExt3( TRACE_NORMAL, DUP4_CMODEMATHANDLER_SENDATCOMMAND, "CModemAtHandler::SendATCommand - message;i=%d;ptr[i]=%x;charptr[i]=%c", i, ptr[i], ptr[i] ); |
282 C_TRACE((_L("message %d, 0x%x '%c'"), i, ptr[i], ptr[i])); |
314 C_TRACE((_L("message %d, 0x%x '%c'"), i, ptr[i], ptr[i])); |
283 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_CMDLINEBUFFER + i, ptr[i]); |
315 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_CMD_REQ_OFFSET_CMDLINEBUFFER + i, ptr[i]); |
284 } |
316 } |
285 |
317 |
286 for( TInt j = sizeWithFillers; j < size; j++ ) |
318 for( TInt j = sizeWithFillers; j < size; j++ ) |
287 { |
319 { |
|
320 OstTrace1( TRACE_NORMAL, DUP5_CMODEMATHANDLER_SENDATCOMMAND, "CModemAtHandler::SendATCommand - Add filler;j=%d", j ); |
288 C_TRACE((_L("Add filler [%d]"), j)); |
321 C_TRACE((_L("Add filler [%d]"), j)); |
289 isimessage.Set8bit( j , KFiller ); |
322 isimessage.Set8bit( j , KFiller ); |
290 } |
323 } |
291 |
324 |
292 isimessage.Complete(); |
325 isimessage.Complete(); |
|
326 OstTraceExt1( TRACE_NORMAL, DUP6_CMODEMATHANDLER_SENDATCOMMAND, "CModemAtHandler::SendATCommand - Created ISI-message;messageptr=%s", messageptr ); |
293 C_TRACE(_L("Created ISI-message")); |
327 C_TRACE(_L("Created ISI-message")); |
294 DUMP_MESSAGE( messageptr ); |
328 DUMP_MESSAGE( messageptr ); |
295 |
329 |
296 err = iIscApi->Send( messageptr ); |
330 err = iIscApi->Send( messageptr ); |
297 TRACE_ASSERT( err == KErrNone ); |
331 TRACE_ASSERT( err == KErrNone ); |
298 delete message; |
332 delete message; |
299 message = NULL; |
333 message = NULL; |
300 } |
334 } |
301 else |
335 else |
302 { |
336 { |
|
337 OstTrace0( TRACE_NORMAL, DUP7_CMODEMATHANDLER_SENDATCOMMAND, "CModemAtHandler::SendATCommand - No memory - error in sending ISI message from heap" ); |
303 C_TRACE(_L("No memory - error in sending ISI message from heap")); |
338 C_TRACE(_L("No memory - error in sending ISI message from heap")); |
304 TRACE_ASSERT_ALWAYS; |
339 TRACE_ASSERT_ALWAYS; |
305 } |
340 } |
|
341 |
|
342 OstTrace1( TRACE_NORMAL, DUP8_CMODEMATHANDLER_SENDATCOMMAND, "CModemAtHandler::SendATCommand;err=%d", err ); |
306 C_TRACE (( _T("<<CModemAtHandler::SendATCommand() err: %d"), err )); |
343 C_TRACE (( _T("<<CModemAtHandler::SendATCommand() err: %d"), err )); |
307 return err; |
344 return err; |
308 } |
345 } |
309 |
346 |
310 void CModemAtHandler::OpenChannelL() |
347 void CModemAtHandler::OpenChannelL() |
311 { |
348 { |
|
349 OstTrace0( TRACE_NORMAL, CMODEMATHANDLER_OPENCHANNELL, "CModemAtHandler::OpenChannelL" ); |
312 C_TRACE (( _T("CModemAtHandler::OpenChannelL()") )); |
350 C_TRACE (( _T("CModemAtHandler::OpenChannelL()") )); |
313 TRequestStatus openStatus; |
351 TRequestStatus openStatus; |
314 |
352 |
315 iIscApi->Open( EIscNokiaAtController, openStatus, EOwnerThread ); |
353 iIscApi->Open( iChannel, openStatus, EOwnerThread ); |
316 User::WaitForRequest( openStatus ); |
354 User::WaitForRequest( openStatus ); |
317 |
355 |
318 TRACE_ASSERT( !openStatus.Int()); |
356 TRACE_ASSERT( !openStatus.Int()); |
319 |
357 |
320 if( iReceivedMessageBuffer ) |
358 if( iReceivedMessageBuffer ) |
341 events.Append( PN_AT_MODEM ); |
381 events.Append( PN_AT_MODEM ); |
342 events.Append( AT_MODEM_UNSOLICITED_DATA_IND ); |
382 events.Append( AT_MODEM_UNSOLICITED_DATA_IND ); |
343 events.Append( PN_AT_MODEM ); |
383 events.Append( PN_AT_MODEM ); |
344 events.Append( AT_MODEM_DATA_REDIRECT_IND ); |
384 events.Append( AT_MODEM_DATA_REDIRECT_IND ); |
345 |
385 |
346 #ifndef NCP_COMMON_BRIDGE_FAMILY |
386 #ifndef PIPECAMP_UNSUBSCRIBE_PNS_PEP_STATUS_IND |
|
387 events.Append( PN_PIPE ); |
|
388 events.Append( PNS_PEP_STATUS_IND ); |
|
389 #endif |
347 //name add ind |
390 //name add ind |
348 events.Append( PN_NAMESERVICE ); |
391 events.Append( PN_NAMESERVICE ); |
349 events.Append( PNS_NAME_ADD_IND ); |
392 events.Append( PNS_NAME_ADD_IND ); |
350 events.Append( PN_NAMESERVICE ); |
393 events.Append( PN_NAMESERVICE ); |
351 events.Append( PNS_NAME_REMOVE_IND ); |
394 events.Append( PNS_NAME_REMOVE_IND ); |
352 events.Append( PN_PIPE ); |
395 |
353 events.Append( PNS_PEP_STATUS_IND ); |
396 iIscApi->CustomFunction( EIscNokiaEventSubscribe, &events ); |
354 #else |
|
355 events.Append( 0 ); |
|
356 events.Append( 0 ); |
|
357 events.Append( 0 ); |
|
358 events.Append( 0 ); |
|
359 events.Append( 0 ); |
|
360 events.Append( 0 ); |
|
361 #endif |
|
362 |
|
363 iIscApi->CustomFunction(EIscNokiaEventSubscribe,&events); |
|
364 TBuf8<KObjectIdLength> objId; |
397 TBuf8<KObjectIdLength> objId; |
365 iIscApi->GetChannelInfo(EIscNokiaAtController, objId); |
398 iIscApi->GetChannelInfo( iChannel, objId ); |
366 |
399 |
367 iPepObjId = (((TUint16)(objId[0]))<<KEightBits) + objId[1]; |
400 iPepObjId = (((TUint16)(objId[0]))<<KEightBits) + objId[1]; |
|
401 OstTrace1( TRACE_NORMAL, DUP3_CMODEMATHANDLER_OPENCHANNELL, "CModemAtHandler::OpenChannelL;iPepObjId=%x", iPepObjId ); |
368 C_TRACE((_L("PepObjId 0x%x"),iPepObjId)); |
402 C_TRACE((_L("PepObjId 0x%x"),iPepObjId)); |
369 iPipeController = CModemAtPipeController::NewL(*iIscApi, iPepObjId, *this); |
403 iPipeController = CModemAtPipeController::NewL(*iIscApi, iPepObjId, *this); |
|
404 OstTraceExt1( TRACE_NORMAL, DUP4_CMODEMATHANDLER_OPENCHANNELL, "CModemAtHandler::OpenChannelL;iPipeController=%p", iPipeController ); |
370 C_TRACE((_L("iPipeController 0x%x"),iPipeController )); |
405 C_TRACE((_L("iPipeController 0x%x"),iPipeController )); |
371 ASSERT_PANIC_ALWAYS( iPipeController ); |
406 ASSERT_PANIC_ALWAYS( iPipeController ); |
|
407 |
|
408 TBuf8<KObjectIdLength> dpObjId; |
|
409 OstTrace0( TRACE_NORMAL, DUP5_CMODEMATHANDLER_OPENCHANNELL, "CModemAtHandler::OpenChannelL - GetChannelInfo(EIscNokiaDataport2)" ); |
|
410 C_TRACE(( _T("GetChannelInfo() EIscNokiaDataport2") )); |
|
411 iIscApi->GetChannelInfo( EIscNokiaDataport2, dpObjId ); |
|
412 |
|
413 OstTrace0( TRACE_NORMAL, DUP6_CMODEMATHANDLER_OPENCHANNELL, "CModemAtHandler::OpenChannelL - GetChannelInfo() done" ); |
|
414 C_TRACE(( _T("GetChannelInfo() done") )); |
|
415 iDataportObjId = (((TUint16)(dpObjId[0])) << KEightBits) + dpObjId[1]; |
|
416 OstTrace1( TRACE_NORMAL, DUP7_CMODEMATHANDLER_OPENCHANNELL, "CModemAtHandler::OpenChannelL;iDataportObjId=%x", iDataportObjId ); |
|
417 C_TRACE((_L("DataportObjId 0x%x"), iDataportObjId)); |
372 } |
418 } |
373 |
419 |
374 |
420 |
375 void CModemAtHandler::HandleATResponse( const TIsiReceiveC& aMessage ) |
421 void CModemAtHandler::HandleATResponse( const TIsiReceiveC& aMessage ) |
376 { |
422 { |
|
423 OstTrace0( TRACE_NORMAL, CMODEMATHANDLER_HANDLEATRESPONSE, "CModemAtHandler::HandleATResponse" ); |
377 C_TRACE (( _T("CModemAtHandler::HandleATResponse()") )); |
424 C_TRACE (( _T("CModemAtHandler::HandleATResponse()") )); |
378 |
425 |
379 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_RESP_OFFSET_DTEID ) ; |
426 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_RESP_OFFSET_DTEID ) ; |
380 TUint transactionId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_RESP_OFFSET_TID ); |
427 TUint transactionId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_RESP_OFFSET_TID ); |
381 TUint8 command = transactionId & KCommandBits; //normal AT-cmd or Nvram-query |
428 TUint8 command = transactionId & KCommandBits; //normal AT-cmd or Nvram-query |
382 TInt length = aMessage.Get16bit( ISI_HEADER_SIZE+AT_MODEM_CMD_RESP_OFFSET_LENGTH ); |
429 TInt length = aMessage.Get16bit( ISI_HEADER_SIZE + AT_MODEM_CMD_RESP_OFFSET_LENGTH ); |
|
430 OstTraceExt3( TRACE_NORMAL, DUP2_CMODEMATHANDLER_HANDLEATRESPONSE, "CModemAtHandler::HandleATResponse;dteId=%d;AT (0) or nvram command (1):;command=%d;Response length;length=%d", dteId, command, length ); |
383 C_TRACE(( _L("DteId: %d AT (0) or nvram command (1): %d Response length %d"), dteId, command, length )); |
431 C_TRACE(( _L("DteId: %d AT (0) or nvram command (1): %d Response length %d"), dteId, command, length )); |
384 |
432 |
385 /** |
433 /** |
386 * Plugintype can be read from transaction id: |
434 * Plugintype can be read from transaction id: |
387 * TUint8 pluginType = transactionId >> KTransactionIdBitsShift; |
435 * TUint8 pluginType = transactionId >> KTransactionIdBitsShift; |
388 * (TATPluginInterface) pluginType |
436 * (TATPluginInterface) pluginType |
389 * |
437 * |
390 * Current implementation uses first in first out response completion |
438 * Current implementation uses first in first out response completion |
391 * so plugintype is not needed. |
439 * so plugintype is not needed. |
392 */ |
440 */ |
|
441 OstTrace1( TRACE_NORMAL, DUP3_CMODEMATHANDLER_HANDLEATRESPONSE, "CModemAtHandler::HandleATResponse - ;Plugintype=%d", transactionId >> KTransactionIdBitsShift ); |
393 C_TRACE(( _L("Plugintype: %d"), transactionId >> KTransactionIdBitsShift )); |
442 C_TRACE(( _L("Plugintype: %d"), transactionId >> KTransactionIdBitsShift )); |
394 |
443 |
395 iServer.HandleATResponse( dteId, |
444 iServer.HandleATResponse( |
|
445 dteId, |
|
446 this, |
396 aMessage.GetData( ISI_HEADER_SIZE + AT_MODEM_CMD_RESP_OFFSET_CMDLINEBUFFER, length), |
447 aMessage.GetData( ISI_HEADER_SIZE + AT_MODEM_CMD_RESP_OFFSET_CMDLINEBUFFER, length), |
397 command ); |
448 command ); |
398 } |
449 } |
399 |
450 |
400 #ifdef __WINSCW__ |
451 #ifdef __WINSCW__ |
401 void CModemAtHandler::HandleATResponse( ) |
452 void CModemAtHandler::HandleATResponse( ) |
402 { |
453 { |
403 C_TRACE (( _T("CModemAtHandler::HandleATResponse()") )); |
454 OstTrace1( TRACE_NORMAL, DUP1_CMODEMATHANDLER_HANDLEATRESPONSE, "CModemAtHandler::HandleATResponse;iDteId=%d", iDteId ); |
|
455 C_TRACE (( _T("CModemAtHandler::HandleATResponse() %d"), iDteId )); |
404 //reply back immediately |
456 //reply back immediately |
405 const TInt KReplyLength(50); |
457 const TInt KReplyLength(50); |
406 TBuf8<KReplyLength> replyEmulated = _L8("\r\nAT TEST REPLY"); |
458 TBuf8<KReplyLength> replyEmulated = _L8("\r\nAT TEST REPLY"); |
407 replyEmulated.AppendNum(iEmulatedValue++); |
459 replyEmulated.AppendNum(iEmulatedValue++); |
408 replyEmulated.Append(_L8("\r\n")); |
460 replyEmulated.Append(_L8("\r\n")); |
409 iServer.HandleATResponse( iDteId, replyEmulated, 0 /* 0 = AT-cmd, 1 = nvram */); |
461 iServer.HandleATResponse( iDteId, this, replyEmulated, 0 /* 0 = AT-cmd, 1 = nvram */); |
410 } |
462 } |
411 #endif |
463 #endif |
412 |
464 |
413 |
465 |
414 TInt CModemAtHandler::Connect( const TUint8 aDteId ) |
466 TInt CModemAtHandler::Connect( TUint8 aDevId, TUint8 aObjId ) |
415 { |
467 { |
416 C_TRACE (( _T("CModemAtHandler::Connect()") )); |
468 OstTraceExt2( TRACE_NORMAL, CMODEMATHANDLER_CONNECT, "CModemAtHandler::Connect;aDevId=%hhx;aObjId=%hhx", aDevId, aObjId ); |
|
469 C_TRACE (( _T("CModemAtHandler::Connect() dev id: 0x%x, obj id: 0x%x"), aDevId, aObjId )); |
417 |
470 |
418 if( !iModemAtExistInCmt ) |
471 if( !iModemAtExistInCmt ) |
419 { |
472 { |
|
473 OstTrace0( TRACE_NORMAL, DUP1_CMODEMATHANDLER_CONNECT, "CModemAtHandler::Connect - Connection failed, PN_AT_MODEM is not in CMT" ); |
420 C_TRACE((_T("Connection failed, PN_AT_MODEM is not in CMT"))); |
474 C_TRACE((_T("Connection failed, PN_AT_MODEM is not in CMT"))); |
421 TRACE_ASSERT_ALWAYS; |
475 TRACE_ASSERT_ALWAYS; |
422 return KErrNotFound; |
476 return KErrNotFound; |
423 } |
477 } |
424 SetDisconnected( EFalse ); |
478 SetDisconnected( EFalse ); |
425 |
479 |
426 #ifdef __WINSCW__ |
480 iPipeController->SendCreatePipeMessage( aDevId, aObjId ); |
|
481 |
427 return KErrNone; |
482 return KErrNone; |
428 #endif |
|
429 |
|
430 TInt err( KErrNone ); |
|
431 TUint8 pipeHandle( KInvalidPipeHandle ); |
|
432 |
|
433 #ifndef NCP_COMMON_BRIDGE_FAMILY |
|
434 pipeHandle = iPipeController->GetPipeHandle(); |
|
435 #endif |
|
436 |
|
437 if( pipeHandle == KInvalidPipeHandle ) |
|
438 { |
|
439 C_TRACE(( _L("Connecting with dteId %d. (RComm was not used before connecting the plug-ins)."), aDteId )); |
|
440 err = SendAtModemConnectReq( aDteId ); |
|
441 } |
|
442 else |
|
443 { |
|
444 C_TRACE(( _L("Connecting with pipehandle %d."), pipeHandle )); |
|
445 err = SendAtModemConnectReq( pipeHandle ); |
|
446 } |
|
447 |
|
448 if( err != KErrNone ) |
|
449 { |
|
450 TRACE_ASSERT_ALWAYS; |
|
451 return KErrNotFound; |
|
452 } |
|
453 |
|
454 return KErrNone; |
|
455 } |
483 } |
456 |
484 |
457 void CModemAtHandler::SetDisconnected( TBool aIsDisconnected ) |
485 void CModemAtHandler::SetDisconnected( TBool aIsDisconnected ) |
458 { |
486 { |
|
487 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_SETDISCONNECTED, "CModemAtHandler::SetDisconnected;aIsDisconnected=%d", aIsDisconnected ); |
459 C_TRACE (( _T("CModemAtHandler::SetDisconnected(%d)"),aIsDisconnected )); |
488 C_TRACE (( _T("CModemAtHandler::SetDisconnected(%d)"),aIsDisconnected )); |
460 iDisconnected = aIsDisconnected; |
489 iDisconnected = aIsDisconnected; |
461 } |
490 } |
462 |
491 |
463 TBool CModemAtHandler::IsDisconnected() |
492 TBool CModemAtHandler::IsDisconnected() |
464 { |
493 { |
|
494 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_ISDISCONNECTED, "CModemAtHandler::IsDisconnected;iDisconnected=%d", iDisconnected ); |
465 C_TRACE (( _T("CModemAtHandler::IsDisconnected(%d)"),iDisconnected )); |
495 C_TRACE (( _T("CModemAtHandler::IsDisconnected(%d)"),iDisconnected )); |
466 return iDisconnected; |
496 return iDisconnected; |
467 } |
497 } |
468 |
498 |
469 TBool CModemAtHandler::IsPluginConnected() |
499 TBool CModemAtHandler::IsPluginConnected() |
470 { |
500 { |
|
501 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_ISPLUGINCONNECTED, "CModemAtHandler::IsPluginConnected;iServer.SessionCount()=%d", iServer.SessionCount() ); |
471 C_TRACE (( _T("CModemAtHandler::IsPluginConnected() sessions: %d"), iServer.SessionCount() )); |
502 C_TRACE (( _T("CModemAtHandler::IsPluginConnected() sessions: %d"), iServer.SessionCount() )); |
472 return iServer.SessionCount() > 0; |
503 return iServer.SessionCount() > 0; |
473 } |
504 } |
474 |
505 |
475 void CModemAtHandler::RemovePipe( const TUint8 aDteId ) |
506 void CModemAtHandler::RemovePipe() |
476 { |
507 { |
477 C_TRACE(( _T("CModemAtHandler::RemovePipe()"))); |
508 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_REMOVEPIPE, "CModemAtHandler::RemovePipe;iDteId=%d", iDteId ); |
|
509 C_TRACE(( _T("CModemAtHandler::RemovePipe() %d"), iDteId )); |
478 iDisconnected = ETrue; |
510 iDisconnected = ETrue; |
479 #ifndef NCP_COMMON_BRIDGE_FAMILY |
511 iPipeController->RemovePipe(); |
480 iPipeController->RemovePipe( aDteId ); |
512 } |
481 #endif |
513 |
482 } |
514 TInt CModemAtHandler::Disconnect() |
483 |
515 { |
484 TInt CModemAtHandler::Disconnect( const TUint8 aDteId ) |
516 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_DISCONNECT, "CModemAtHandler::Disconnect;iDteId=%d", iDteId ); |
485 { |
517 C_TRACE (( _T("CModemAtHandler::Disconnect(%d)"),iDteId )); |
486 C_TRACE (( _T("CModemAtHandler::Disconnect(%d)"),aDteId )); |
|
487 #ifdef __WINSCW__ |
|
488 iDteId = aDteId; |
|
489 return KErrNone; |
|
490 #endif |
|
491 |
518 |
492 TInt size = ISI_HEADER_SIZE + SIZE_AT_MODEM_DISCONNECT_REQ; |
519 TInt size = ISI_HEADER_SIZE + SIZE_AT_MODEM_DISCONNECT_REQ; |
493 HBufC8* message = HBufC8::New( size ); |
520 HBufC8* message = HBufC8::New( size ); |
494 TRACE_ASSERT( message ); |
521 TRACE_ASSERT( message ); |
495 TPtr8 messageptr = message->Des(); |
522 TPtr8 messageptr = message->Des(); |
496 TIsiSend isimessage( messageptr, size ); |
523 TIsiSend isimessage( messageptr, size ); |
497 isimessage.Set8bit(ISI_HEADER_OFFSET_RESOURCEID,PN_AT_MODEM); |
524 isimessage.Set8bit(ISI_HEADER_OFFSET_RESOURCEID,PN_AT_MODEM); |
498 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_DISCONNECT_REQ_OFFSET_TID, 0); |
525 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_DISCONNECT_REQ_OFFSET_TID, 0); |
499 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_DISCONNECT_REQ_OFFSET_MESSAGEID, |
526 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_DISCONNECT_REQ_OFFSET_MESSAGEID, |
500 AT_MODEM_DISCONNECT_REQ); |
527 AT_MODEM_DISCONNECT_REQ); |
501 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_DISCONNECT_REQ_OFFSET_DTEID, aDteId); |
528 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_DISCONNECT_REQ_OFFSET_DTEID, iDteId); |
502 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_DISCONNECT_REQ_OFFSET_FILLERBYTE1, KFiller); |
529 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_DISCONNECT_REQ_OFFSET_FILLERBYTE1, KFiller); |
503 isimessage.Complete(); |
530 isimessage.Complete(); |
504 |
531 |
|
532 OstTrace0( TRACE_NORMAL, DUP1_CMODEMATHANDLER_DISCONNECT, "CModemAtHandler::Disconnect - Sending AT_MODEM_DISCONNECT_REQ" ); |
505 C_TRACE (( _T("CModemAtHandler::Disconnect Sending AT_MODEM_DISCONNECT_REQ"))); |
533 C_TRACE (( _T("CModemAtHandler::Disconnect Sending AT_MODEM_DISCONNECT_REQ"))); |
506 TInt err = iIscApi->Send(messageptr); |
534 TInt err = iIscApi->Send(messageptr); |
507 TRACE_ASSERT( err == KErrNone ); |
535 TRACE_ASSERT( err == KErrNone ); |
508 delete message; |
536 delete message; |
509 return err; |
537 return err; |
511 |
539 |
512 |
540 |
513 |
541 |
514 void CModemAtHandler::HandleModemConnectResp( const TIsiReceiveC& aMessage ) |
542 void CModemAtHandler::HandleModemConnectResp( const TIsiReceiveC& aMessage ) |
515 { |
543 { |
516 C_TRACE (( _T("CModemAtHandler::HandleModemConnectResp()") )); |
544 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_HANDLEMODEMCONNECTRESP, "CModemAtHandler::HandleModemConnectResp;iDteId=%d", iDteId ); |
|
545 C_TRACE (( _T("CModemAtHandler::HandleModemConnectResp() %d"), iDteId )); |
517 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_CONNECT_RESP_OFFSET_DTEID ); |
546 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_CONNECT_RESP_OFFSET_DTEID ); |
518 TInt status = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_CONNECT_RESP_OFFSET_RESULT ); |
547 TInt status = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_CONNECT_RESP_OFFSET_RESULT ); |
519 TInt err = KErrGeneral; |
548 TInt err = KErrGeneral; |
520 if( status == AT_MODEM_RESULT_OK ) |
549 if( status == AT_MODEM_RESULT_OK ) |
521 { |
550 { |
|
551 OstTrace0( TRACE_NORMAL, DUP1_CMODEMATHANDLER_HANDLEMODEMCONNECTRESP, "CModemAtHandler::HandleModemConnectResp - Connected ok, AT_MODEM_RESULT_OK received" ); |
522 C_TRACE(_L("Connected ok, AT_MODEM_RESULT_OK received")); |
552 C_TRACE(_L("Connected ok, AT_MODEM_RESULT_OK received")); |
523 err = KErrNone; |
553 err = KErrNone; |
524 } |
554 } |
525 else |
555 else |
526 { |
556 { |
|
557 OstTrace1( TRACE_NORMAL, DUP2_CMODEMATHANDLER_HANDLEMODEMCONNECTRESP, "CModemAtHandler::HandleModemConnectResp - Connection failed, AT_MODEM_RESULT_ERROR received;status=%d", status ); |
527 C_TRACE((_L("Connection failed, AT_MODEM_RESULT_ERROR received (%d)"), status)); |
558 C_TRACE((_L("Connection failed, AT_MODEM_RESULT_ERROR received (%d)"), status)); |
528 TRACE_ASSERT_ALWAYS; |
|
529 } |
559 } |
530 |
560 |
531 iServer.SetDteIdAndConnect( dteId, err ); |
561 iServer.SetDteIdAndConnect( dteId, err ); |
532 } |
562 } |
533 |
563 |
534 |
564 |
535 void CModemAtHandler::HandleSignalInd( const TIsiReceiveC& aMessage ) |
565 void CModemAtHandler::HandleSignalInd( const TIsiReceiveC& aMessage ) |
536 { |
566 { |
537 C_TRACE (( _T("CModemAtHandler::HandleSignalInd()") )); |
567 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd;iDteId=%d", iDteId ); |
|
568 C_TRACE (( _T("CModemAtHandler::HandleSignalInd() (%d)"), iDteId )); |
|
569 |
538 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_IND_OFFSET_DTEID ); |
570 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_IND_OFFSET_DTEID ); |
539 iServer.HandleSignalInd( dteId ); |
571 OstTrace1( TRACE_NORMAL, DUP1_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd;dteId=%x", dteId ); |
|
572 C_TRACE(( _L("dteId: 0x%x"), dteId )); |
|
573 |
|
574 if( iDteId != dteId ) |
|
575 { |
|
576 OstTrace0( TRACE_NORMAL, DUP2_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd - AT_MODEM_SIGNAL_IND is ignored because of it's received from diffrent dte." ); |
|
577 C_TRACE (( _T("AT_MODEM_SIGNAL_IND is ignored because of it's received from diffrent dte.") )); |
|
578 return; |
|
579 } |
|
580 |
|
581 if( IsTextMessageMode() ) |
|
582 { |
|
583 OstTrace0( TRACE_NORMAL, DUP3_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd - AT_MODEM_SIGNAL_IND is ignored during text message mode." ); |
|
584 C_TRACE (( _T("AT_MODEM_SIGNAL_IND is ignored during text message mode.") )); |
|
585 return; |
|
586 } |
|
587 |
|
588 // Go through indications. Note that common plugin handles only these: |
|
589 // echo, verbose, quiet, escape char, linefeed char and backspace char. |
|
590 |
|
591 |
|
592 |
|
593 TUint8 count = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_IND_OFFSET_NOOFSUBBLOCKS ); |
|
594 OstTrace1( TRACE_NORMAL, DUP4_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd - subblock;count=%d", count ); |
|
595 C_TRACE(( _L("subblock count: 0x%x"), count )); |
|
596 if( count > 0 ) |
|
597 { |
|
598 TInt length( ISI_HEADER_SIZE + SIZE_AT_MODEM_SIGNAL_IND ); |
|
599 TUint8 messageId( 0 ); |
|
600 TUint8 echoValue( KInitialValue ); |
|
601 TUint8 escapeChar( KInitialValue ); |
|
602 TUint8 flowControlOutward( AT_MODEM_FLOW_CONTROL_SW ); |
|
603 TUint8 flowControlInward( AT_MODEM_FLOW_CONTROL_SW ); |
|
604 TUint8 flowControlExtract( AT_MODEM_WITH_EXTRACT ); |
|
605 TUint8 dcdValue( AT_MODEM_DCD_OFF ); |
|
606 TUint8 dsrValue( AT_MODEM_DSR_OFF ); |
|
607 for( TInt i = 0; i < count; i++ ) |
|
608 { |
|
609 messageId = aMessage.Get8bit( length ); |
|
610 OstTrace1( TRACE_NORMAL, DUP5_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd;messageId=%x", messageId ); |
|
611 C_TRACE((_L("messageId: 0x%x"), messageId)); |
|
612 |
|
613 switch( messageId ) |
|
614 { |
|
615 case AT_MODEM_SB_ECHO_VALUE: |
|
616 { |
|
617 echoValue = aMessage.Get8bit( length + |
|
618 AT_MODEM_SB_ECHO_VALUE_OFFSET_ECHOVALUE ); |
|
619 OstTrace1( TRACE_NORMAL, DUP6_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd;echoValue=%x", echoValue ); |
|
620 C_TRACE(( _L("echo value: 0x%x"), echoValue)); |
|
621 length += SIZE_AT_MODEM_SB_ECHO_VALUE; |
|
622 break; |
|
623 } |
|
624 case AT_MODEM_SB_DTE_PARAMS: |
|
625 { |
|
626 length += SIZE_AT_MODEM_SB_DTE_PARAMS; |
|
627 break; |
|
628 } |
|
629 case AT_MODEM_SB_FLOW_CTRL: |
|
630 { |
|
631 flowControlOutward = aMessage.Get8bit( length + |
|
632 AT_MODEM_SB_FLOW_CTRL_OFFSET_FLOWCTRLOUTWARDDCE ); |
|
633 C_TRACE(( _L("Flow control outward used by DCE towards DTE: 0x%x"), flowControlOutward )); |
|
634 |
|
635 flowControlInward = aMessage.Get8bit( length + |
|
636 AT_MODEM_SB_FLOW_CTRL_OFFSET_FLOWCTRLINWARDDTE ); |
|
637 C_TRACE(( _L("Flow control inward from DTE: 0x%x"), flowControlInward )); |
|
638 |
|
639 flowControlExtract = aMessage.Get8bit( length + |
|
640 AT_MODEM_SB_FLOW_CTRL_OFFSET_EXTRACT ); |
|
641 C_TRACE(( _L("extract: 0x%x"), flowControlExtract )); |
|
642 |
|
643 TBuf8<KFlowCtrlDataLength> data; |
|
644 switch( flowControlOutward ) |
|
645 { |
|
646 case AT_MODEM_FLOW_CONTROL_SW: |
|
647 data.Append( PEP_COMM_FLOW_CTRL_SW ); |
|
648 break; |
|
649 case AT_MODEM_FLOW_CONTROL_NONE: |
|
650 data.Append( PEP_COMM_FLOW_CTRL_NONE ); |
|
651 break; |
|
652 case AT_MODEM_FLOW_CONTROL_HW: |
|
653 data.Append( PEP_COMM_FLOW_CTRL_HW ); |
|
654 break; |
|
655 default: |
|
656 data.Append( PEP_COMM_FLOW_CTRL_SW ); |
|
657 break; |
|
658 } |
|
659 switch( flowControlInward ) |
|
660 { |
|
661 case AT_MODEM_FLOW_CONTROL_SW: |
|
662 data.Append( PEP_COMM_FLOW_CTRL_SW ); |
|
663 break; |
|
664 case AT_MODEM_FLOW_CONTROL_NONE: |
|
665 data.Append( PEP_COMM_FLOW_CTRL_NONE ); |
|
666 break; |
|
667 case AT_MODEM_FLOW_CONTROL_HW: |
|
668 data.Append( PEP_COMM_FLOW_CTRL_HW ); |
|
669 break; |
|
670 default: |
|
671 data.Append( PEP_COMM_FLOW_CTRL_SW ); |
|
672 break; |
|
673 } |
|
674 switch( flowControlExtract ) |
|
675 { |
|
676 case AT_MODEM_NO_EXTRACT: |
|
677 data.Append( PEP_COMM_FLOW_CTRL_NO_EXTRACT ); |
|
678 break; |
|
679 case AT_MODEM_WITH_EXTRACT: |
|
680 data.Append( PEP_COMM_FLOW_CTRL_EXTRACT ); |
|
681 break; |
|
682 default: |
|
683 data.Append( PEP_COMM_FLOW_CTRL_EXTRACT ); |
|
684 break; |
|
685 } |
|
686 |
|
687 TPipeInfo::EPipeState pipeState = iPipeController->GetPipeState(); |
|
688 if( pipeState != TPipeInfo::EPipeNoPipe && |
|
689 pipeState != TPipeInfo::EPipeRemoving ) |
|
690 { |
|
691 iPipeController->SendPepCtrlReq( PEP_COMM_CTRL_ID_FLOW_CTRL, data ); |
|
692 } |
|
693 length += SIZE_AT_MODEM_SB_FLOW_CTRL; |
|
694 break; |
|
695 } |
|
696 case AT_MODEM_SB_ESCAPE_PARAMS: |
|
697 { |
|
698 escapeChar = aMessage.Get8bit( length + |
|
699 AT_MODEM_SB_ESCAPE_PARAMS_OFFSET_ESCAPECHAR ); |
|
700 OstTrace1( TRACE_NORMAL, DUP7_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd;escapeChar=%x", escapeChar ); |
|
701 C_TRACE(( _L("escape character: 0x%x"), escapeChar )); |
|
702 length += SIZE_AT_MODEM_SB_ESCAPE_PARAMS; |
|
703 break; |
|
704 } |
|
705 case AT_MODEM_SB_AUTOBAUD: |
|
706 { |
|
707 length += SIZE_AT_MODEM_SB_AUTOBAUD; |
|
708 break; |
|
709 } |
|
710 case AT_MODEM_SB_DTE_SIGNALS: |
|
711 { |
|
712 dcdValue = aMessage.Get8bit( length + |
|
713 AT_MODEM_SB_DTE_SIGNALS_OFFSET_DCDSIGNAL ); |
|
714 OstTrace1( TRACE_NORMAL, DUP8_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd;dcdValue=%x", dcdValue ); |
|
715 C_TRACE(( _L("DCD value: 0x%x"), dcdValue)); |
|
716 |
|
717 dsrValue = aMessage.Get8bit( length + |
|
718 AT_MODEM_SB_DTE_SIGNALS_OFFSET_DSRSIGNAL ); |
|
719 OstTrace1( TRACE_NORMAL, DUP9_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd;dsrValue=%x", dsrValue ); |
|
720 C_TRACE(( _L("DSR value: 0x%x"), dsrValue)); |
|
721 TPipeInfo::EPipeState pipeState = iPipeController->GetPipeState(); |
|
722 if( pipeState != TPipeInfo::EPipeNoPipe && |
|
723 pipeState != TPipeInfo::EPipeRemoving ) |
|
724 { |
|
725 if( AT_MODEM_DCD_OFF == dcdValue ) |
|
726 { |
|
727 iPipeController->SendPepStatusIndSignal( PEP_COMM_SIGNAL_DCD_OFF ); |
|
728 } |
|
729 else if( AT_MODEM_DCD_ON == dcdValue ) |
|
730 { |
|
731 iPipeController->SendPepStatusIndSignal( PEP_COMM_SIGNAL_DCD_ON ); |
|
732 } |
|
733 |
|
734 if( AT_MODEM_DSR_OFF == dsrValue ) |
|
735 { |
|
736 iPipeController->SendPepStatusIndSignal( PEP_COMM_SIGNAL_DSR_OFF ); |
|
737 } |
|
738 else if( AT_MODEM_DSR_ON == dsrValue ) |
|
739 { |
|
740 iPipeController->SendPepStatusIndSignal( PEP_COMM_SIGNAL_DSR_ON ); |
|
741 } |
|
742 } |
|
743 length += SIZE_AT_MODEM_SB_DTE_SIGNALS; |
|
744 break; |
|
745 } |
|
746 default: |
|
747 { |
|
748 TRACE_ASSERT_ALWAYS; |
|
749 break; |
|
750 } |
|
751 } |
|
752 } |
|
753 |
|
754 if( escapeChar != KInitialValue ) |
|
755 { |
|
756 OstTrace0( TRACE_NORMAL, DUP10_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd - Escape char received, it will be sent to dataport." ); |
|
757 C_TRACE(( _T("Escape char received, it will be sent to dataport.") )); |
|
758 |
|
759 // Dataport should have the pipehandle and escape character. It defaults to handle 0xff and escape char '+'. |
|
760 TPipeInfo::EPipeState pipeState = iPipeController->GetPipeState(); |
|
761 if( pipeState != TPipeInfo::EPipeNoPipe && |
|
762 pipeState != TPipeInfo::EPipeRemoving ) |
|
763 { |
|
764 TBuf8<KEscapeDataLength> data; |
|
765 data.Append( escapeChar ); |
|
766 data.Append( KEscapeTime ); |
|
767 iPipeController->SendPepCtrlReq( PEP_COMM_CTRL_ID_ESCAPE, data ); |
|
768 } |
|
769 |
|
770 } |
|
771 if( IsPipeInDataMode() ) |
|
772 { |
|
773 OstTrace0( TRACE_NORMAL, DUP11_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd - AT_MODEM_SIGNAL_IND is ignored during data mode (exception: escape char is allowed)" ); |
|
774 C_TRACE (( _T("AT_MODEM_SIGNAL_IND is ignored during data mode (exception: escape char is allowed)") )); |
|
775 return; |
|
776 } |
|
777 |
|
778 if( echoValue == KInitialValue ) |
|
779 { |
|
780 OstTrace0( TRACE_NORMAL, DUP12_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd - AT_MODEM_SIGNAL_IND not handled (no echo changes)" ); |
|
781 C_TRACE(( _T("AT_MODEM_SIGNAL_IND not handled (no echo changes)") )); |
|
782 return; |
|
783 } |
|
784 TInt sessionCount = iServer.SessionCount(); |
|
785 if( sessionCount == KSessionIndLimit ) |
|
786 { |
|
787 OstTrace0( TRACE_NORMAL, DUP13_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd - AT_MODEM_SIGNAL_IND not handled (connect ongoing)" ); |
|
788 C_TRACE(( _T("AT_MODEM_SIGNAL_IND not handled (connect ongoing)") )); |
|
789 return; |
|
790 } |
|
791 if( iServer.IsSettingQueryOngoing() ) |
|
792 { |
|
793 // V, Q or E command is not ongoing, handle AT_MODEM_SIGNAL_IND always. |
|
794 OstTrace0( TRACE_NORMAL, DUP14_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd - AT_MODEM_SIGNAL_IND not handled (Q, V or E query ongoing)" ); |
|
795 C_TRACE(( _T("AT_MODEM_SIGNAL_IND not handled (Q, V or E query ongoing)") )); |
|
796 return; |
|
797 } |
|
798 |
|
799 if( !iServer.IsEchoNotified( echoValue ) ) |
|
800 { |
|
801 OstTrace0( TRACE_NORMAL, DUP15_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd - Handling AT_MODEM_SIGNAL_IND (new echo value received, more than 1 session open)" ); |
|
802 C_TRACE(( _T("Handling AT_MODEM_SIGNAL_IND (new echo value received, more than 1 session open)") )); |
|
803 iServer.HandleSignalInd( dteId, KErrNone ); |
|
804 return; |
|
805 } |
|
806 |
|
807 OstTrace1( TRACE_NORMAL, DUP16_CMODEMATHANDLER_HANDLESIGNALIND, "CModemAtHandler::HandleSignalInd - AT_MODEM_SIGNAL_IND not handled.;sessionCount=%d", sessionCount ); |
|
808 C_TRACE(( _L("AT_MODEM_SIGNAL_IND not handled. sessionCount: %d"), sessionCount )); |
|
809 } |
|
810 // no else |
540 } |
811 } |
541 |
812 |
542 void CModemAtHandler::HandleUnsolicitedData( const TIsiReceiveC& aMessage ) |
813 void CModemAtHandler::HandleUnsolicitedData( const TIsiReceiveC& aMessage ) |
543 { |
814 { |
544 C_TRACE (( _T("CModemAtHandler::HandleUnsolicitedData()") )); |
815 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE+AT_MODEM_UNSOLICITED_DATA_IND_OFFSET_DTEID ); |
545 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE+ AT_MODEM_UNSOLICITED_DATA_IND_OFFSET_LENGTH ); |
|
546 TInt length = aMessage.Get16bit( ISI_HEADER_SIZE+AT_MODEM_UNSOLICITED_DATA_IND_OFFSET_LENGTH ); |
816 TInt length = aMessage.Get16bit( ISI_HEADER_SIZE+AT_MODEM_UNSOLICITED_DATA_IND_OFFSET_LENGTH ); |
547 |
817 OstTraceExt2( TRACE_NORMAL, CMODEMATHANDLER_HANDLEUNSOLICITEDDATA, "CModemAtHandler::HandleUnsolicitedData;dteId=%d;iDteId=%d", dteId, iDteId ); |
548 iServer.HandleUnsolicitedData( dteId, |
818 C_TRACE (( _T("CModemAtHandler::HandleUnsolicitedData() %d %d"), dteId, iDteId )); |
549 aMessage.GetData( ISI_HEADER_SIZE + AT_MODEM_UNSOLICITED_DATA_IND_OFFSET_UNSOLICITEDDATABUFFER, |
819 if( iDteId == dteId || |
550 length ) ); |
820 KReservedDteId == dteId ) |
|
821 { |
|
822 iServer.HandleUnsolicitedData( dteId, |
|
823 aMessage.GetData( ISI_HEADER_SIZE + AT_MODEM_UNSOLICITED_DATA_IND_OFFSET_UNSOLICITEDDATABUFFER, |
|
824 length ) ); |
|
825 } |
|
826 // no else |
551 } |
827 } |
552 |
828 |
553 |
829 |
554 void CModemAtHandler::HandleIntermediateDataInd( const TIsiReceiveC& aMessage ) |
830 void CModemAtHandler::HandleIntermediateDataInd( const TIsiReceiveC& aMessage ) |
555 { |
831 { |
556 C_TRACE (( _T("CModemAtHandler::HandleIntermediateDataInd()") )); |
|
557 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_INTERMEDIATE_DATA_IND_OFFSET_DTEID ); |
832 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_INTERMEDIATE_DATA_IND_OFFSET_DTEID ); |
558 TInt length = aMessage.Get16bit( ISI_HEADER_SIZE + AT_MODEM_INTERMEDIATE_DATA_IND_OFFSET_LENGTH ); |
833 TInt length = aMessage.Get16bit( ISI_HEADER_SIZE + AT_MODEM_INTERMEDIATE_DATA_IND_OFFSET_LENGTH ); |
559 |
834 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_HANDLEINTERMEDIATEDATAIND, "CModemAtHandler::HandleIntermediateDataInd;iDteId=%d", iDteId ); |
560 TUint transactionId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_RESP_OFFSET_TID ); |
835 C_TRACE (( _T("CModemAtHandler::HandleIntermediateDataInd() %d"), iDteId )); |
561 |
836 |
562 C_TRACE((_L("transactionId from %d"), transactionId)); |
837 if( iDteId == dteId ) |
563 transactionId = iLastTransactionId; |
838 { |
564 C_TRACE((_L("transactionId after setting it to iLastTransactionId: %d"), transactionId)); |
839 TUint transactionId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_CMD_RESP_OFFSET_TID ); |
565 |
840 |
566 TUint8 command = transactionId & KCommandBits; //normal AT-cmd or Nvram-query |
841 OstTrace1( TRACE_NORMAL, DUP1_CMODEMATHANDLER_HANDLEINTERMEDIATEDATAIND, "CModemAtHandler::HandleIntermediateDataInd - transactionId from;transactionId=%d", transactionId ); |
567 TUint8 pluginType = transactionId >> KTransactionIdBitsShift; |
842 C_TRACE((_L("transactionId from %d"), transactionId)); |
568 C_TRACE((_L("dteId %d, command %d (AT=0,NVRAM=1), pluginType = %d (atext=0,common=1)"), dteId, command, pluginType)); |
843 transactionId = iLastTransactionId; |
569 |
844 OstTrace1( TRACE_NORMAL, DUP2_CMODEMATHANDLER_HANDLEINTERMEDIATEDATAIND, "CModemAtHandler::HandleIntermediateDataInd - transactionId after setting it to iLastTransactionId:;transactionId=%d", transactionId ); |
570 iServer.HandleIntermediateDataInd( dteId, |
845 C_TRACE((_L("transactionId after setting it to iLastTransactionId: %d"), transactionId)); |
571 (TATPluginInterface) pluginType, |
846 |
572 aMessage.GetData( ISI_HEADER_SIZE + AT_MODEM_INTERMEDIATE_DATA_IND_OFFSET_INTERMEDIATEDATABUFFER, |
847 TUint8 command = transactionId & KCommandBits; //normal AT-cmd or Nvram-query |
573 length), |
848 TUint8 pluginType = transactionId >> KTransactionIdBitsShift; |
574 command ); |
849 OstTraceExt4( TRACE_NORMAL, DUP3_CMODEMATHANDLER_HANDLEINTERMEDIATEDATAIND, "CModemAtHandler::HandleIntermediateDataInd;dteId=%d;command=%d;(AT=0,NVRAM=1);pluginType=%d;(atext=0,common=1);iDteId=%d", dteId, command, pluginType, iDteId ); |
|
850 C_TRACE((_L("dteId %d, command %d (AT=0,NVRAM=1), pluginType = %d (atext=0,common=1)"), dteId, command, pluginType)); |
|
851 |
|
852 iServer.HandleIntermediateDataInd( dteId, |
|
853 (TATPluginInterface) pluginType, |
|
854 aMessage.GetData( ISI_HEADER_SIZE + AT_MODEM_INTERMEDIATE_DATA_IND_OFFSET_INTERMEDIATEDATABUFFER, |
|
855 length), |
|
856 command ); |
|
857 } |
575 } |
858 } |
576 |
859 |
577 |
860 |
578 void CModemAtHandler::HandleRedirectInd( const TIsiReceiveC& aMessage ) |
861 void CModemAtHandler::HandleRedirectInd( const TIsiReceiveC& aMessage ) |
579 { |
862 { |
580 C_TRACE (( _T("CModemAtHandler::HandleRedirectInd()") )); |
|
581 |
|
582 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_IND_OFFSET_DTEID ); |
863 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_IND_OFFSET_DTEID ); |
583 TInt newSecondDevId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_IND_OFFSET_DEVICEID ); |
864 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_HANDLEREDIRECTIND, "CModemAtHandler::HandleRedirectInd;iChannel=%d", iChannel ); |
584 TInt newSecondObjId = aMessage.Get16bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_IND_OFFSET_SERVERID ); |
865 C_TRACE (( _T("CModemAtHandler::HandleRedirectInd() %d %d"), iDteId, iChannel )); |
585 #ifndef NCP_COMMON_BRIDGE_FAMILY |
866 if( iDteId == dteId ) |
586 iPipeController->RedirectPipe( dteId, newSecondDevId, newSecondObjId ); |
867 { |
587 #endif |
868 TInt newSecondDevId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_IND_OFFSET_DEVICEID ); |
588 } |
869 TInt newSecondObjId = aMessage.Get16bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_IND_OFFSET_SERVERID ); |
589 |
870 iPipeController->RedirectPipe( newSecondDevId, newSecondObjId ); |
590 void CModemAtHandler::SendAtModemDataRedirectResultReq( const TUint8 aDteId, const TUint aResult ) |
871 } |
591 { |
872 else |
|
873 { |
|
874 TRACE_ASSERT_ALWAYS; |
|
875 } |
|
876 } |
|
877 |
|
878 void CModemAtHandler::SendAtModemDataRedirectResultReq( const TUint aResult ) |
|
879 { |
|
880 OstTrace0( TRACE_NORMAL, CMODEMATHANDLER_SENDATMODEMDATAREDIRECTRESULTREQ, "CModemAtHandler::SendAtModemDataRedirectResultReq" ); |
592 C_TRACE (( _T("CModemAtHandler::SendAtModemDataRedirectResultReq()") )); |
881 C_TRACE (( _T("CModemAtHandler::SendAtModemDataRedirectResultReq()") )); |
593 HBufC8* message = HBufC8::New( ISI_HEADER_SIZE + SIZE_AT_MODEM_DATA_REDIRECT_RESULT_REQ ); |
882 HBufC8* message = HBufC8::New( ISI_HEADER_SIZE + SIZE_AT_MODEM_DATA_REDIRECT_RESULT_REQ ); |
594 C_TRACE((_L("Sending AT_MODEM_DATA_REDIRECT_RESULT_REQ dteid %d result %d"), aDteId, aResult)); |
883 OstTraceExt2( TRACE_NORMAL, DUP1_CMODEMATHANDLER_SENDATMODEMDATAREDIRECTRESULTREQ, "CModemAtHandler::SendAtModemDataRedirectResultReq - Sending AT_MODEM_DATA_REDIRECT_RESULT_REQ;iDteId=%d;aResult=%d", (TUint)iDteId, aResult ); |
|
884 C_TRACE((_L("Sending AT_MODEM_DATA_REDIRECT_RESULT_REQ dteid %d result %d"), iDteId, aResult)); |
595 |
885 |
596 TPtr8 messageptr = message->Des(); |
886 TPtr8 messageptr = message->Des(); |
597 TIsiSend isimessage( messageptr, ISI_HEADER_SIZE + SIZE_AT_MODEM_DATA_REDIRECT_RESULT_REQ ); |
887 TIsiSend isimessage( messageptr, ISI_HEADER_SIZE + SIZE_AT_MODEM_DATA_REDIRECT_RESULT_REQ ); |
598 isimessage.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_AT_MODEM); |
888 isimessage.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_AT_MODEM); |
599 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_RESULT_REQ_OFFSET_TID, 0 ); |
889 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_RESULT_REQ_OFFSET_TID, 0 ); |
600 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_RESULT_REQ_OFFSET_MESSAGEID, |
890 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_RESULT_REQ_OFFSET_MESSAGEID, |
601 AT_MODEM_DATA_REDIRECT_RESULT_REQ ); |
891 AT_MODEM_DATA_REDIRECT_RESULT_REQ ); |
602 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_RESULT_REQ_OFFSET_DTEID ,aDteId ); |
892 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_RESULT_REQ_OFFSET_DTEID ,iDteId ); |
603 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_RESULT_REQ_OFFSET_RESULT ,aResult ); |
893 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_RESULT_REQ_OFFSET_RESULT ,aResult ); |
604 isimessage.Complete(); |
894 isimessage.Complete(); |
605 |
895 |
|
896 OstTrace0( TRACE_NORMAL, DUP2_CMODEMATHANDLER_SENDATMODEMDATAREDIRECTRESULTREQ, "CModemAtHandler::SendAtModemDataRedirectResultReq - Created ISI-message" ); |
606 C_TRACE(_L("Created ISI-message")); |
897 C_TRACE(_L("Created ISI-message")); |
607 for( TInt i = 0 ; i < (ISI_HEADER_SIZE + SIZE_AT_MODEM_DATA_REDIRECT_RESULT_REQ); i++ ) |
898 for( TInt i = 0 ; i < (ISI_HEADER_SIZE + SIZE_AT_MODEM_DATA_REDIRECT_RESULT_REQ); i++ ) |
608 { |
899 { |
|
900 OstTraceExt2( TRACE_NORMAL, DUP3_CMODEMATHANDLER_SENDATMODEMDATAREDIRECTRESULTREQ, "CModemAtHandler - ;i=%d;%x", (TUint)i, (TUint)((*message)[i]) ); |
609 C_TRACE((_L("[%d] 0x%x"),i ,(*message)[i]) ); |
901 C_TRACE((_L("[%d] 0x%x"),i ,(*message)[i]) ); |
610 } |
902 } |
611 |
903 |
612 TInt err = iIscApi->Send( messageptr ); |
904 TInt err = iIscApi->Send( messageptr ); |
613 TRACE_ASSERT( err == KErrNone ); |
905 TRACE_ASSERT( err == KErrNone ); |
616 } |
908 } |
617 |
909 |
618 |
910 |
619 void CModemAtHandler::HandleRedirectResultResp(const TIsiReceiveC& aMessage) |
911 void CModemAtHandler::HandleRedirectResultResp(const TIsiReceiveC& aMessage) |
620 { |
912 { |
621 C_TRACE (( _T("CModemAtHandler::HandleRedirectResultResp()") )); |
913 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_HANDLEREDIRECTRESULTRESP, "CModemAtHandler::HandleRedirectResultResp;iDteId=%d", iDteId ); |
|
914 C_TRACE (( _T("CModemAtHandler::HandleRedirectResultResp() %d"), iDteId )); |
622 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_RESULT_RESP_OFFSET_DTEID ); |
915 TUint8 dteId = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_RESULT_RESP_OFFSET_DTEID ); |
623 TInt error = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_RESULT_RESP_OFFSET_RESULT ); |
916 TInt error = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_DATA_REDIRECT_RESULT_RESP_OFFSET_RESULT ); |
|
917 OstTrace1( TRACE_NORMAL, DUP1_CMODEMATHANDLER_HANDLEREDIRECTRESULTRESP, "CModemAtHandler::HandleRedirectResultResp;dteId=%d", dteId ); |
624 C_TRACE((_L("CModemAtHandler::HandleRedirectResultResp() dte %d"), dteId)); |
918 C_TRACE((_L("CModemAtHandler::HandleRedirectResultResp() dte %d"), dteId)); |
625 |
919 |
626 if( error == AT_MODEM_RESULT_ERROR ) |
920 if( error == AT_MODEM_RESULT_ERROR ) |
627 { |
921 { |
628 C_TRACE(_L("CModemAtHandler::HandleRedirectResultResp() AT_MODEM_RESULT_ERROR received, redirect failed")); |
922 OstTrace0( TRACE_NORMAL, DUP2_CMODEMATHANDLER_HANDLEREDIRECTRESULTRESP, "CModemAtHandler::HandleRedirectResultResp - AT_MODEM_RESULT_ERROR -> COMMAND MODE" ); |
629 TRACE_ASSERT_ALWAYS; |
923 C_TRACE(_L("AT_MODEM_RESULT_ERROR -> COMMAND MODE")); |
|
924 iServer.HandleCommandModeChange( dteId, ECommandMode ); |
630 } |
925 } |
631 else |
926 else |
632 { |
927 { |
|
928 OstTrace0( TRACE_NORMAL, DUP3_CMODEMATHANDLER_HANDLEREDIRECTRESULTRESP, "CModemAtHandler::HandleRedirectResultResp - redirect OK, enable pipe" ); |
633 C_TRACE(_L("CModemAtHandler::HandleRedirectResultResp() redirect OK")); |
929 C_TRACE(_L("CModemAtHandler::HandleRedirectResultResp() redirect OK")); |
634 } |
930 TPipeInfo::EPipeState pipeState = iPipeController->GetPipeState(); |
635 |
931 OstTrace1( TRACE_NORMAL, DUP4_CMODEMATHANDLER_HANDLEREDIRECTRESULTRESP, "CModemAtHandler::HandleRedirectResultResp;pipeState=%d", pipeState ); |
636 } |
932 C_TRACE((_L("CModemAtHandler::HandleRedirectResultResp() pipe state %d"), pipeState)); |
|
933 if( pipeState != TPipeInfo::EPipeDisabled ) |
|
934 { |
|
935 iPipeController->SendEnablePipeReq(); |
|
936 } |
|
937 } |
|
938 } |
|
939 |
637 void CModemAtHandler::HandleCommandModeChange( TCommandMode aMode ) |
940 void CModemAtHandler::HandleCommandModeChange( TCommandMode aMode ) |
638 { |
941 { |
639 C_TRACE(( _T("CModemAtHandler::HandleCommandModeChange() aMode: %d"), (TInt) aMode )); |
942 OstTraceExt2( TRACE_NORMAL, CMODEMATHANDLER_HANDLECOMMANDMODECHANGE, "CModemAtHandler::HandleCommandModeChange;aMode=%d;iDteId=%d", (TUint)aMode, (TUint)iDteId ); |
640 iServer.HandleCommandModeChange( aMode ); |
943 C_TRACE(( _T("CModemAtHandler::HandleCommandModeChange() aMode: %d dteId: %d"), (TInt) aMode, iDteId )); |
641 } |
944 iServer.HandleCommandModeChange( iDteId, aMode ); |
642 |
945 } |
643 TInt CModemAtHandler::SendEscapeSignalDetection( const TUint8 aDteId ) |
946 |
644 { |
947 TInt CModemAtHandler::SendSignalDetection( const TUint8 aSignal ) |
645 C_TRACE((_T("CModemAtHandler::SendEscapeSignalDetection(%d)"), aDteId)); |
948 { |
646 #ifdef __WINSCW__ |
949 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_SENDSIGNALDETECTION, "CModemAtHandler::SendSignalDetection;iDteId=%d", iDteId ); |
647 iDteId = aDteId; |
950 C_TRACE((_T("CModemAtHandler::SendSignalDetection( dteId: %d, aSignal: 0x%x)"), iDteId, aSignal )); |
648 return KErrNone; |
951 |
649 #endif |
|
650 |
|
651 TInt error( KErrGeneral ); |
952 TInt error( KErrGeneral ); |
652 TUint msgSize( ISI_HEADER_SIZE + SIZE_AT_MODEM_SIGNAL_DETECTED_REQ ); |
953 TUint msgSize( ISI_HEADER_SIZE + SIZE_AT_MODEM_SIGNAL_DETECTED_REQ ); |
653 TUint size( msgSize + SIZE_AT_MODEM_SB_SIGNAL_DETECTED ); |
954 TUint size( msgSize + SIZE_AT_MODEM_SB_SIGNAL_DETECTED ); |
654 HBufC8* message = HBufC8::New( size ); |
955 HBufC8* message = HBufC8::New( size ); |
655 if( message ) |
956 if( message ) |
656 { |
957 { |
657 TPtr8 messageptr = message->Des(); |
958 TPtr8 messageptr = message->Des(); |
658 TIsiSend isimessage( messageptr, size ); |
959 TIsiSend isimessage( messageptr, size ); |
659 isimessage.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_AT_MODEM ); |
960 isimessage.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_AT_MODEM ); |
660 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_DETECTED_REQ_OFFSET_TID, 0x00 ); |
961 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_DETECTED_REQ_OFFSET_TID, 0x00 ); |
661 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_DETECTED_REQ_OFFSET_MESSAGEID, |
962 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_DETECTED_REQ_OFFSET_MESSAGEID, |
662 AT_MODEM_SIGNAL_DETECTED_REQ ); |
963 AT_MODEM_SIGNAL_DETECTED_REQ ); |
663 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_DETECTED_REQ_OFFSET_DTEID, aDteId ); |
964 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_DETECTED_REQ_OFFSET_DTEID, iDteId ); |
664 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_DETECTED_REQ_OFFSET_NOOFSUBBLOCKS, 0x01 ); |
965 isimessage.Set8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_DETECTED_REQ_OFFSET_NOOFSUBBLOCKS, 0x01 ); |
665 isimessage.Set8bit( msgSize + AT_MODEM_SB_SIGNAL_DETECTED_OFFSET_SUBBLOCKID, |
966 isimessage.Set8bit( msgSize + AT_MODEM_SB_SIGNAL_DETECTED_OFFSET_SUBBLOCKID, |
666 AT_MODEM_SB_SIGNAL_DETECTED ); |
967 AT_MODEM_SB_SIGNAL_DETECTED ); |
667 isimessage.Set8bit( msgSize + AT_MODEM_SB_SIGNAL_DETECTED_OFFSET_SUBBLOCKLENGTH, |
968 isimessage.Set8bit( msgSize + AT_MODEM_SB_SIGNAL_DETECTED_OFFSET_SUBBLOCKLENGTH, |
668 SIZE_AT_MODEM_SB_SIGNAL_DETECTED ); |
969 SIZE_AT_MODEM_SB_SIGNAL_DETECTED ); |
669 isimessage.Set8bit( msgSize + AT_MODEM_SB_SIGNAL_DETECTED_OFFSET_TYPEOFSIGNALDETECTED, |
970 isimessage.Set8bit( msgSize + AT_MODEM_SB_SIGNAL_DETECTED_OFFSET_TYPEOFSIGNALDETECTED, |
670 AT_MODEM_SIGNAL_ESCAPE_DETECTED ); |
971 aSignal ); |
671 isimessage.Set8bit( msgSize + AT_MODEM_SB_SIGNAL_DETECTED_OFFSET_FILLERBYTE1, 0x00 ); |
972 isimessage.Set8bit( msgSize + AT_MODEM_SB_SIGNAL_DETECTED_OFFSET_FILLERBYTE1, 0x00 ); |
672 isimessage.Complete(); |
973 isimessage.Complete(); |
673 error = iIscApi->Send(messageptr); |
974 error = iIscApi->Send(messageptr); |
674 C_TRACE((_L("escape send result %d"), error )); |
975 TRACE_ASSERT( error == KErrNone ); |
675 delete message; |
976 delete message; |
676 message = NULL; |
977 message = NULL; |
677 } |
978 } |
678 else |
979 else |
679 { |
980 { |
680 ASSERT_ALWAYS; |
981 ASSERT_ALWAYS; |
681 error = KErrNoMemory; |
982 error = KErrNoMemory; |
682 } |
983 } |
683 return error; |
984 return error; |
684 } |
985 } |
685 |
986 |
686 |
987 |
687 void CModemAtHandler::HandleSignalDetectedResp( const TIsiReceiveC& aMessage ) |
988 void CModemAtHandler::HandleSignalDetectedResp( const TIsiReceiveC& aMessage ) |
688 { |
989 { |
689 C_TRACE (( _T("CModemAtHandler::HandleSignalDetectedResp() escape sequence detect response received from cellmo") )); |
990 OstTrace0( TRACE_NORMAL, CMODEMATHANDLER_HANDLESIGNALDETECTEDRESP, "CModemAtHandler::HandleSignalDetectedResp() - escape sequence detect response received from cellmo" ); |
|
991 C_TRACE (( _T("CModemAtHandler::HandleSignalDetectedResp()") )); |
690 TUint8 dteId( aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_DETECTED_RESP_OFFSET_DTEID ) ); |
992 TUint8 dteId( aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_DETECTED_RESP_OFFSET_DTEID ) ); |
691 TInt result = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_DETECTED_RESP_OFFSET_RESULT ); |
993 TInt result = aMessage.Get8bit( ISI_HEADER_SIZE + AT_MODEM_SIGNAL_DETECTED_RESP_OFFSET_RESULT ); |
|
994 OstTrace1( TRACE_NORMAL, DUP1_CMODEMATHANDLER_HANDLESIGNALDETECTEDRESP, "CModemAtHandler::HandleSignalDetectedResp;dteId=%d", dteId ); |
692 C_TRACE((_L("CModemAtHandler::HandleSignalDetectedResp() dteId %d"), dteId)); |
995 C_TRACE((_L("CModemAtHandler::HandleSignalDetectedResp() dteId %d"), dteId)); |
693 TRACE_ASSERT( result == AT_MODEM_RESULT_OK ); |
996 TRACE_ASSERT( result == AT_MODEM_RESULT_OK ); |
694 } |
997 } |
695 |
998 |
696 void CModemAtHandler::SetModemAtExistsInCmt( TBool aModemAtExistsInCmt ) |
999 void CModemAtHandler::SetModemAtExistsInCmt( TBool aModemAtExistsInCmt ) |
697 { |
1000 { |
|
1001 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_SETMODEMATEXISTSINCMT, "CModemAtHandler::SetModemAtExistsInCmt;aModemAtExistsInCmt=%d", (TInt)aModemAtExistsInCmt ); |
698 C_TRACE((_T("CModemAtHandler::SetModemAtExistsInCmt(%d)"), (TInt)aModemAtExistsInCmt)); |
1002 C_TRACE((_T("CModemAtHandler::SetModemAtExistsInCmt(%d)"), (TInt)aModemAtExistsInCmt)); |
699 iModemAtExistInCmt = aModemAtExistsInCmt; |
1003 iModemAtExistInCmt = aModemAtExistsInCmt; |
700 } |
1004 } |
701 |
1005 |
702 TInt CModemAtHandler::SendAtModemConnectReq( const TUint8 aDteId ) |
1006 TInt CModemAtHandler::SendAtModemConnectReq() |
703 { |
1007 { |
704 C_TRACE (( _T("CModemAtHandler::SendAtModemConnectReq()") )); |
1008 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_SENDATMODEMCONNECTREQ, "CModemAtHandler::SendAtModemConnectReq;iDteId=%d", iDteId ); |
|
1009 C_TRACE (( _T("CModemAtHandler::SendAtModemConnectReq() %d"), iDteId )); |
705 TInt size = ISI_HEADER_SIZE + SIZE_AT_MODEM_CONNECT_REQ; |
1010 TInt size = ISI_HEADER_SIZE + SIZE_AT_MODEM_CONNECT_REQ; |
706 HBufC8* message = HBufC8::New( size ); |
1011 HBufC8* message = HBufC8::New( size ); |
707 TRACE_ASSERT( message ); |
1012 TRACE_ASSERT( message ); |
708 TPtr8 messageptr = message->Des(); |
1013 TPtr8 messageptr = message->Des(); |
709 TIsiSend isimessage( messageptr, size ); |
1014 TIsiSend isimessage( messageptr, size ); |
710 isimessage.Set8bit(ISI_HEADER_OFFSET_RESOURCEID, PN_AT_MODEM); |
1015 isimessage.Set8bit(ISI_HEADER_OFFSET_RESOURCEID, PN_AT_MODEM); |
711 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_CONNECT_REQ_OFFSET_TID, KDefaultTId); |
1016 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_CONNECT_REQ_OFFSET_TID, KDefaultTId); |
712 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_CONNECT_REQ_OFFSET_MESSAGEID, AT_MODEM_CONNECT_REQ); |
1017 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_CONNECT_REQ_OFFSET_MESSAGEID, AT_MODEM_CONNECT_REQ); |
713 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_CONNECT_REQ_OFFSET_DTEID, aDteId); |
1018 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_CONNECT_REQ_OFFSET_DTEID, iDteId); |
714 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_CONNECT_REQ_OFFSET_FILLERBYTE1, KFiller); |
1019 isimessage.Set8bit(ISI_HEADER_SIZE + AT_MODEM_CONNECT_REQ_OFFSET_FILLERBYTE1, KFiller); |
715 isimessage.Complete(); |
1020 isimessage.Complete(); |
|
1021 OstTraceExt1( TRACE_NORMAL, DUP1_CMODEMATHANDLER_SENDATMODEMCONNECTREQ, "CModemAtHandler::SendAtModemConnectReq - message dump;messageptr=%s", messageptr ); |
716 DUMP_MESSAGE( messageptr ); |
1022 DUMP_MESSAGE( messageptr ); |
717 TInt err = iIscApi->Send( messageptr ); |
1023 TInt err = iIscApi->Send( messageptr ); |
718 TRACE_ASSERT( err == KErrNone ); |
1024 TRACE_ASSERT( err == KErrNone ); |
719 delete message; |
1025 delete message; |
720 message = NULL; |
1026 message = NULL; |
|
1027 OstTrace1( TRACE_NORMAL, DUP2_CMODEMATHANDLER_SENDATMODEMCONNECTREQ, "CModemAtHandler::SendAtModemConnectReq - return;err=%d", err ); |
721 C_TRACE (( _T("CModemAtHandler::SendAtModemConnectReq()<< returned: %d"), err )); |
1028 C_TRACE (( _T("CModemAtHandler::SendAtModemConnectReq()<< returned: %d"), err )); |
722 return err; |
1029 return err; |
723 } |
1030 } |
724 |
1031 |
|
1032 TBool CModemAtHandler::IsPipeInDataMode() |
|
1033 { |
|
1034 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_ISPIPEINDATAMODE, "CModemAtHandler::IsPipeInDataMode;iDteId=%d", iDteId ); |
|
1035 C_TRACE(( _T("CModemAtHandler::IsPipeInDataMode() dteId: %d"), iDteId )); |
|
1036 TPipeInfo::EPipeState pipeState( iPipeController->GetPipeState() ); |
|
1037 if( pipeState == TPipeInfo::EPipeEnabled || |
|
1038 pipeState == TPipeInfo::EPipeRedirected ) |
|
1039 { |
|
1040 OstTrace0( TRACE_NORMAL, DUP1_CMODEMATHANDLER_ISPIPEINDATAMODE, "CModemAtHandler::IsPipeInDataMode - True" ); |
|
1041 C_TRACE(( _T("CModemAtHandler::IsPipeInDataMode() True") )); |
|
1042 return ETrue; |
|
1043 } |
|
1044 else |
|
1045 { |
|
1046 OstTrace0( TRACE_NORMAL, DUP2_CMODEMATHANDLER_ISPIPEINDATAMODE, "CModemAtHandler::IsPipeInDataMode - False" ); |
|
1047 C_TRACE(( _T("CModemAtHandler::IsPipeInDataMode() False") )); |
|
1048 return EFalse; |
|
1049 } |
|
1050 } |
|
1051 |
|
1052 |
|
1053 void CModemAtHandler::SetTextMessageMode( TBool aTextMode ) |
|
1054 { |
|
1055 OstTraceExt2( TRACE_NORMAL, CMODEMATHANDLER_SETTEXTMESSAGEMODE, "CModemAtHandler::SetTextMessageMode(;aTextMode=%d;);iDteId=%d", (TUint)aTextMode, (TUint)iDteId ); |
|
1056 C_TRACE (( _T("CModemAtHandler::SetTextMessageMode( aTextMode: %d ) dte id: %d"), (TInt) aTextMode, iDteId )); |
|
1057 iTextMessageMode = aTextMode; |
|
1058 } |
|
1059 |
|
1060 TBool CModemAtHandler::IsTextMessageMode() |
|
1061 { |
|
1062 OstTraceExt2( TRACE_NORMAL, CMODEMATHANDLER_ISTEXTMESSAGEMODE, "CModemAtHandler::IsTextMessageMode;iTextMessageMode=%d;iDteId=%d", (TUint)iTextMessageMode, (TUint)iDteId ); |
|
1063 C_TRACE (( _T("CModemAtHandler::IsTextMessageMode() iTextMessageMode: %d dte id: %d"), (TInt) iTextMessageMode, iDteId )); |
|
1064 return iTextMessageMode; |
|
1065 } |
|
1066 |
|
1067 void CModemAtHandler::PipeCreated( TUint8 aPipeHandle, TInt aError ) |
|
1068 { |
|
1069 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_PIPECREATED, "CModemAtHandler::PipeCreated;aPipeHandle=%d", aPipeHandle ); |
|
1070 C_TRACE(( _T("CModemAtHandler::PipeCreated() pipehandle: %d"), aPipeHandle )); |
|
1071 |
|
1072 iDteId = aPipeHandle; |
|
1073 |
|
1074 if( KErrNone == aError ) |
|
1075 { |
|
1076 OstTrace0( TRACE_NORMAL, DUP1_CMODEMATHANDLER_PIPECREATED, "CModemAtHandler::PipeCreated - pipe created, let's connect to modem" ); |
|
1077 C_TRACE(( _T("CModemAtHandler::pipeCreated(): pipe created, let's connect to modem") )); |
|
1078 SendAtModemConnectReq(); |
|
1079 } |
|
1080 else |
|
1081 { |
|
1082 OstTrace0( TRACE_NORMAL, DUP2_CMODEMATHANDLER_PIPECREATED, "CModemAtHandler::PipeCreated - pipe creation has failed, connect is aborted" ); |
|
1083 C_TRACE(( _T("CModemAtHandler::pipeCreated(): pipe creation has failed, connect is aborted") )); |
|
1084 iServer.SetDteIdAndConnect( KInvalidPipeHandle, aError ); |
|
1085 } |
|
1086 } |
|
1087 |
|
1088 |
|
1089 void CModemAtHandler::AddDevice( TUint8 aDevId, TUint8 aObjId ) |
|
1090 { |
|
1091 OstTraceExt2( TRACE_NORMAL, CMODEMATHANDLER_ADDDEVICE, "CModemAtHandler::AddDevice;aDevId=%x;aObjId=%x", aDevId, aObjId ); |
|
1092 C_TRACE(( _T("CModemAtHandler::AddDevice() aDevId: 0x%x, aObjId: 0x%x"), aDevId, aObjId )); |
|
1093 iServer.AddDevice( aDevId, aObjId ); |
|
1094 } |
|
1095 |
|
1096 |
|
1097 void CModemAtHandler::RemoveDevice( TUint8 aDevId, TUint8 aObjId ) |
|
1098 { |
|
1099 OstTraceExt2( TRACE_NORMAL, CMODEMATHANDLER_REMOVEDEVICE, "CModemAtHandler::RemoveDevice;aDevId=%hhu;aObjId=%hhu", aDevId, aObjId ); |
|
1100 C_TRACE(( _T("CModemAtHandler::RemoveDevice() aDevId: 0x%x, aObjId: 0x%x"), aDevId, aObjId )); |
|
1101 iServer.RemoveDevice( aDevId, aObjId ); |
|
1102 } |
|
1103 |
|
1104 void CModemAtHandler::GetDataportObjectId( TUint& aObjId ) |
|
1105 { |
|
1106 OstTrace0( TRACE_NORMAL, CMODEMATHANDLER_GETDATAPORTOBJECTID, "CModemAtHandler::GetDataportObjectId" ); |
|
1107 C_TRACE(( _T("CModemAtHandler::GetDataportObjectId()") )); |
|
1108 aObjId = iDataportObjId; |
|
1109 } |
|
1110 |
|
1111 void CModemAtHandler::GetSecondaryDataportObjectId( TUint& aObjId ) |
|
1112 { |
|
1113 OstTrace0( TRACE_NORMAL, CMODEMATHANDLER_GETSECONDARYDATAPORTOBJECTID, "CModemAtHandler::GetSecondaryDataportObjectId" ); |
|
1114 C_TRACE(( _T("CModemAtHandler::GetScondaryDataportObjectId()") )); |
|
1115 TBuf8<KObjectIdLength> dpObjId; |
|
1116 |
|
1117 if( iIscApi ) |
|
1118 { |
|
1119 OstTrace0( TRACE_NORMAL, DUP1_CMODEMATHANDLER_GETSECONDARYDATAPORTOBJECTID, "CModemAtHandler::GetSecondaryDataportObjectId - call GetChannelInfo(EIscNokiaDataport4) " ); |
|
1120 C_TRACE(( _T("GetChannelInfo() EIscNokiaDataport4") )); |
|
1121 iIscApi->GetChannelInfo( EIscNokiaDataport4, dpObjId ); |
|
1122 OstTrace0( TRACE_NORMAL, DUP2_CMODEMATHANDLER_GETSECONDARYDATAPORTOBJECTID, "CModemAtHandler::GetSecondaryDataportObjectId - GetChannelInfo() done" ); |
|
1123 C_TRACE(( _T("GetChannelInfo() done") )); |
|
1124 aObjId = (((TUint16)(dpObjId[0])) << KEightBits) + dpObjId[1]; |
|
1125 OstTrace1( TRACE_NORMAL, DUP3_CMODEMATHANDLER_GETSECONDARYDATAPORTOBJECTID, "CModemAtHandler::GetSecondaryDataportObjectId;aObjId=%d", aObjId ); |
|
1126 C_TRACE((_L("DataportObjId 0x%x"), aObjId )); |
|
1127 } |
|
1128 else |
|
1129 { |
|
1130 OstTrace0( TRACE_NORMAL, DUP4_CMODEMATHANDLER_GETSECONDARYDATAPORTOBJECTID, "CModemAtHandler::GetSecondaryDataportObjectId - No IscApi found, using default dataport object id" ); |
|
1131 C_TRACE(( _T("No IscApi found, using default dataport object id") )); |
|
1132 } |
|
1133 } |
|
1134 |
|
1135 |
|
1136 TInt CModemAtHandler::GetChannelId() |
|
1137 { |
|
1138 OstTrace1( TRACE_NORMAL, DUP1_CMODEMATHANDLER_GETCHANNELID, "CModemAtHandler::GetChannelId;iChannel=%x", iChannel ); |
|
1139 OstTrace1( TRACE_NORMAL, CMODEMATHANDLER_GETCHANNELID, "CModemAtHandler::GetChannelId;this=%x", this ); |
|
1140 C_TRACE(( _T("CModemAtHandler::GetChannelId() handler: 0x%x, channel id: 0x%x"), this, iChannel )); |
|
1141 return iChannel; |
|
1142 } |
|
1143 |