datacommsserver/esockserver/UpsCoreProviders/src/upscpractivities.cpp
branchRCL_3
changeset 26 b564fb5fd78b
parent 25 9d7ce34704c8
equal deleted inserted replaced
25:9d7ce34704c8 26:b564fb5fd78b
    90 
    90 
    91 void CDeferredCtrlClientJoinActivity::SetFlags(TInt aFlags)
    91 void CDeferredCtrlClientJoinActivity::SetFlags(TInt aFlags)
    92 	{
    92 	{
    93 	iFlags = aFlags;
    93 	iFlags = aFlags;
    94 	}
    94 	}
    95 /*
    95 
    96 TInt CDeferredCtrlClientJoinActivity::Flags()
    96 TInt CDeferredCtrlClientJoinActivity::Flags()
    97 	{
    97 	{
    98 	return iFlags;
    98 	return iFlags;
    99 	}
    99 	}
   100 */
   100 
   101 EXPORT_DEFINE_SMELEMENT(CDeferredCtrlClientJoinActivity::TStoreControlClient, NetStateMachine::MStateTransition, CDeferredCtrlClientJoinActivity::TContext)
   101 EXPORT_DEFINE_SMELEMENT(CDeferredCtrlClientJoinActivity::TStoreControlClient, NetStateMachine::MStateTransition, CDeferredCtrlClientJoinActivity::TContext)
   102 
   102 
   103 EXPORT_C void CDeferredCtrlClientJoinActivity::TStoreControlClient::DoL()
   103 EXPORT_C void CDeferredCtrlClientJoinActivity::TStoreControlClient::DoL()
   104 /**
   104 /**
   105 Store the control client locally from a TCtrlClientJoinRequest.
   105 Store the control client locally from a TCtrlClientJoinRequest.
   107 	{
   107 	{
   108 	CDeferredCtrlClientJoinActivity* act = iContext.Activity();
   108 	CDeferredCtrlClientJoinActivity* act = iContext.Activity();
   109 	__ASSERT_DEBUG(act->Client() == TNodeId::NullId(), User::Panic(KSpecAssert_ESockUpsCoreProv, 2));
   109 	__ASSERT_DEBUG(act->Client() == TNodeId::NullId(), User::Panic(KSpecAssert_ESockUpsCoreProv, 2));
   110 	const TCFControlClient::TJoinRequest& msg = message_cast<TCFControlClient::TJoinRequest>(iContext.iMessage);
   110 	const TCFControlClient::TJoinRequest& msg = message_cast<TCFControlClient::TJoinRequest>(iContext.iMessage);
   111 	act->SetClient(msg.iNodeId);
   111 	act->SetClient(msg.iNodeId);
       
   112     act->SetFlags(msg.iClientType.Flags());
   112 	}
   113 	}
   113 
   114 
   114 EXPORT_DEFINE_SMELEMENT(CDeferredCtrlClientJoinActivity::TAddControlClientAndSendJoinComplete, NetStateMachine::MStateTransition, CDeferredCtrlClientJoinActivity::TContext)
   115 EXPORT_DEFINE_SMELEMENT(CDeferredCtrlClientJoinActivity::TAddControlClientAndSendJoinComplete, NetStateMachine::MStateTransition, CDeferredCtrlClientJoinActivity::TContext)
   115 EXPORT_C void CDeferredCtrlClientJoinActivity::TAddControlClientAndSendJoinComplete::DoL()
   116 EXPORT_C void CDeferredCtrlClientJoinActivity::TAddControlClientAndSendJoinComplete::DoL()
   116 /**
   117 /**
   119 	{
   120 	{
   120 	CDeferredCtrlClientJoinActivity* act = iContext.Activity();
   121 	CDeferredCtrlClientJoinActivity* act = iContext.Activity();
   121 	__ASSERT_DEBUG(act->Client() != TNodeId::NullId(), User::Panic(KSpecAssert_ESockUpsCoreProv, 3));
   122 	__ASSERT_DEBUG(act->Client() != TNodeId::NullId(), User::Panic(KSpecAssert_ESockUpsCoreProv, 3));
   122 	
   123 	
   123 	// Add control client
   124 	// Add control client
   124 	iContext.Node().AddClientL(act->Client(), TCFClientType(TCFClientType::ECtrl));
   125 	iContext.Node().AddClientL(act->Client(), TCFClientType(TCFClientType::ECtrl, act->Flags()));
   125 
   126 
   126 	// Send TJoinComplete
   127 	// Send TJoinComplete
   127 	RClientInterface::OpenPostMessageClose(iContext.NodeId(), act->Client(), TCFControlClient::TJoinComplete().CRef());
   128 	RClientInterface::OpenPostMessageClose(iContext.NodeId(), act->Client(), TCFControlClient::TJoinComplete().CRef());
   128 	
   129 	
   129 	if (iContext.Node().CountClients<TDefaultClientMatchPolicy>(TCFClientType(TCFClientType::ECtrl)) == 1)
   130 	if (iContext.Node().CountClients<TDefaultClientMatchPolicy>(TCFClientType(TCFClientType::ECtrl)) == 1)