166 SetByteCount( NULL ); |
166 SetByteCount( NULL ); |
167 SetMessageLength( NULL ); |
167 SetMessageLength( NULL ); |
168 Receive( ETrue ); |
168 Receive( ETrue ); |
169 } |
169 } |
170 |
170 |
171 OstTrace0( TRACE_API, CUSBPNUSBRECEIVER_RUNL_EXIT, "CUsbPnUsbReceiver::RunL - return void" ); |
171 OstTrace0( TRACE_BORDER, CUSBPNUSBRECEIVER_RUNL_EXIT, "CUsbPnUsbReceiver::RunL - return void" ); |
172 A_TRACE( ( _T( "CUsbPnUsbReceiver::RunL() - return void" ) ) ); |
172 A_TRACE( ( _T( "CUsbPnUsbReceiver::RunL() - return void" ) ) ); |
173 } |
173 } |
174 |
174 |
175 // ----------------------------------------------------------------------------- |
175 // ----------------------------------------------------------------------------- |
176 // CUsbPnUsbReceiver::SetMessageComplete |
176 // CUsbPnUsbReceiver::SetMessageComplete |
177 // ----------------------------------------------------------------------------- |
177 // ----------------------------------------------------------------------------- |
178 void CUsbPnUsbReceiver::SetMessageComplete( const TBool aMsgComplete ) |
178 void CUsbPnUsbReceiver::SetMessageComplete( const TBool aMsgComplete ) |
179 { |
179 { |
180 OstTrace1( TRACE_API, CUSBPNUSBRECEIVER_SETMESSAGECOMPLETE_ENTRY, "CUsbPnUsbReceiver::SetMessageComplete;aMsgComplete:%d", aMsgComplete ); |
180 OstTrace1( TRACE_BORDER, CUSBPNUSBRECEIVER_SETMESSAGECOMPLETE_ENTRY, "CUsbPnUsbReceiver::SetMessageComplete;aMsgComplete:%d", aMsgComplete ); |
181 A_TRACE( ( _T( "CUsbPnUsbReceiver::SetMessageComplete() aMsgComplete:%d" ), aMsgComplete ) ); |
181 A_TRACE( ( _T( "CUsbPnUsbReceiver::SetMessageComplete() aMsgComplete:%d" ), aMsgComplete ) ); |
182 iMessageComplete = aMsgComplete; |
182 iMessageComplete = aMsgComplete; |
183 OstTrace0( TRACE_API, CUSBPNUSBRECEIVER_SETMESSAGECOMPLETE_EXIT, "CUsbPnUsbReceiver::SetMessageComplete - return void" ); |
183 OstTrace0( TRACE_BORDER, CUSBPNUSBRECEIVER_SETMESSAGECOMPLETE_EXIT, "CUsbPnUsbReceiver::SetMessageComplete - return void" ); |
184 A_TRACE( ( _T( "CUsbPnUsbReceiver::SetMessageComplete() - return void" ) ) ); |
184 A_TRACE( ( _T( "CUsbPnUsbReceiver::SetMessageComplete() - return void" ) ) ); |
185 } |
185 } |
186 |
186 |
187 // ----------------------------------------------------------------------------- |
187 // ----------------------------------------------------------------------------- |
188 // CUsbPnUsbReceiver::SetByteCount |
188 // CUsbPnUsbReceiver::SetByteCount |
189 // ----------------------------------------------------------------------------- |
189 // ----------------------------------------------------------------------------- |
190 void CUsbPnUsbReceiver::SetByteCount( const TUint aByteCount ) |
190 void CUsbPnUsbReceiver::SetByteCount( const TUint aByteCount ) |
191 { |
191 { |
192 OstTrace1( TRACE_API, CUSBPNUSBRECEIVER_SETBYTECOUNT_ENTRY, "CUsbPnUsbReceiver::SetByteCount;aByteCount:%d", aByteCount ); |
192 OstTrace1( TRACE_BORDER, CUSBPNUSBRECEIVER_SETBYTECOUNT_ENTRY, "CUsbPnUsbReceiver::SetByteCount;aByteCount:%d", aByteCount ); |
193 A_TRACE( ( _T( "CUsbPnUsbReceiver::SetByteCount() aByteCount:%d" ), aByteCount ) ); |
193 A_TRACE( ( _T( "CUsbPnUsbReceiver::SetByteCount() aByteCount:%d" ), aByteCount ) ); |
194 iByteCount = aByteCount; |
194 iByteCount = aByteCount; |
195 OstTrace0( TRACE_API, CUSBPNUSBRECEIVER_SETBYTECOUNT_EXIT, "CUsbPnUsbReceiver::SetByteCount - return void" ); |
195 OstTrace0( TRACE_BORDER, CUSBPNUSBRECEIVER_SETBYTECOUNT_EXIT, "CUsbPnUsbReceiver::SetByteCount - return void" ); |
196 A_TRACE( ( _T( "CUsbPnUsbReceiver::SetByteCount() - return void" ) ) ); |
196 A_TRACE( ( _T( "CUsbPnUsbReceiver::SetByteCount() - return void" ) ) ); |
197 } |
197 } |
198 |
198 |
199 |
199 |
200 // ----------------------------------------------------------------------------- |
200 // ----------------------------------------------------------------------------- |
201 // CUsbPnUsbReceiver::SetMessageLength |
201 // CUsbPnUsbReceiver::SetMessageLength |
202 // ----------------------------------------------------------------------------- |
202 // ----------------------------------------------------------------------------- |
203 void CUsbPnUsbReceiver::SetMessageLength( const TUint aMessageLength ) |
203 void CUsbPnUsbReceiver::SetMessageLength( const TUint aMessageLength ) |
204 { |
204 { |
205 OstTrace1( TRACE_API, CUSBPNUSBRECEIVER_SetMessageLength_ENTRY, "CUsbPnUsbReceiver::SetMessageLength;aMessageLength:%d", aMessageLength ); |
205 OstTrace1( TRACE_BORDER, CUSBPNUSBRECEIVER_SetMessageLength_ENTRY, "CUsbPnUsbReceiver::SetMessageLength;aMessageLength:%d", aMessageLength ); |
206 A_TRACE( ( _T( "CUsbPnUsbReceiver::SetMessageLength() aMessageLength:%d" ), aMessageLength ) ); |
206 A_TRACE( ( _T( "CUsbPnUsbReceiver::SetMessageLength() aMessageLength:%d" ), aMessageLength ) ); |
207 iMessageLength = aMessageLength; |
207 iMessageLength = aMessageLength; |
208 OstTrace0( TRACE_API, CUSBPNUSBRECEIVER_SetMessageLength_EXIT, "CUsbPnUsbReceiver::SetMessageLength - return void" ); |
208 OstTrace0( TRACE_BORDER, CUSBPNUSBRECEIVER_SetMessageLength_EXIT, "CUsbPnUsbReceiver::SetMessageLength - return void" ); |
209 A_TRACE( ( _T( "CUsbPnUsbReceiver::SetMessageLength() - return void" ) ) ); |
209 A_TRACE( ( _T( "CUsbPnUsbReceiver::SetMessageLength() - return void" ) ) ); |
210 } |
210 } |
211 |
211 |
212 // ----------------------------------------------------------------------------- |
212 // ----------------------------------------------------------------------------- |
213 // CUsbPnUsbReceiver::RunError |
213 // CUsbPnUsbReceiver::RunError |
214 // ----------------------------------------------------------------------------- |
214 // ----------------------------------------------------------------------------- |
215 // |
215 // |
216 TInt CUsbPnUsbReceiver::RunError( TInt aError ) |
216 TInt CUsbPnUsbReceiver::RunError( TInt aError ) |
217 { |
217 { |
218 OstTrace1( TRACE_API, CUSBPNUSBRECEIVER_RUNERROR_ENTRY, "CUsbPnUsbReceiver::RunError;aError=%d", aError ); |
218 OstTrace1( TRACE_BORDER, CUSBPNUSBRECEIVER_RUNERROR_ENTRY, "CUsbPnUsbReceiver::RunError;aError=%d", aError ); |
219 A_TRACE( ( _T( "CUsbPnUsbReceiver::RunError(aError:%d)" ), aError ) ); |
219 A_TRACE( ( _T( "CUsbPnUsbReceiver::RunError(aError:%d)" ), aError ) ); |
220 |
220 |
221 switch( aError ) |
221 switch( aError ) |
222 { |
222 { |
223 case KErrUsbDriverBase: |
223 case KErrUsbDriverBase: |
322 { |
322 { |
323 OstTrace0( TRACE_NORMAL, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_ENTRY, "CUsbPnUsbReceiver::ConstructMessageL" ); |
323 OstTrace0( TRACE_NORMAL, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_ENTRY, "CUsbPnUsbReceiver::ConstructMessageL" ); |
324 C_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage()" ) ) ); |
324 C_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage()" ) ) ); |
325 |
325 |
326 TUint packetLength( iPacket->Buffer().Length() ); |
326 TUint packetLength( iPacket->Buffer().Length() ); |
327 OstTrace1( TRACE_DETAILED, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL, "CUsbPnUsbReceiver::ConstructMessageL;packetLength=%d", packetLength ); |
327 OstTrace1( TRACE_INTERNALS, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL, "CUsbPnUsbReceiver::ConstructMessageL;packetLength=%d", packetLength ); |
328 E_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage - packetLength:%d" ), packetLength ) ); |
328 E_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage - packetLength:%d" ), packetLength ) ); |
329 |
329 |
330 // New message |
330 // New message |
331 if( iByteCount == 0 ) |
331 if( iByteCount == 0 ) |
332 { |
332 { |
333 TUint16 lsb(iRecvPtr[ISI_HEADER_OFFSET_LENGTH +1]); |
333 TUint16 lsb(iRecvPtr[ISI_HEADER_OFFSET_LENGTH +1]); |
334 TUint16 msb(iRecvPtr[ISI_HEADER_OFFSET_LENGTH]); |
334 TUint16 msb(iRecvPtr[ISI_HEADER_OFFSET_LENGTH]); |
335 |
335 |
336 iMessageLength = ( lsb | ( msb<<8 ) ); |
336 iMessageLength = ( lsb | ( msb<<8 ) ); |
337 |
337 |
338 OstTrace1( TRACE_DETAILED, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_DUP1, "CUsbPnUsbReceiver::ConstructMessageL;iMessageLength=%d", iMessageLength ); |
338 OstTrace1( TRACE_INTERNALS, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_DUP1, "CUsbPnUsbReceiver::ConstructMessageL;iMessageLength=%d", iMessageLength ); |
339 E_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage - iMessageLength:%d" ), iMessageLength ) ); |
339 E_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage - iMessageLength:%d" ), iMessageLength ) ); |
340 if( iMessageLength >= 4 ) |
340 if( iMessageLength >= 4 ) |
341 { |
341 { |
342 iByteCount = packetLength; |
342 iByteCount = packetLength; |
343 |
343 |
344 OstTrace1( TRACE_DETAILED, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_DUP2, "CUsbPnUsbReceiver::ConstructMessageLNew message;Received:%d", iByteCount ); |
344 OstTrace1( TRACE_INTERNALS, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_DUP2, "CUsbPnUsbReceiver::ConstructMessageLNew message;Received:%d", iByteCount ); |
345 E_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage - New message. Received:%d"), iByteCount)); |
345 E_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage - New message. Received:%d"), iByteCount)); |
346 |
346 |
347 if( ( PN_HEADER_SIZE + iMessageLength ) > packetLength ) |
347 if( ( PN_HEADER_SIZE + iMessageLength ) > packetLength ) |
348 { |
348 { |
349 OstTrace0( TRACE_DETAILED, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_DUP3, "CUsbPnUsbReceiver::ConstructMessageL - partial message. Receive more" ); |
349 OstTrace0( TRACE_INTERNALS, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_DUP3, "CUsbPnUsbReceiver::ConstructMessageL - partial message. Receive more" ); |
350 E_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage - partial message. Receive more"))); |
350 E_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage - partial message. Receive more"))); |
351 |
351 |
352 iStorage = HBufC8::NewL( iMessageLength + PN_HEADER_SIZE ); |
352 iStorage = HBufC8::NewL( iMessageLength + PN_HEADER_SIZE ); |
353 TPtr8 tmp( iStorage->Des() ); |
353 TPtr8 tmp( iStorage->Des() ); |
354 tmp.Append( iPacket->Buffer() ); |
354 tmp.Append( iPacket->Buffer() ); |
358 |
358 |
359 // Appending to previous message |
359 // Appending to previous message |
360 else |
360 else |
361 { |
361 { |
362 iByteCount = iByteCount + packetLength; |
362 iByteCount = iByteCount + packetLength; |
363 OstTrace1( TRACE_DETAILED, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_DUP4, "CUsbPnUsbReceiver::ConstructMessageL - Append to previous part;iByteCount:%d", iByteCount ); |
363 OstTrace1( TRACE_INTERNALS, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_DUP4, "CUsbPnUsbReceiver::ConstructMessageL - Append to previous part;iByteCount:%d", iByteCount ); |
364 E_TRACE((_T("CUsbPnUsbReceiver::ConstructMessage - Append to previous part. iByteCount:%d"), iByteCount)); |
364 E_TRACE((_T("CUsbPnUsbReceiver::ConstructMessage - Append to previous part. iByteCount:%d"), iByteCount)); |
365 TPtr8 tmp( iStorage->Des() ); |
365 TPtr8 tmp( iStorage->Des() ); |
366 tmp.Append( iPacket->Buffer() ); |
366 tmp.Append( iPacket->Buffer() ); |
367 } |
367 } |
368 |
368 |
369 // message ready to be sent |
369 // message ready to be sent |
370 if( iByteCount == ( iMessageLength + PN_HEADER_SIZE ) ) |
370 if( iByteCount == ( iMessageLength + PN_HEADER_SIZE ) ) |
371 { |
371 { |
372 OstTrace0( TRACE_DETAILED, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_DUP5, "CUsbPnUsbReceiver::ConstructMessageL - message complete" ); |
372 OstTrace0( TRACE_INTERNALS, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_DUP5, "CUsbPnUsbReceiver::ConstructMessageL - message complete" ); |
373 E_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage - message complete"))); |
373 E_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage - message complete"))); |
374 |
374 |
375 if( iByteCount > KPnPacketSize ) |
375 if( iByteCount > KPnPacketSize ) |
376 { |
376 { |
377 OstTrace0( TRACE_DETAILED, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_DUP6, "CUsbPnUsbReceiver::ConstructMessageL - realloc for whole message" ); |
377 OstTrace0( TRACE_INTERNALS, CUSBPNUSBRECEIVER_CONSTRUCTMESSAGEL_DUP6, "CUsbPnUsbReceiver::ConstructMessageL - realloc for whole message" ); |
378 E_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage - realloc for whole message"))); |
378 E_TRACE( ( _T( "CUsbPnUsbReceiver::ConstructMessage - realloc for whole message"))); |
379 iPacket->ReallocBufferL( iMessageLength + PN_HEADER_SIZE ); |
379 iPacket->ReallocBufferL( iMessageLength + PN_HEADER_SIZE ); |
380 iRecvPtr.Set( iPacket->Buffer().Des() ); |
380 iRecvPtr.Set( iPacket->Buffer().Des() ); |
381 iRecvPtr.Append( *iStorage ); |
381 iRecvPtr.Append( *iStorage ); |
382 delete iStorage; |
382 delete iStorage; |
383 iStorage = NULL; |
383 iStorage = NULL; |
384 } |
384 } |
385 |
385 |
386 #ifdef ISI_LENGTH_LITTLE_ENDIAN |
386 #ifndef ISI_LENGTH_BIG_ENDIAN |
387 // Converts the endianess of message length |
387 // Converts the endianess of message length |
388 TUint8 tmp4(iRecvPtr[ISI_HEADER_OFFSET_LENGTH]); |
388 TUint8 tmp4(iRecvPtr[ISI_HEADER_OFFSET_LENGTH]); |
389 TUint8 tmp5(iRecvPtr[ISI_HEADER_OFFSET_LENGTH +1]); |
389 TUint8 tmp5(iRecvPtr[ISI_HEADER_OFFSET_LENGTH +1]); |
390 iRecvPtr[ISI_HEADER_OFFSET_LENGTH] = tmp5; |
390 iRecvPtr[ISI_HEADER_OFFSET_LENGTH] = tmp5; |
391 iRecvPtr[ISI_HEADER_OFFSET_LENGTH +1] = tmp4; |
391 iRecvPtr[ISI_HEADER_OFFSET_LENGTH +1] = tmp4; |