diff -r bfb1de3eac8e -r 7b872347d83b convergedconnectionhandler/cchserver/src/cchsubserviceinfo.cpp --- a/convergedconnectionhandler/cchserver/src/cchsubserviceinfo.cpp Tue Jan 26 11:50:49 2010 +0200 +++ b/convergedconnectionhandler/cchserver/src/cchsubserviceinfo.cpp Tue Feb 02 00:05:57 2010 +0200 @@ -161,6 +161,13 @@ // void CCCHSubserviceInfo::SetState( const TCCHSubserviceState aState ) { + CCHLOGSTRING2( "CCCHSubserviceInfo::SetState: iPreviousState = %d", + iState ); + CCHLOGSTRING2( "CCCHSubserviceInfo::SetState: new state = %d", + aState ); + CCHLOGSTRING2( "CCCHSubserviceInfo::SetState: new state = %d", + Type() ); + iPreviousState = iState; iState = aState; } @@ -235,20 +242,34 @@ iType ); CCHLOGSTRING2( "CCCHSubserviceInfo::StatusChangedL: iState %d", iState ); + CCHLOGSTRING2( "CCCHSubserviceInfo::StatusChangedL: iPreviousState %d", + iPreviousState ); CCHLOGSTRING2( "CCCHSubserviceInfo::StatusChangedL: iError %d", iError ); + + if( iPreviousState == ECCHUninitialized && iState == ECCHDisabled ) + { + CCHLOGSTRING( "CCCHSubserviceInfo::StatusChangedL: Status not notified" ); + } + else + { + if ( iPreviousState == ECCHDisconnecting && iState == ECCHDisabled ) + { + iPreviousState = ECCHUninitialized; + } + CCHLOGSTRING( "CCCHSubserviceInfo::StatusChangedL: Notify new status" ); + TServiceStatus serviceStatus; + serviceStatus.iConnectionInfo.iServiceSelection.iServiceId = iServiceId; + serviceStatus.iConnectionInfo.iServiceSelection.iType = iType; + serviceStatus.iConnectionInfo.iIapId = iIapId; + serviceStatus.iConnectionInfo.iSNAPId = iSNAPId; + serviceStatus.iConnectionInfo.iSNAPLocked = iSNAPLocked; + serviceStatus.iState = iState; + serviceStatus.iError = iError; - TServiceStatus serviceStatus; - serviceStatus.iConnectionInfo.iServiceSelection.iServiceId = iServiceId; - serviceStatus.iConnectionInfo.iServiceSelection.iType = iType; - serviceStatus.iConnectionInfo.iIapId = iIapId; - serviceStatus.iConnectionInfo.iSNAPId = iSNAPId; - serviceStatus.iConnectionInfo.iSNAPLocked = iSNAPLocked; - serviceStatus.iState = iState; - serviceStatus.iError = iError; - - // Send notify to clients - iServer.RequestStorage().NotifyServiceStatesChange( serviceStatus ); + // Send notify to clients + iServer.RequestStorage().NotifyServiceStatesChange( serviceStatus ); + } CCHLOGSTRING( "CCCHSubserviceInfo::StatusChangedL: OUT" ); }