connectivitylayer/usbphonetlink/usbpnserver_exe/src/cusbpnisasender.cpp
changeset 9 8486d82aef45
parent 7 fa67e03b87df
equal deleted inserted replaced
8:6295dc2169f3 9:8486d82aef45
   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