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