1 // Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of "Eclipse Public License v1.0" |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
47 CSmsPDUProcessor* CSmsPDUProcessor::NewL(MSmsComm& aSmsComm, const TSmsSettings& aSmsSettings, |
41 CSmsPDUProcessor* CSmsPDUProcessor::NewL(MSmsComm& aSmsComm, const TSmsSettings& aSmsSettings, |
48 CFacadeSmsReassemblyStore& aReassemblyStore, |
42 CFacadeSmsReassemblyStore& aReassemblyStore, |
49 CSmsSegmentationStore& aSegmentationStore, |
43 CSmsSegmentationStore& aSegmentationStore, |
50 CSmsMonitorDiskSpace& aSmsMonitorDiskSpace) |
44 CSmsMonitorDiskSpace& aSmsMonitorDiskSpace) |
51 { |
45 { |
52 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_NEWL_1, "CSmsPDUProcessor::NewL()"); |
46 LOGSMSPROT1("CSmsPDUProcessor::NewL()"); |
53 |
47 |
54 CSmsPDUProcessor* smsPDUProcessor = new (ELeave) CSmsPDUProcessor(aSmsComm, |
48 CSmsPDUProcessor* smsPDUProcessor = new (ELeave) CSmsPDUProcessor(aSmsComm, |
55 aSmsSettings, |
49 aSmsSettings, |
56 aReassemblyStore, |
50 aReassemblyStore, |
57 aSegmentationStore, |
51 aSegmentationStore, |
91 /** |
85 /** |
92 * Second phase constructor. |
86 * Second phase constructor. |
93 */ |
87 */ |
94 void CSmsPDUProcessor::ConstructL() |
88 void CSmsPDUProcessor::ConstructL() |
95 { |
89 { |
96 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_CONSTRUCTL_1, "CSmsPDUProcessor::ConstructL()"); |
90 LOGSMSPROT1("CSmsPDUProcessor::ConstructL()"); |
97 } // CSmsPDUProcessor::ConstructL |
91 } // CSmsPDUProcessor::ConstructL |
98 |
92 |
99 |
93 |
100 void CSmsPDUProcessor::DecodeAndProcessPDUL(TGsmSmsSlot& aSlot, TBool aIsEnumeration) |
94 void CSmsPDUProcessor::DecodeAndProcessPDUL(TGsmSmsSlot& aSlot, TBool aIsEnumeration) |
101 { |
95 { |
102 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_DECODEANDPROCESSPDUL_1, "CSmsPDUProcessor::DecodeAndProcessPDUL(): aIsEnumeration=%d",aIsEnumeration); |
96 LOGSMSPROT2("CSmsPDUProcessor::DecodeAndProcessPDUL(): aIsEnumeration=%d", |
|
97 aIsEnumeration); |
103 |
98 |
104 // |
99 // |
105 // Store the slot... |
100 // Store the slot... |
106 // |
101 // |
107 iSlot = aSlot; |
102 iSlot = aSlot; |
113 iSlot.iMsgStatus == RMobileSmsStore::EStoredMessageRead) |
108 iSlot.iMsgStatus == RMobileSmsStore::EStoredMessageRead) |
114 { |
109 { |
115 iIsMobileTerminated = ETrue; |
110 iIsMobileTerminated = ETrue; |
116 } |
111 } |
117 |
112 |
118 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_DECODEANDPROCESSPDUL_2, "CSmsStoreRead::DecodeAndProcessPDUL(): iIsMobileTerminated=%d",iIsMobileTerminated); |
113 LOGSMSPROT2("CSmsStoreRead::DecodeAndProcessPDUL(): iIsMobileTerminated=%d", |
|
114 iIsMobileTerminated); |
119 |
115 |
120 // |
116 // |
121 // Put the PDU and Service Center Address in the TGsmSms structure... |
117 // Put the PDU and Service Center Address in the TGsmSms structure... |
122 // |
118 // |
123 TGsmSmsTelNumber sca; |
119 TGsmSmsTelNumber sca; |
194 // |
190 // |
195 // Is this a MOSES message? |
191 // Is this a MOSES message? |
196 // |
192 // |
197 if (iSmsMessage->ToFromAddress().CompareF(KNETWORK) == 0) |
193 if (iSmsMessage->ToFromAddress().CompareF(KNETWORK) == 0) |
198 { |
194 { |
199 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_DECODEANDPROCESSPDUL_3, "CSmsPDUProcessor::DecodeAndProcessPDUL(): MOSES OTE message!"); |
195 LOGSMSPROT1("CSmsPDUProcessor::DecodeAndProcessPDUL(): MOSES OTE message!"); |
200 if (iSmsComm.NetworkInfoAvailable()) |
196 if (iSmsComm.NetworkInfoAvailable()) |
201 { |
197 { |
202 iSmsMessage->SetToFromAddressL(iSmsComm.NetworkInfo().iDisplayTag); |
198 iSmsMessage->SetToFromAddressL(iSmsComm.NetworkInfo().iDisplayTag); |
203 } |
199 } |
204 } |
200 } |
315 } // CSmsPDUProcessor::DecodeAndProcessPDUL |
311 } // CSmsPDUProcessor::DecodeAndProcessPDUL |
316 |
312 |
317 |
313 |
318 void CSmsPDUProcessor::AnalysePDUCharacteristics() |
314 void CSmsPDUProcessor::AnalysePDUCharacteristics() |
319 { |
315 { |
320 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_1, "CSmsPDUProcessor::AnalysePDUCharacteristics()"); |
316 LOGSMSPROT1("CSmsPDUProcessor::AnalysePDUCharacteristics()"); |
321 |
317 |
322 CSmsPDU& pdu = iSmsMessage->SmsPDU(); |
318 CSmsPDU& pdu = iSmsMessage->SmsPDU(); |
323 |
319 |
324 // |
320 // |
325 // Check store the message class... |
321 // Check store the message class... |
328 |
324 |
329 if (pdu.DataCodingSchemePresent() && pdu.Class(msgClass)) |
325 if (pdu.DataCodingSchemePresent() && pdu.Class(msgClass)) |
330 { |
326 { |
331 if (msgClass == TSmsDataCodingScheme::ESmsClass0) |
327 if (msgClass == TSmsDataCodingScheme::ESmsClass0) |
332 { |
328 { |
333 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_2, "CSmsPDUProcessor::AnalysePDUCharacteristics(): Class 0"); |
329 LOGSMSPROT1("CSmsPDUProcessor::AnalysePDUCharacteristics(): Class 0"); |
334 iIsClass0Message = ETrue; |
330 iIsClass0Message = ETrue; |
335 } |
331 } |
336 else if (msgClass == TSmsDataCodingScheme::ESmsClass1) |
332 else if (msgClass == TSmsDataCodingScheme::ESmsClass1) |
337 { |
333 { |
338 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_3, "CSmsPDUProcessor::AnalysePDUCharacteristics(): Class 1"); |
334 LOGSMSPROT1("CSmsPDUProcessor::AnalysePDUCharacteristics(): Class 1"); |
339 iIsClass1Message = ETrue; |
335 iIsClass1Message = ETrue; |
340 } |
336 } |
341 else if (msgClass == TSmsDataCodingScheme::ESmsClass2) |
337 else if (msgClass == TSmsDataCodingScheme::ESmsClass2) |
342 { |
338 { |
343 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_4, "CSmsPDUProcessor::AnalysePDUCharacteristics(): Class 2"); |
339 LOGSMSPROT1("CSmsPDUProcessor::AnalysePDUCharacteristics(): Class 2"); |
344 iIsClass2Message = ETrue; |
340 iIsClass2Message = ETrue; |
345 } |
341 } |
346 else if (msgClass == TSmsDataCodingScheme::ESmsClass3) |
342 else if (msgClass == TSmsDataCodingScheme::ESmsClass3) |
347 { |
343 { |
348 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_5, "CSmsPDUProcessor::AnalysePDUCharacteristics(): Class 3"); |
344 LOGSMSPROT1("CSmsPDUProcessor::AnalysePDUCharacteristics(): Class 3"); |
349 iIsClass3Message = ETrue; |
345 iIsClass3Message = ETrue; |
350 } |
346 } |
351 else |
347 else |
352 { |
348 { |
353 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_6, "CSmsPDUProcessor::AnalysePDUCharacteristics(): Class Unknown!"); |
349 LOGSMSPROT1("CSmsPDUProcessor::AnalysePDUCharacteristics(): Class Unknown!"); |
354 } |
350 } |
355 } |
351 } |
356 else |
352 else |
357 { |
353 { |
358 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_7, "CSmsPDUProcessor::AnalysePDUCharacteristics(): Class-less"); |
354 LOGSMSPROT1("CSmsPDUProcessor::AnalysePDUCharacteristics(): Class-less"); |
359 } |
355 } |
360 |
356 |
361 // |
357 // |
362 // Is this PDU PID Type 0? |
358 // Is this PDU PID Type 0? |
363 // |
359 // |
366 pdu.ShortMessageType() == TSmsProtocolIdentifier::ESmsShortMessageType0) |
362 pdu.ShortMessageType() == TSmsProtocolIdentifier::ESmsShortMessageType0) |
367 { |
363 { |
368 iIsPIDType0 = ETrue; |
364 iIsPIDType0 = ETrue; |
369 } |
365 } |
370 |
366 |
371 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_8, "CSmsPDUProcessor::AnalysePDUCharacteristics(): iIsPIDType0=%d",iIsPIDType0); |
367 LOGSMSPROT2("CSmsPDUProcessor::AnalysePDUCharacteristics(): iIsPIDType0=%d", |
|
368 iIsPIDType0); |
372 |
369 |
373 // |
370 // |
374 // Should this message be forwarded to the client? |
371 // Should this message be forwarded to the client? |
375 // |
372 // |
376 if (!(iIsPIDType0 && |
373 if (!(iIsPIDType0 && |
379 (iIsClass0Message == EFalse && iIsClass2Message == EFalse)))) |
376 (iIsClass0Message == EFalse && iIsClass2Message == EFalse)))) |
380 { |
377 { |
381 iIsForwardMessageToClient = ETrue; |
378 iIsForwardMessageToClient = ETrue; |
382 } |
379 } |
383 |
380 |
384 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_9, "CSmsPDUProcessor::AnalysePDUCharacteristics(): iIsForwardMessageToClient=%d",iIsForwardMessageToClient); |
381 LOGSMSPROT2("CSmsPDUProcessor::AnalysePDUCharacteristics(): iIsForwardMessageToClient=%d", |
|
382 iIsForwardMessageToClient); |
385 |
383 |
386 // |
384 // |
387 // Is it flaged for auto-delete? |
385 // Is it flaged for auto-delete? |
388 // |
386 // |
389 if (pdu.DataCodingSchemePresent()) |
387 if (pdu.DataCodingSchemePresent()) |
394 { |
392 { |
395 iIsMarkedForAutoDelete = ETrue; |
393 iIsMarkedForAutoDelete = ETrue; |
396 } |
394 } |
397 } |
395 } |
398 |
396 |
399 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_10, "CSmsPDUProcessor::AnalysePDUCharacteristics(): iIsMarkedForAutoDelete=%d",iIsMarkedForAutoDelete); |
397 LOGSMSPROT2("CSmsPDUProcessor::AnalysePDUCharacteristics(): iIsMarkedForAutoDelete=%d", |
|
398 iIsMarkedForAutoDelete); |
400 |
399 |
401 // |
400 // |
402 // Should this PDU be deleted after processing? |
401 // Should this PDU be deleted after processing? |
403 // |
402 // |
404 if (iIsMarkedForAutoDelete && |
403 if (iIsMarkedForAutoDelete && |
410 (iIsClass2Message == EFalse || iOptionDiscardType0Class2)) |
409 (iIsClass2Message == EFalse || iOptionDiscardType0Class2)) |
411 { |
410 { |
412 iIsPDUToBeDeleted = ETrue; |
411 iIsPDUToBeDeleted = ETrue; |
413 } |
412 } |
414 |
413 |
415 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_11, "CSmsPDUProcessor::AnalysePDUCharacteristics(): iIsPDUToBeDeleted=%d",iIsPDUToBeDeleted); |
414 LOGSMSPROT2("CSmsPDUProcessor::AnalysePDUCharacteristics(): iIsPDUToBeDeleted=%d", |
|
415 iIsPDUToBeDeleted); |
416 |
416 |
417 // |
417 // |
418 // Does the message need to be stored??? |
418 // Does the message need to be stored??? |
419 // |
419 // |
420 // Don't store class 2 SMSs with index 0 on SIM. Not sure why, but |
420 // Don't store class 2 SMSs with index 0 on SIM. Not sure why, but |
428 (iSlot.iStore != KETelMeSmsStore && iSlot.iStore.Length() > 0))) |
428 (iSlot.iStore != KETelMeSmsStore && iSlot.iStore.Length() > 0))) |
429 { |
429 { |
430 iIsMessageGoingToBeStored = ETrue; |
430 iIsMessageGoingToBeStored = ETrue; |
431 } |
431 } |
432 |
432 |
433 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_12, "CSmsPDUProcessor::AnalysePDUCharacteristics(): iIsMessageGoingToBeStored=%d",iIsMessageGoingToBeStored); |
433 LOGSMSPROT2("CSmsPDUProcessor::AnalysePDUCharacteristics(): iIsMessageGoingToBeStored=%d", |
|
434 iIsMessageGoingToBeStored); |
434 |
435 |
435 // |
436 // |
436 // Is the message complete? This value may change later, when the segmentation and |
437 // Is the message complete? This value may change later, when the segmentation and |
437 // reassembley stores are examined. |
438 // reassembley stores are examined. |
438 // |
439 // |
439 iIsComplete = iSmsMessage->IsComplete(); |
440 iIsComplete = iSmsMessage->IsComplete(); |
440 |
441 |
441 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ANALYSEPDUCHARACTERISTICS_13, "CSmsPDUProcessor::AnalysePDUCharacteristics(): iIsComplete=%d",iIsComplete); |
442 LOGSMSPROT2("CSmsPDUProcessor::AnalysePDUCharacteristics(): iIsComplete=%d", |
|
443 iIsComplete); |
442 |
444 |
443 // |
445 // |
444 // Store PDU Data. These values may be updated later. |
446 // Store PDU Data. These values may be updated later. |
445 // |
447 // |
446 iSmsPDUData.iType = iSmsMessage->Type(); |
448 iSmsPDUData.iType = iSmsMessage->Type(); |
458 // Find the original message in the segmentation store and update its status |
460 // Find the original message in the segmentation store and update its status |
459 // to that contained in the status report. |
461 // to that contained in the status report. |
460 // |
462 // |
461 TBool found = iSegmentationStore.AddStatusReportL(iIndex, iIsComplete, *iSmsMessage); |
463 TBool found = iSegmentationStore.AddStatusReportL(iIndex, iIsComplete, *iSmsMessage); |
462 |
464 |
463 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_FINDORIGINALMESSAGEANDPROCESSSTATUSREPORTL_1, "CSmsPDUReadProcess::FindOriginalMessageAndProcessStatusReportL(): found=%d",found); |
465 LOGSMSPROT2("CSmsPDUReadProcess::FindOriginalMessageAndProcessStatusReportL(): found=%d",found); |
464 |
466 |
465 if (found) |
467 if (found) |
466 { |
468 { |
467 // |
469 // |
468 // The status report refers to a known message. Update the this status message |
470 // The status report refers to a known message. Update the this status message |
494 } // CSmsPDUProcessor::FindOriginalMessageAndProcessStatusReportL |
496 } // CSmsPDUProcessor::FindOriginalMessageAndProcessStatusReportL |
495 |
497 |
496 |
498 |
497 void CSmsPDUProcessor::UpdateStatusReportL() |
499 void CSmsPDUProcessor::UpdateStatusReportL() |
498 { |
500 { |
499 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_UPDATESTATUSREPORTL_1, "CSmsPDUProcessor::UpdateStatusReportL()"); |
501 LOGSMSPROT1("CSmsPDUProcessor::UpdateStatusReportL()"); |
500 |
502 |
501 // |
503 // |
502 // Update the receive time of the status report... |
504 // Update the receive time of the status report... |
503 // |
505 // |
504 TTime currTime; |
506 TTime currTime; |
527 } // CSmsPDUProcessor::UpdateStatusReportL |
529 } // CSmsPDUProcessor::UpdateStatusReportL |
528 |
530 |
529 |
531 |
530 void CSmsPDUProcessor::AddSlotToSmsMessageIfRequiredL() |
532 void CSmsPDUProcessor::AddSlotToSmsMessageIfRequiredL() |
531 { |
533 { |
532 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ADDSLOTTOSMSMESSAGEIFREQUIREDL_1, "CSmsPDUProcessor::AddSlotToSmsMessageIfRequiredL()"); |
534 LOGSMSPROT1("CSmsPDUProcessor::AddSlotToSmsMessageIfRequiredL()"); |
533 |
535 |
534 // |
536 // |
535 // Add the slot to the message (if it is not going to be deleted and |
537 // Add the slot to the message (if it is not going to be deleted and |
536 // the client needs to know it's location e.g. to store it)... |
538 // the client needs to know it's location e.g. to store it)... |
537 // |
539 // |
563 * |
565 * |
564 * @note Only SUBMIT or DELIVER PDUs can be added to the reassembly store. |
566 * @note Only SUBMIT or DELIVER PDUs can be added to the reassembly store. |
565 */ |
567 */ |
566 void CSmsPDUProcessor::AddSegmentOfMessageToReassemblyStoreIfRequiredL() |
568 void CSmsPDUProcessor::AddSegmentOfMessageToReassemblyStoreIfRequiredL() |
567 { |
569 { |
568 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_ADDSEGMENTOFMESSAGETOREASSEMBLYSTOREIFREQUIREDL_1, "CSmsPDUReadProcess::AddSegmentOfMessageToReassemblyStoreIfRequiredL(): iIsComplete=%d",iIsComplete); |
570 LOGSMSPROT2("CSmsPDUReadProcess::AddSegmentOfMessageToReassemblyStoreIfRequiredL(): iIsComplete=%d", |
|
571 iIsComplete); |
569 |
572 |
570 iReassemblyStore.AddSegmentToReassemblyStoreL(*iSmsMessage, iGsmSms, iIndex, iIsComplete, iIsEnumeration, iSmsPDUData.iReceived, iSmsPDUData.iTotal); |
573 iReassemblyStore.AddSegmentToReassemblyStoreL(*iSmsMessage, iGsmSms, iIndex, iIsComplete, iIsEnumeration, iSmsPDUData.iReceived, iSmsPDUData.iTotal); |
571 } // CSmsPDUProcessor::AddSegmentOfMessageToReassemblyStoreIfRequiredL |
574 } // CSmsPDUProcessor::AddSegmentOfMessageToReassemblyStoreIfRequiredL |
572 |
575 |
573 |
576 |
574 void CSmsPDUProcessor::UpdateLogServerIdL() |
577 void CSmsPDUProcessor::UpdateLogServerIdL() |
575 { |
578 { |
576 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_UPDATELOGSERVERIDL_1, "CSmsPDUProcessor::UpdateLogServerIdL()"); |
579 LOGSMSPROT1("CSmsPDUProcessor::UpdateLogServerIdL()"); |
577 |
580 |
578 // |
581 // |
579 // If this is a SUBMIT or DELIVER PDU, |
582 // If this is a SUBMIT or DELIVER PDU, |
580 // then search for it in the Reassembly store. |
583 // then search for it in the Reassembly store. |
581 // |
584 // |
587 } |
590 } |
588 } // CSmsPDUProcessor::UpdateLogServerIdL |
591 } // CSmsPDUProcessor::UpdateLogServerIdL |
589 |
592 |
590 void CSmsPDUProcessor::ProcessMessageIfCompleteL() |
593 void CSmsPDUProcessor::ProcessMessageIfCompleteL() |
591 { |
594 { |
592 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_PROCESSMESSAGEIFCOMPLETEL_1, "CSmsPDUProcessor::ProcessMessageIfCompleteL()"); |
595 LOGSMSPROT1("CSmsPDUProcessor::ProcessMessageIfCompleteL()"); |
593 |
596 |
594 if ((iIsClass0Message && !iIsWapSms) && iReassemblyStore.IsSeparateClass0StoreSupported()) |
597 if ((iIsClass0Message && !iIsWapSms) && iReassemblyStore.IsSeparateClass0StoreSupported()) |
595 { |
598 { |
596 //Note: Process Class 0 Message which is not wap message & return. |
599 //Note: Process Class 0 Message which is not wap message & return. |
597 if (iIsComplete) |
600 if (iIsComplete) |
645 } |
648 } |
646 } // CSmsPDUProcessor::ProcessMessageIfCompleteL |
649 } // CSmsPDUProcessor::ProcessMessageIfCompleteL |
647 |
650 |
648 void CSmsPDUProcessor::DeletePDUL() |
651 void CSmsPDUProcessor::DeletePDUL() |
649 { |
652 { |
650 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSPDUPROCESSOR_DELETEPDUL_1, "CSmsPDUProcessor::DeletePDUL()"); |
653 LOGSMSPROT1("CSmsPDUProcessor::DeletePDUL()"); |
651 |
654 |
652 // |
655 // |
653 // If the slot number has an index and store assigned, then we can delete |
656 // If the slot number has an index and store assigned, then we can delete |
654 // it. |
657 // it. |
655 // |
658 // |