datacommsserver/esockserver/ssock/ss_nodemessages_legacy.cpp
branchRCL_3
changeset 15 51722b10598b
parent 14 4ccf8e394726
equal deleted inserted replaced
14:4ccf8e394726 15:51722b10598b
   101 void TCFSigLegacyRMessage2Ext::ForwardRequestL(MeshMachine::TNodeContextBase& aContext)
   101 void TCFSigLegacyRMessage2Ext::ForwardRequestL(MeshMachine::TNodeContextBase& aContext)
   102 	{
   102 	{
   103 	ASSERT(aContext.Activity() != NULL);
   103 	ASSERT(aContext.Activity() != NULL);
   104 	RNodeInterface* rcpt = NULL;
   104 	RNodeInterface* rcpt = NULL;
   105 
   105 
   106 	/* At the connection level we want to go down active serviceprovider, as there are multiple
   106 	rcpt = aContext.Node().GetFirstClient<TDefaultClientMatchPolicy>(TClientType(TCFClientType::EServProvider, TCFClientType::EActive),
   107 	   and the first one is usually an scpr */
       
   108 	if (aContext.Activity()->ActivitySigId() == ECFActivityConnectionLegacyRMessage2Handler)
       
   109 		{
       
   110 		rcpt = aContext.Node().GetFirstClient<TDefaultClientMatchPolicy>(TClientType(TCFClientType::EServProvider, TCFClientType::EActive),
       
   111 			Messages::TClientType(0, Messages::TClientType::ELeaving));
   107 			Messages::TClientType(0, Messages::TClientType::ELeaving));
   112 		}
       
   113 	else
       
   114 		{
       
   115 		rcpt = aContext.Node().GetFirstClient<TDefaultClientMatchPolicy>(TClientType(TCFClientType::EServProvider),
       
   116 			Messages::TClientType(0, Messages::TClientType::ELeaving));
       
   117 		}
       
   118 
   108 
   119     if(rcpt)
   109     if(rcpt)
   120     	{
   110     	{
   121 		aContext.Activity()->PostRequestTo(*rcpt, *this);
   111 		aContext.Activity()->PostRequestTo(*rcpt, *this);
   122     	}
   112     	}