equal
deleted
inserted
replaced
276 { |
276 { |
277 __ASSERT_DEBUG((iCurrentMessage != NULL), User::Panic(KPanicSsmSus, EEmergencyAdaptationMessageNullPtrError)); |
277 __ASSERT_DEBUG((iCurrentMessage != NULL), User::Panic(KPanicSsmSus, EEmergencyAdaptationMessageNullPtrError)); |
278 DEBUGPRINT2A("CEmergencyCallRfAdaptationRequests processed the request with funtion id: %d", iCurrentMessage->Function()); |
278 DEBUGPRINT2A("CEmergencyCallRfAdaptationRequests processed the request with funtion id: %d", iCurrentMessage->Function()); |
279 iCurrentMessage->Complete(iStatus.Int()); |
279 iCurrentMessage->Complete(iStatus.Int()); |
280 DeleteAdaptationMessage(); |
280 DeleteAdaptationMessage(); |
281 iCurrentMessage = NULL; |
|
282 |
|
283 if( (iPendingEmergencyRequestsQueue.Count()) > 0 ) |
281 if( (iPendingEmergencyRequestsQueue.Count()) > 0 ) |
284 { |
282 { |
285 CEmergencyAdaptationMessage *messageCopy = NULL; |
283 CEmergencyAdaptationMessage *messageCopy = NULL; |
286 Dequeue(messageCopy); |
284 Dequeue(messageCopy); |
287 Submit(messageCopy); |
285 Submit(messageCopy); |
293 |
291 |
294 if(iCurrentMessage != NULL) |
292 if(iCurrentMessage != NULL) |
295 { |
293 { |
296 iCurrentMessage->Complete(aError); |
294 iCurrentMessage->Complete(aError); |
297 DeleteAdaptationMessage(); |
295 DeleteAdaptationMessage(); |
298 iCurrentMessage = NULL; |
|
299 } |
296 } |
300 |
297 |
301 while( (iPendingEmergencyRequestsQueue.Count() > 0 )) |
298 while( (iPendingEmergencyRequestsQueue.Count() > 0 )) |
302 { |
299 { |
303 Dequeue(iCurrentMessage); |
300 Dequeue(iCurrentMessage); |
304 iCurrentMessage->Complete(aError); |
301 iCurrentMessage->Complete(aError); |
305 DeleteAdaptationMessage(); |
302 DeleteAdaptationMessage(); |
306 iCurrentMessage = NULL; |
|
307 } |
303 } |
308 |
304 |
309 return KErrNone; |
305 return KErrNone; |
310 |
306 |
311 } |
307 } |
314 { |
310 { |
315 if(iCurrentMessage != NULL) |
311 if(iCurrentMessage != NULL) |
316 { |
312 { |
317 iCurrentMessage->Complete(KErrCancel); |
313 iCurrentMessage->Complete(KErrCancel); |
318 DeleteAdaptationMessage(); |
314 DeleteAdaptationMessage(); |
319 iCurrentMessage = NULL; |
|
320 } |
315 } |
321 |
316 |
322 while( (iPendingEmergencyRequestsQueue.Count() > 0 )) |
317 while( (iPendingEmergencyRequestsQueue.Count() > 0 )) |
323 { |
318 { |
324 Dequeue(iCurrentMessage); |
319 Dequeue(iCurrentMessage); |
325 iCurrentMessage->Complete(KErrCancel); |
320 iCurrentMessage->Complete(KErrCancel); |
326 DeleteAdaptationMessage(); |
321 DeleteAdaptationMessage(); |
327 iCurrentMessage = NULL; |
|
328 } |
322 } |
329 } |
323 } |
330 |
324 |
331 /** |
325 /** |
332 * Sets the Priority Client Session |
326 * Sets the Priority Client Session |
347 /** |
341 /** |
348 * Reset the AdaptationMessage if it is created using reserved pointer or delete the pointer |
342 * Reset the AdaptationMessage if it is created using reserved pointer or delete the pointer |
349 */ |
343 */ |
350 void CEmergencyCallRfAdaptation::DeleteAdaptationMessage() |
344 void CEmergencyCallRfAdaptation::DeleteAdaptationMessage() |
351 { |
345 { |
352 if(iCurrentMessage->IsMessageReserved()) |
346 //Do not delete iCurrentMessage if it is owned by iAdaptationReservedMessageArray. |
|
347 if(iCurrentMessage->IsMessageReserved()) |
353 { |
348 { |
354 iCurrentMessage->UnsetMessageStatus(EMsgInUse); |
349 iCurrentMessage->UnsetMessageStatus(EMsgInUse); |
355 ++iReserveMsgCount; |
350 ++iReserveMsgCount; |
356 } |
351 } |
357 else |
352 else |
358 { |
353 { |
359 delete iCurrentMessage; |
354 delete iCurrentMessage; |
360 } |
355 } |
|
356 iCurrentMessage = NULL; |
361 } |
357 } |
362 |
358 |
363 void CEmergencyCallRfAdaptation::Dequeue(CEmergencyAdaptationMessage *&aCurrentMessage) |
359 void CEmergencyCallRfAdaptation::Dequeue(CEmergencyAdaptationMessage *&aCurrentMessage) |
364 { |
360 { |
365 aCurrentMessage = iPendingEmergencyRequestsQueue[0]; |
361 aCurrentMessage = iPendingEmergencyRequestsQueue[0]; |