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 } |