326 __ASSERT_DEBUG(iContext.iNodeActivity, User::Panic(KCoreCprPanic, KPanicNoActivity)); |
327 __ASSERT_DEBUG(iContext.iNodeActivity, User::Panic(KCoreCprPanic, KPanicNoActivity)); |
327 CprBindToActivity::CCprBindToActivity& activity = static_cast<CprBindToActivity::CCprBindToActivity&>(*iContext.iNodeActivity); |
328 CprBindToActivity::CCprBindToActivity& activity = static_cast<CprBindToActivity::CCprBindToActivity&>(*iContext.iNodeActivity); |
328 const TCFDataClient::TBindTo& bindToMsg(message_cast<const TCFDataClient::TBindTo>(iContext.iMessage)); |
329 const TCFDataClient::TBindTo& bindToMsg(message_cast<const TCFDataClient::TBindTo>(iContext.iMessage)); |
329 |
330 |
330 __ASSERT_DEBUG(!bindToMsg.iNodeId.IsNull(), User::Panic(KCoreCprPanic, KPanicNoServiceProvider)); |
331 __ASSERT_DEBUG(!bindToMsg.iNodeId.IsNull(), User::Panic(KCoreCprPanic, KPanicNoServiceProvider)); |
331 activity.iNewServiceProvider = iContext.Node().AddClientL(bindToMsg.iNodeId, |
332 |
332 TClientType(TCFClientType::EServProvider, TCFClientType::EActivating)); |
333 RNodeInterface* newServiceProvider = iContext.Node().AddClientL(bindToMsg.iNodeId, |
333 //Join the new service provider |
334 TClientType(TCFClientType::EServProvider, TCFClientType::EActivating)); |
334 iContext.iNodeActivity->PostRequestTo(*activity.iNewServiceProvider, |
335 __ASSERT_DEBUG(newServiceProvider, User::Panic(KCoreCprPanic, KPanicNoServiceProvider)); |
335 TCFControlClient::TJoinRequest(iContext.NodeId(), TClientType(TCFClientType::ECtrl), iContext.Node().Priority()).CRef()); |
336 activity.iNewServiceProvider = bindToMsg.iNodeId; |
|
337 //Join the new service provider |
|
338 activity.PostRequestTo(*newServiceProvider, |
|
339 TCFControlClient::TJoinRequest(iContext.NodeId(), TClientType(TCFClientType::ECtrl), iContext.Node().Priority()).CRef()); |
336 } |
340 } |
337 |
|
338 } |
341 } |
339 |
342 |
340 EXPORT_DEFINE_SMELEMENT(THandleDataClientIdle, NetStateMachine::MStateTransition, CprStates::TContext) |
343 EXPORT_DEFINE_SMELEMENT(THandleDataClientIdle, NetStateMachine::MStateTransition, CprStates::TContext) |
341 EXPORT_C void THandleDataClientIdle::DoL() |
344 EXPORT_C void THandleDataClientIdle::DoL() |
342 { |
345 { |