407 ASSERT(dmProvider); // Must always support this interface |
407 ASSERT(dmProvider); // Must always support this interface |
408 |
408 |
409 TCFMessage::TSubConnDataTransferred wholeConnMsg(KNifEMCompatibilityLayerEntireSubConnectionUid, dmProvider->DataVolumesPtr()->iSentBytes, dmProvider->DataVolumesPtr()->iReceivedBytes); |
409 TCFMessage::TSubConnDataTransferred wholeConnMsg(KNifEMCompatibilityLayerEntireSubConnectionUid, dmProvider->DataVolumesPtr()->iSentBytes, dmProvider->DataVolumesPtr()->iReceivedBytes); |
410 TCFMessage::TSubConnDataTransferred defaultSubConnMsg(KNifEMCompatibilityLayerFakeSubConnectionId, dmProvider->DataVolumesPtr()->iSentBytes, dmProvider->DataVolumesPtr()->iReceivedBytes); |
410 TCFMessage::TSubConnDataTransferred defaultSubConnMsg(KNifEMCompatibilityLayerFakeSubConnectionId, dmProvider->DataVolumesPtr()->iSentBytes, dmProvider->DataVolumesPtr()->iReceivedBytes); |
411 |
411 |
412 RNodeInterface* ctrlClient = iContext.Node().GetFirstClient<TDefaultClientMatchPolicy>(TClientType(TCFClientType::ECtrl)); |
412 // Sending data clent status change message to all the control clients |
413 if(ctrlClient) |
413 TClientIter<TDefaultClientMatchPolicy> ccIter = iContext.Node().GetClientIter<TDefaultClientMatchPolicy>(TClientType(TCFClientType::ECtrl), TClientType(0, TCFClientType::ELeaving)); |
414 { // Can't send this if the client's gone |
414 RNodeInterface* ctrlClient; |
415 ctrlClient->PostMessage(iContext.NodeId(), wholeConnMsg); |
415 TBool ctrlClientPresent = false; |
416 ctrlClient->PostMessage(iContext.NodeId(), defaultSubConnMsg); |
416 while ((ctrlClient = ccIter++) != NULL) |
417 |
417 { |
418 iContext.Node().iSubConnEventDataSent = ETrue; |
418 //If any cntl clinet is present setting the variable ctrlClientPresent as true. |
419 } |
419 ctrlClientPresent = true; |
|
420 ctrlClient->PostMessage(iContext.NodeId(), wholeConnMsg); |
|
421 ctrlClient->PostMessage(iContext.NodeId(), defaultSubConnMsg); |
|
422 } |
|
423 if(ctrlClientPresent) |
|
424 { |
|
425 iContext.Node().iSubConnEventDataSent = ETrue; |
|
426 } |
420 } |
427 } |
421 } |
428 } |
422 |
429 |
423 DEFINE_SMELEMENT(TAwaitingIoctlMessage, NetStateMachine::MState, IpProtoCpr::TContext) |
430 DEFINE_SMELEMENT(TAwaitingIoctlMessage, NetStateMachine::MState, IpProtoCpr::TContext) |
424 TBool TAwaitingIoctlMessage::Accept() |
431 TBool TAwaitingIoctlMessage::Accept() |