callcontinuity/vcc/src/tvccstatefailing.cpp
branchRCL_3
changeset 31 5886d40bb3de
parent 0 a4daefaec16c
child 33 2989b291cac7
equal deleted inserted replaced
29:755430a7d64b 31:5886d40bb3de
   134        if ( !aContext.SecondaryCall() )
   134        if ( !aContext.SecondaryCall() )
   135            {
   135            {
   136            RUBY_DEBUG0( "Secondary call not exist - setting state to init");
   136            RUBY_DEBUG0( "Secondary call not exist - setting state to init");
   137            aContext.SetState(*iInit);
   137            aContext.SetState(*iInit);
   138            }
   138            }
   139        
       
   140  else  if ( aCall == aContext.SecondaryCall() )
       
   141            {
       
   142            if( aState == MCCPCallObserver::ECCPStateDisconnecting || 
       
   143                    aState == MCCPCallObserver::ECCPStateIdle )
       
   144                {
       
   145                RUBY_DEBUG0( "Secondary call is disconnecting or idle - setting state to init");
       
   146                aContext.SetState(*iInit);
       
   147                }
       
   148            }
       
   149      }
   139      }
   150 
   140 
   151 // -----------------------------------------------------------------------------
   141 // -----------------------------------------------------------------------------
   152 // InspectChangedStates
   142 // InspectChangedStates
   153 // -----------------------------------------------------------------------------
   143 // -----------------------------------------------------------------------------
   162     __ASSERT_DEBUG( aContext.PrimaryCall() != NULL, User::Invariant() );
   152     __ASSERT_DEBUG( aContext.PrimaryCall() != NULL, User::Invariant() );
   163     __ASSERT_DEBUG(aCall != NULL, User::Invariant());
   153     __ASSERT_DEBUG(aCall != NULL, User::Invariant());
   164 
   154 
   165     RUBY_DEBUG1("call state is: %d", aState);
   155     RUBY_DEBUG1("call state is: %d", aState);
   166     // Remote party has disconnected the call during the handover
   156     // Remote party has disconnected the call during the handover
   167     if( aState == MCCPCallObserver::ECCPStateDisconnecting &&
   157     if((aState == MCCPCallObserver::ECCPStateDisconnecting ||
   168         aCall == aContext.SecondaryCall() )
   158         aState == MCCPCallObserver::ECCPStateIdle) && aCall == aContext.SecondaryCall() )
   169         {
   159         {
   170         ReleaseCall(aContext, *aContext.SecondaryCall(), *iInit, KVccHoNok );
   160         ReleaseCall(aContext, *aContext.SecondaryCall(), *iInit, KVccHoNok );
   171         }
   161         }
   172     else if (aCall == aContext.PrimaryCall())
   162     else if (aCall == aContext.PrimaryCall())
   173         {
   163         {