callcontinuity/vcc/src/tvccstatefailing.cpp
branchRCL_3
changeset 33 2989b291cac7
parent 31 5886d40bb3de
equal deleted inserted replaced
31:5886d40bb3de 33:2989b291cac7
   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            }
   139      }
   149      }
   140 
   150 
   141 // -----------------------------------------------------------------------------
   151 // -----------------------------------------------------------------------------
   142 // InspectChangedStates
   152 // InspectChangedStates
   143 // -----------------------------------------------------------------------------
   153 // -----------------------------------------------------------------------------
   152     __ASSERT_DEBUG( aContext.PrimaryCall() != NULL, User::Invariant() );
   162     __ASSERT_DEBUG( aContext.PrimaryCall() != NULL, User::Invariant() );
   153     __ASSERT_DEBUG(aCall != NULL, User::Invariant());
   163     __ASSERT_DEBUG(aCall != NULL, User::Invariant());
   154 
   164 
   155     RUBY_DEBUG1("call state is: %d", aState);
   165     RUBY_DEBUG1("call state is: %d", aState);
   156     // Remote party has disconnected the call during the handover
   166     // Remote party has disconnected the call during the handover
   157     if((aState == MCCPCallObserver::ECCPStateDisconnecting ||
   167     if( aState == MCCPCallObserver::ECCPStateDisconnecting &&
   158         aState == MCCPCallObserver::ECCPStateIdle) && aCall == aContext.SecondaryCall() )
   168         aCall == aContext.SecondaryCall() )
   159         {
   169         {
   160         ReleaseCall(aContext, *aContext.SecondaryCall(), *iInit, KVccHoNok );
   170         ReleaseCall(aContext, *aContext.SecondaryCall(), *iInit, KVccHoNok );
   161         }
   171         }
   162     else if (aCall == aContext.PrimaryCall())
   172     else if (aCall == aContext.PrimaryCall())
   163         {
   173         {