tcpiputils/dhcp/src/DHCPSess.cpp
branchRCL_3
changeset 75 c1029e558ef5
parent 0 af10295192d8
equal deleted inserted replaced
67:bb2423252ea3 75:c1029e558ef5
    86  * @internalTechnology
    86  * @internalTechnology
    87  * @param	aMessage	Message received from the If
    87  * @param	aMessage	Message received from the If
    88  * @leave KErrNotSupported or other leave code from ConfigureL, ControL or IoctlL
    88  * @leave KErrNotSupported or other leave code from ConfigureL, ControL or IoctlL
    89  */
    89  */
    90 	{
    90 	{
    91 	__CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L8("CDHCPSession::ServiceL")));
    91 	__CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L8("CDHCPSession[%08x]::DoServiceL, &aMessage %08x, aMessage.sessionid [%08x],aMessage.Function %d, aMessage.Handle %08x"),this, &aMessage, aMessage.Session(),aMessage.Function(), aMessage.Handle()));
    92 
    92 
    93 	switch (aMessage.Function())
    93 	switch (aMessage.Function())
    94 		{
    94 		{
    95 		case EConfigDaemonDeregister:
    95 		case EConfigDaemonDeregister:
    96 		if ( iDHCPIfs.Count())
    96 		if ( iDHCPIfs.Count())
    97 			{
    97 			{
    98 			iDHCPIfs[0]->HandleClientRequestL(aMessage);
    98 			__CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L8("CDHCPSession[%08x]::DoServiceL Count is true"),this));
       
    99 			ASSERT(iMessage.IsNull());
       
   100             iMessage = aMessage;
       
   101             iDHCPIfs[0]->HandleClientRequestL(iMessage);
    99 			}
   102 			}
   100 		else
   103 		else
   101 			{
   104 			{
   102 			aMessage.Complete(KErrNone); //must be before the rest to avoid deadlock with ESOCK
   105 			aMessage.Complete(KErrNone); //must be before the rest to avoid deadlock with ESOCK
   103 			}
   106 			}
   104 		break;
   107 		break;
   105 		case EConfigDaemonConfigure:
   108 		case EConfigDaemonConfigure:
   106 			ASSERT(iMessage.IsNull());
   109 			ASSERT(iMessage.IsNull());
       
   110             __CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L8("CDHCPSession[%08x]::DoServiceL ::EConfigDaemonConfigure ConfigureL ; iMessage =%d"), this, iMessage.Function()));               
   107 			iMessage = aMessage;
   111 			iMessage = aMessage;
   108 			ConfigureL(iMessage);
   112 			ConfigureL(iMessage);
   109 			break;
   113 			break;
   110 		case EConfigDaemonIoctl:
   114 		case EConfigDaemonIoctl:
   111 			ASSERT(iMessage.IsNull());
   115 			ASSERT(iMessage.IsNull());
   115 		case EConfigDaemonControl://control is used for internal 
   119 		case EConfigDaemonControl://control is used for internal 
   116          //NetworkConfigurationExtensionDhcp <-> Dhcp server communication
   120          //NetworkConfigurationExtensionDhcp <-> Dhcp server communication
   117 			ControlL(aMessage);
   121 			ControlL(aMessage);
   118 			break;
   122 			break;
   119       	case EConfigDaemonCancel:
   123       	case EConfigDaemonCancel:
       
   124             __CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L8("CDHCPSession[%08x]::ServiceL, Cancel"),this));
   120 			aMessage.Complete(KErrNone); //must be before the rest to avoid deadlock with ESOCK
   125 			aMessage.Complete(KErrNone); //must be before the rest to avoid deadlock with ESOCK
   121 			for (TInt i=0 ; i < iDHCPIfs.Count() ; ++i)
   126 			for (TInt i=0 ; i < iDHCPIfs.Count() ; ++i)
   122 				{
   127 				{
   123 				iDHCPIfs[i]->Cancel();
   128 				iDHCPIfs[i]->Cancel();
   124 				}
   129 				}
   167  *
   172  *
   168  * @internalComponent
   173  * @internalComponent
   169  * @leave KErrNotReady, or leave code in HandleClientRequestL
   174  * @leave KErrNotReady, or leave code in HandleClientRequestL
   170  */
   175  */
   171 	{
   176 	{
   172 	__CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L8("CDHCPSession::Ioctl")));
   177 	__CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L8("CDHCPSession[%08x]::Ioctl"),this));
   173 
   178 
   174 #ifdef __DHCP_HEAP_CHECK_CONTROL
   179 #ifdef __DHCP_HEAP_CHECK_CONTROL
   175     if(aMessage.Int1() & KDhcpMemDbgIoctl & ~KConnWriteUserDataBit)
   180     if(aMessage.Int1() & KDhcpMemDbgIoctl & ~KConnWriteUserDataBit)
   176     	{
   181     	{
   177 		HandleHeapDebug(aMessage);
   182 		HandleHeapDebug(aMessage);
   288  * @internalComponent
   293  * @internalComponent
   289  * @Leave KErrNoMemory If new connection object memory allocation or
   294  * @Leave KErrNoMemory If new connection object memory allocation or
   290  * startup of object fails.
   295  * startup of object fails.
   291  */
   296  */
   292 	{
   297 	{
   293 	__CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L8("CDHCPSession::Configure")));
   298 	__CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L8("CDHCPSession[%08x]::Configure"),this));
   294 
   299 
   295 	if (iDHCPIfs.Count())
   300 	if (iDHCPIfs.Count())
   296 		{
   301 		{
   297 		User::Leave(KErrInUse);
   302 		User::Leave(KErrInUse);
   298 		}
   303 		}