117 // ----------------------------------------------------------------------------- |
117 // ----------------------------------------------------------------------------- |
118 // CUsbPnIsaSender::DeletePackets |
118 // CUsbPnIsaSender::DeletePackets |
119 // ----------------------------------------------------------------------------- |
119 // ----------------------------------------------------------------------------- |
120 void CUsbPnIsaSender::DeletePackets( ) |
120 void CUsbPnIsaSender::DeletePackets( ) |
121 { |
121 { |
122 OstTrace0( TRACE_API, CUSBPNISASENDER_DELETEPACKETS_ENTRY, "CUsbPnIsaSender::DeletePackets" ); |
122 OstTrace0( TRACE_BORDER, CUSBPNISASENDER_DELETEPACKETS_ENTRY, "CUsbPnIsaSender::DeletePackets" ); |
123 A_TRACE( ( _T( "CUsbPnIsaSender::DeletePackets()" ) ) ); |
123 A_TRACE( ( _T( "CUsbPnIsaSender::DeletePackets()" ) ) ); |
124 CUsbPnPacket* packet = NULL; |
124 CUsbPnPacket* packet = NULL; |
125 while(iPacketCount > 0) |
125 while(iPacketCount > 0) |
126 { |
126 { |
127 iPacketCount--; |
127 iPacketCount--; |
128 packet = &iPacket->NextPacket(); |
128 packet = &iPacket->NextPacket(); |
129 delete iPacket; |
129 delete iPacket; |
130 iPacket = packet; |
130 iPacket = packet; |
131 } |
131 } |
132 OstTrace0( TRACE_API, CUSBPNISASENDER_DELETEPACKETS_EXIT, "CUsbPnIsaSender::DeletePackets - return void" ); |
132 OstTrace0( TRACE_BORDER, CUSBPNISASENDER_DELETEPACKETS_EXIT, "CUsbPnIsaSender::DeletePackets - return void" ); |
133 A_TRACE( ( _T( "CUsbPnIsaSender::DeletePackets() - return void" ) ) ); |
133 A_TRACE( ( _T( "CUsbPnIsaSender::DeletePackets() - return void" ) ) ); |
134 } |
134 } |
135 |
135 |
136 // ----------------------------------------------------------------------------- |
136 // ----------------------------------------------------------------------------- |
137 // CUsbPnIsaSender::AddPacketBuffer |
137 // CUsbPnIsaSender::AddPacketBuffer |
174 // CUsbPnIsaSender::RunL |
174 // CUsbPnIsaSender::RunL |
175 // ----------------------------------------------------------------------------- |
175 // ----------------------------------------------------------------------------- |
176 // |
176 // |
177 void CUsbPnIsaSender::RunL( ) |
177 void CUsbPnIsaSender::RunL( ) |
178 { |
178 { |
179 OstTrace1( TRACE_API, CUSBPNISASENDER_RUNL_ENTRY, "CUsbPnIsaSender::RunL;iStatus=%d", iStatus.Int() ); |
179 OstTrace1( TRACE_BORDER, CUSBPNISASENDER_RUNL_ENTRY, "CUsbPnIsaSender::RunL;iStatus=%d", iStatus.Int() ); |
180 A_TRACE( ( _T( "CUsbPnIsaSender::RunL() iStatus:%d" ), iStatus.Int() ) ); |
180 A_TRACE( ( _T( "CUsbPnIsaSender::RunL() iStatus:%d" ), iStatus.Int() ) ); |
181 |
181 |
182 User::LeaveIfError( iStatus.Int() ); |
182 User::LeaveIfError( iStatus.Int() ); |
183 |
183 |
184 iCurrentPacket->ReleaseL(); |
184 iCurrentPacket->ReleaseL(); |
185 |
185 |
186 iBufferListener.Receive( ETrue ); |
186 iBufferListener.Receive( ETrue ); |
187 |
187 |
188 iCurrentPacket = &iCurrentPacket->NextPacket(); |
188 iCurrentPacket = &iCurrentPacket->NextPacket(); |
189 OstTraceExt2( TRACE_DETAILED, CUSBPNISASENDER_RUNL, "CUsbPnIsaSender::RunL;tail:%d,head:%d", iCurrentPacket->PacketNumber(), iPacket->PacketNumber() ); |
189 OstTraceExt2( TRACE_INTERNALS, CUSBPNISASENDER_RUNL, "CUsbPnIsaSender::RunL;tail:%d,head:%d", iCurrentPacket->PacketNumber(), iPacket->PacketNumber() ); |
190 E_TRACE( ( _T( "CUsbPnIsaSender::RunL() - tail:%d,head:%d " ), iCurrentPacket->PacketNumber(), iPacket->PacketNumber())); |
190 E_TRACE( ( _T( "CUsbPnIsaSender::RunL() - tail:%d,head:%d " ), iCurrentPacket->PacketNumber(), iPacket->PacketNumber())); |
191 |
191 |
192 if(iCurrentPacket != iPacket) |
192 if(iCurrentPacket != iPacket) |
193 { |
193 { |
194 // Continue write |
194 // Continue write |
195 OstTrace0( TRACE_DETAILED, CUSBPNISASENDER_RUNL_DUP1, "CUsbPnIsaSender::RunL - Write next in queue." ); |
195 OstTrace0( TRACE_INTERNALS, CUSBPNISASENDER_RUNL_DUP1, "CUsbPnIsaSender::RunL - Write next in queue." ); |
196 E_TRACE( ( _T( "CUsbPnIsaSender::RunL() - Write next in queue." ))); |
196 E_TRACE( ( _T( "CUsbPnIsaSender::RunL() - Write next in queue." ))); |
197 TryToSendPacket( iCurrentPacket->NextPacket() ); |
197 TryToSendPacket( iCurrentPacket->NextPacket() ); |
198 } |
198 } |
199 |
199 |
200 OstTrace0( TRACE_API, CUSBPNISASENDER_RUNL_EXIT, "CUsbPnIsaSender::RunL - return void" ); |
200 OstTrace0( TRACE_BORDER, CUSBPNISASENDER_RUNL_EXIT, "CUsbPnIsaSender::RunL - return void" ); |
201 A_TRACE( ( _T( "CUsbPnIsaSender::RunL() - return void" ) ) ); |
201 A_TRACE( ( _T( "CUsbPnIsaSender::RunL() - return void" ) ) ); |
202 } |
202 } |
203 |
203 |
204 // ----------------------------------------------------------------------------- |
204 // ----------------------------------------------------------------------------- |
205 // CUsbPnIsaSender::RunError |
205 // CUsbPnIsaSender::RunError |
206 // ----------------------------------------------------------------------------- |
206 // ----------------------------------------------------------------------------- |
207 // |
207 // |
208 TInt CUsbPnIsaSender::RunError( TInt aError ) |
208 TInt CUsbPnIsaSender::RunError( TInt aError ) |
209 { |
209 { |
210 OstTrace1( TRACE_API, CUSBPNISASENDER_RUNERROR_ENTRY, "CUsbPnIsaSender::RunError;aError=%d", aError ); |
210 OstTrace1( TRACE_BORDER, CUSBPNISASENDER_RUNERROR_ENTRY, "CUsbPnIsaSender::RunError;aError=%d", aError ); |
211 A_TRACE( ( _T( "CUsbPnIsaSender::RunError( aError:%d )" ), aError ) ); |
211 A_TRACE( ( _T( "CUsbPnIsaSender::RunError( aError:%d )" ), aError ) ); |
212 |
212 |
213 switch( aError ) |
213 switch( aError ) |
214 { |
214 { |
215 case KErrNotReady: |
215 case KErrNotReady: |
259 // ----------------------------------------------------------------------------- |
259 // ----------------------------------------------------------------------------- |
260 // |
260 // |
261 void CUsbPnIsaSender::AddPacketToSendingQueue( CUsbPnPacket& aPacket ) |
261 void CUsbPnIsaSender::AddPacketToSendingQueue( CUsbPnPacket& aPacket ) |
262 { |
262 { |
263 ASSERT( &aPacket ); |
263 ASSERT( &aPacket ); |
264 OstTrace1( TRACE_API, CUSBPNISASENDER_ADDPACKETTOSENDINGQUEUE_ENTRY, "CUsbPnIsaSender::AddPacketToSendingQueue;aPacket=%x", ( TUint )&( aPacket ) ); |
264 OstTrace1( TRACE_BORDER, CUSBPNISASENDER_ADDPACKETTOSENDINGQUEUE_ENTRY, "CUsbPnIsaSender::AddPacketToSendingQueue;aPacket=%x", ( TUint )&( aPacket ) ); |
265 A_TRACE( ( _T( "CUsbPnIsaSender::AddPacketToSendingQueue( aPacket:0x%x)" ), &aPacket ) ); |
265 A_TRACE( ( _T( "CUsbPnIsaSender::AddPacketToSendingQueue( aPacket:0x%x)" ), &aPacket ) ); |
266 |
266 |
267 CUsbPnPacket& packet( iPacket->NextPacket() ); |
267 CUsbPnPacket& packet( iPacket->NextPacket() ); |
268 if( &packet == &aPacket ) |
268 if( &packet == &aPacket ) |
269 { |
269 { |
270 iPacket = &packet; |
270 iPacket = &packet; |
271 OstTrace1( TRACE_DETAILED, CUSBPNISASENDER_ADDPACKETTOSENDINGQUEUE, "CUsbPnIsaSender::AddPacketToSendingQueue;packet number:%d", iPacket->PacketNumber() ); |
271 OstTrace1( TRACE_INTERNALS, CUSBPNISASENDER_ADDPACKETTOSENDINGQUEUE, "CUsbPnIsaSender::AddPacketToSendingQueue;packet number:%d", iPacket->PacketNumber() ); |
272 E_TRACE( ( _T( "CUsbPnIsaSender::AddPacketToSendingQueue() - packet number:%d" ), iPacket->PacketNumber() ) ); |
272 E_TRACE( ( _T( "CUsbPnIsaSender::AddPacketToSendingQueue() - packet number:%d" ), iPacket->PacketNumber() ) ); |
273 |
273 |
274 TryToSendPacket( *iPacket ); |
274 TryToSendPacket( *iPacket ); |
275 } |
275 } |
276 else |
276 else |
277 { |
277 { |
278 TRACE_ASSERT_ALWAYS; |
278 TRACE_ASSERT_ALWAYS; |
279 User::Panic(_L("USBPNSERVER"), KErrTotalLossOfPrecision); |
279 User::Panic(_L("USBPNSERVER"), KErrTotalLossOfPrecision); |
280 } |
280 } |
281 |
281 |
282 OstTrace0( TRACE_API, CUSBPNISASENDER_ADDPACKETTOSENDINGQUEUE_EXIT, "CUsbPnIsaSender::AddPacketToSendingQueue - return void" ); |
282 OstTrace0( TRACE_BORDER, CUSBPNISASENDER_ADDPACKETTOSENDINGQUEUE_EXIT, "CUsbPnIsaSender::AddPacketToSendingQueue - return void" ); |
283 A_TRACE( ( _T( "CUsbPnIsaSender::AddPacketToSendingQueue() - return void" ) ) ); |
283 A_TRACE( ( _T( "CUsbPnIsaSender::AddPacketToSendingQueue() - return void" ) ) ); |
284 } |
284 } |
285 |
285 |
286 |
286 |
287 // ----------------------------------------------------------------------------- |
287 // ----------------------------------------------------------------------------- |
289 // ----------------------------------------------------------------------------- |
289 // ----------------------------------------------------------------------------- |
290 // |
290 // |
291 void CUsbPnIsaSender::TryToSendPacket( CUsbPnPacket& aPacket ) |
291 void CUsbPnIsaSender::TryToSendPacket( CUsbPnPacket& aPacket ) |
292 { |
292 { |
293 ASSERT( &aPacket ); |
293 ASSERT( &aPacket ); |
294 OstTrace1( TRACE_API, CUSBPNISASENDER_TRYTOSENDPACKET_ENTRY, "CUsbPnIsaSender::TryToSendPacket;aPacket=%x", ( TUint )&( aPacket ) ); |
294 OstTrace1( TRACE_BORDER, CUSBPNISASENDER_TRYTOSENDPACKET_ENTRY, "CUsbPnIsaSender::TryToSendPacket;aPacket=%x", ( TUint )&( aPacket ) ); |
295 A_TRACE( ( _T( "CUsbPnIsaSender::TryToSendPacket( aPacket:0x%x )" ), &aPacket ) ); |
295 A_TRACE( ( _T( "CUsbPnIsaSender::TryToSendPacket( aPacket:0x%x )" ), &aPacket ) ); |
296 |
296 |
297 if(!IsActive()) |
297 if(!IsActive()) |
298 { |
298 { |
299 if( &aPacket == ( &iCurrentPacket->NextPacket() ) |
299 if( &aPacket == ( &iCurrentPacket->NextPacket() ) |
300 || &aPacket == iCurrentPacket ) |
300 || &aPacket == iCurrentPacket ) |
301 { |
301 { |
302 OstTrace0( TRACE_DETAILED, CUSBPNISASENDER_TRYTOSENDPACKET, "CUsbPnIsaSender::TryToSendPacket - Send to ISA" ); |
302 OstTrace0( TRACE_INTERNALS, CUSBPNISASENDER_TRYTOSENDPACKET, "CUsbPnIsaSender::TryToSendPacket - Send to ISA" ); |
303 E_TRACE( ( _T( "CUsbPnIsaSender::TryToSendPacket() - Send to ISA"))); |
303 E_TRACE( ( _T( "CUsbPnIsaSender::TryToSendPacket() - Send to ISA"))); |
304 |
304 |
305 |
305 |
306 #ifdef EXTENDED_TRACE_FLAG |
306 #ifdef EXTENDED_TRACE_FLAG |
307 |
307 |
308 HBufC8& data(aPacket.Buffer()); |
308 HBufC8& data(aPacket.Buffer()); |
309 TInt length( data.Length() ); |
309 TInt length( data.Length() ); |
310 for( TInt i = 0; i < length; i++ ) |
310 for( TInt i = 0; i < length; i++ ) |
311 { |
311 { |
312 OstTraceExt2( TRACE_DETAILED, CUSBPNISASENDER_TRYTOSENDPACKET_DUP1, "CUsbPnIsaSender::Send([%d] = %x )", i, data[i] ); |
312 OstTraceExt2( TRACE_INTERNALS, CUSBPNISASENDER_TRYTOSENDPACKET_DUP1, "CUsbPnIsaSender::Send([%d] = %x )", i, data[i] ); |
313 E_TRACE( ( _T( "CUsbPnIsaSender::Send([%d] = %x )" ), i, data[i] ) ); |
313 E_TRACE( ( _T( "CUsbPnIsaSender::Send([%d] = %x )" ), i, data[i] ) ); |
314 i++; |
314 i++; |
315 } |
315 } |
316 #endif |
316 #endif |
317 |
317 |
324 User::Panic(_L("USBPNSERVER"), KErrTotalLossOfPrecision); |
324 User::Panic(_L("USBPNSERVER"), KErrTotalLossOfPrecision); |
325 } |
325 } |
326 } |
326 } |
327 else |
327 else |
328 { |
328 { |
329 OstTrace0( TRACE_DETAILED, CUSBPNISASENDER_TRYTOSENDPACKET_DUP2, "CUsbPnIsaSender::TryToSendPacket - Already sending" ); |
329 OstTrace0( TRACE_INTERNALS, CUSBPNISASENDER_TRYTOSENDPACKET_DUP2, "CUsbPnIsaSender::TryToSendPacket - Already sending" ); |
330 E_TRACE( ( _T( "CUsbPnIsaSender::TryToSendPacket() - Already sending"))); |
330 E_TRACE( ( _T( "CUsbPnIsaSender::TryToSendPacket() - Already sending"))); |
331 } |
331 } |
332 |
332 |
333 OstTrace0( TRACE_API, CUSBPNISASENDER_TRYTOSENDPACKET_EXIT, "CUsbPnIsaSender::TryToSendPacket - return void" ); |
333 OstTrace0( TRACE_BORDER, CUSBPNISASENDER_TRYTOSENDPACKET_EXIT, "CUsbPnIsaSender::TryToSendPacket - return void" ); |
334 A_TRACE( ( _T( "CUsbPnIsaSender::TryToSendPacket() - return void" ) ) ); |
334 A_TRACE( ( _T( "CUsbPnIsaSender::TryToSendPacket() - return void" ) ) ); |
335 } |
335 } |
336 |
336 |
337 // ========================== OTHER EXPORTED FUNCTIONS ========================= |
337 // ========================== OTHER EXPORTED FUNCTIONS ========================= |
338 |
338 |