9 * Initial Contributors: |
9 * Initial Contributors: |
10 * Nokia Corporation - initial contribution. |
10 * Nokia Corporation - initial contribution. |
11 * |
11 * |
12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: EAP and WLAN authentication protocols. |
14 * Description: Message queue for EAP-server and -clients. |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 /* |
18 /* |
19 * %version: 11 % |
19 * %version: 14 % |
20 */ |
20 */ |
21 |
21 |
22 |
22 |
23 #include "EapMessageQueue.h" |
23 #include "EapMessageQueue.h" |
24 #include "eap_am_tools.h" |
24 #include "eap_am_tools.h" |
30 EAP_FUNC_EXPORT EapMessageBuffer::EapMessageBuffer(abs_eap_am_tools_c * const tools) |
30 EAP_FUNC_EXPORT EapMessageBuffer::EapMessageBuffer(abs_eap_am_tools_c * const tools) |
31 : iTools(tools) |
31 : iTools(tools) |
32 , iRequestType(EEapNone) |
32 , iRequestType(EEapNone) |
33 , iData(0) |
33 , iData(0) |
34 { |
34 { |
|
35 EAP_TRACE_DEBUG( |
|
36 iTools, |
|
37 TRACE_FLAGS_DEFAULT, |
|
38 (EAPL("EapMessageBuffer::EapMessageBuffer(): this=0x%08x\n"), |
|
39 this)); |
|
40 |
|
41 EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageBuffer::EapMessageBuffer()"); |
35 } |
42 } |
36 |
43 |
37 //---------------------------------------------------------------------------- |
44 //---------------------------------------------------------------------------- |
38 |
45 |
39 EAP_FUNC_EXPORT EapMessageBuffer::~EapMessageBuffer() |
46 EAP_FUNC_EXPORT EapMessageBuffer::~EapMessageBuffer() |
40 { |
47 { |
|
48 EAP_TRACE_DEBUG( |
|
49 iTools, |
|
50 TRACE_FLAGS_DEFAULT, |
|
51 (EAPL("EapMessageBuffer::~EapMessageBuffer(): this=0x%08x, iData=0x%08x\n"), |
|
52 this, |
|
53 iData)); |
|
54 |
|
55 EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageBuffer::~EapMessageBuffer()"); |
|
56 |
41 iRequestType = EEapNone; |
57 iRequestType = EEapNone; |
42 delete iData; |
58 delete iData; |
43 iData = 0; |
59 iData = 0; |
44 } |
60 } |
45 |
61 |
48 EAP_FUNC_EXPORT TInt EapMessageBuffer::CopyData(TEapRequests message, const void * const data, const TUint length) |
64 EAP_FUNC_EXPORT TInt EapMessageBuffer::CopyData(TEapRequests message, const void * const data, const TUint length) |
49 { |
65 { |
50 EAP_TRACE_DEBUG( |
66 EAP_TRACE_DEBUG( |
51 iTools, |
67 iTools, |
52 TRACE_FLAGS_DEFAULT, |
68 TRACE_FLAGS_DEFAULT, |
53 (EAPL("EapMessageBuffer::CopyData(): message=%d, data=0x%08x, length=%d\n"), |
69 (EAPL("EapMessageBuffer::CopyData(): this=0x%08x, iData=0x%08x, message=%d, data=0x%08x, length=%d\n"), |
|
70 this, |
|
71 iData, |
54 message, |
72 message, |
55 data, |
73 data, |
56 length)); |
74 length)); |
57 |
75 |
58 EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageBuffer::CopyData()"); |
76 EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageBuffer::CopyData()"); |
127 //---------------------------------------------------------------------------- |
154 //---------------------------------------------------------------------------- |
128 |
155 |
129 EAP_FUNC_EXPORT EapMessageQueue::EapMessageQueue(abs_eap_am_tools_c * const tools) |
156 EAP_FUNC_EXPORT EapMessageQueue::EapMessageQueue(abs_eap_am_tools_c * const tools) |
130 : iTools(tools) |
157 : iTools(tools) |
131 { |
158 { |
|
159 EAP_TRACE_DEBUG( |
|
160 iTools, |
|
161 TRACE_FLAGS_DEFAULT, |
|
162 (EAPL("EapMessageQueue::EapMessageQueue(): this=0x%08x, iEapMessageQueue.Count()=%d\n"), |
|
163 this, |
|
164 iEapMessageQueue.Count())); |
|
165 |
|
166 EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::EapMessageQueue()"); |
|
167 |
132 } |
168 } |
133 |
169 |
134 //---------------------------------------------------------------------------- |
170 //---------------------------------------------------------------------------- |
135 |
171 |
136 EAP_FUNC_EXPORT EapMessageQueue::~EapMessageQueue() |
172 EAP_FUNC_EXPORT EapMessageQueue::~EapMessageQueue() |
137 { |
173 { |
138 DeleteFirstMessage(); |
174 EAP_TRACE_DEBUG( |
|
175 iTools, |
|
176 TRACE_FLAGS_DEFAULT, |
|
177 (EAPL("EapMessageQueue::~EapMessageQueue(): this=0x%08x, iEapMessageQueue.Count()=%d\n"), |
|
178 this, |
|
179 iEapMessageQueue.Count())); |
|
180 |
|
181 EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::~EapMessageQueue()"); |
|
182 |
|
183 TInt aCount = iEapMessageQueue.Count(); |
|
184 |
|
185 while (aCount > 0) |
|
186 { |
|
187 EAP_TRACE_DEBUG( |
|
188 iTools, |
|
189 TRACE_FLAGS_DEFAULT, |
|
190 (EAPL("EapMessageQueue::~EapMessageQueue(): Removes iEapMessageQueue[0].iRequestType=%d=%s, iEapMessageQueue.Count()=%d\n"), |
|
191 iEapMessageQueue[0]->GetRequestType(), |
|
192 EapServerStrings::GetEapRequestsString(iEapMessageQueue[0]->GetRequestType()), |
|
193 iEapMessageQueue.Count())); |
|
194 |
|
195 delete iEapMessageQueue[0]; |
|
196 iEapMessageQueue.Remove(0); |
|
197 |
|
198 aCount = iEapMessageQueue.Count(); |
|
199 } |
|
200 |
139 iEapMessageQueue.Close(); |
201 iEapMessageQueue.Close(); |
140 } |
202 } |
141 |
203 |
142 //---------------------------------------------------------------------------- |
204 //---------------------------------------------------------------------------- |
143 |
205 |
144 EAP_FUNC_EXPORT TInt EapMessageQueue::AddMessage(TEapRequests message, const void * const data, const TUint length) |
206 EAP_FUNC_EXPORT TInt EapMessageQueue::AddMessage(TEapRequests message, const void * const data, const TUint length) |
145 { |
207 { |
146 EAP_TRACE_DEBUG( |
208 EAP_TRACE_DEBUG( |
147 iTools, |
209 iTools, |
148 TRACE_FLAGS_DEFAULT, |
210 TRACE_FLAGS_DEFAULT, |
149 (EAPL("EapMessageQueue::AddMessage(): message=%d, data=0x%08x, length=%d, iEapMessageQueue.Count()=%d\n"), |
211 (EAPL("EapMessageQueue::AddMessage(): this=0x%08x, message=%d, data=0x%08x, length=%d, iEapMessageQueue.Count()=%d\n"), |
|
212 this, |
150 message, |
213 message, |
151 data, |
214 data, |
152 length, |
215 length, |
153 iEapMessageQueue.Count())); |
216 iEapMessageQueue.Count())); |
154 |
217 |
202 EAP_FUNC_EXPORT EapMessageBuffer * EapMessageQueue::GetFirstMessage() |
263 EAP_FUNC_EXPORT EapMessageBuffer * EapMessageQueue::GetFirstMessage() |
203 { |
264 { |
204 EAP_TRACE_DEBUG( |
265 EAP_TRACE_DEBUG( |
205 iTools, |
266 iTools, |
206 TRACE_FLAGS_DEFAULT, |
267 TRACE_FLAGS_DEFAULT, |
207 (EAPL("EapMessageQueue::GetFirstMessage()\n"))); |
268 (EAPL("EapMessageQueue::GetFirstMessage(): this=0x%08x\n"), |
|
269 this)); |
208 |
270 |
209 EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::GetFirstMessage()"); |
271 EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::GetFirstMessage()"); |
210 |
272 |
211 TInt aCount = iEapMessageQueue.Count(); |
273 TInt aCount = iEapMessageQueue.Count(); |
212 if (aCount > 0) |
274 if (aCount > 0) |
236 EAP_FUNC_EXPORT TInt EapMessageQueue::DeleteFirstMessage() |
298 EAP_FUNC_EXPORT TInt EapMessageQueue::DeleteFirstMessage() |
237 { |
299 { |
238 EAP_TRACE_DEBUG( |
300 EAP_TRACE_DEBUG( |
239 iTools, |
301 iTools, |
240 TRACE_FLAGS_DEFAULT, |
302 TRACE_FLAGS_DEFAULT, |
241 (EAPL("EapMessageQueue::DeleteFirstMessage()\n"))); |
303 (EAPL("EapMessageQueue::DeleteFirstMessage(): this=0x%08x\n"), |
|
304 this)); |
242 |
305 |
243 EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::DeleteFirstMessage()"); |
306 EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::DeleteFirstMessage()"); |
244 |
307 |
245 TInt aCount = iEapMessageQueue.Count(); |
308 TInt aCount = iEapMessageQueue.Count(); |
246 if (aCount > 0) |
309 if (aCount > 0) |