void CSmsEventLogger::DoAddEventL(const CSmsMessage& aSmsMessage,TInt* aStatusId) { OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_1, "CSmsEventLogger::DoAddEventL [statusID*=%d]", aStatusId); // Reset event CLogEvent* logevent=CLogEvent::NewL(); delete iLogEvent; iLogEvent=logevent; TBuf<KLogMaxDirectionLength> direction; switch (aSmsMessage.Type()) { // Incoming SMS case CSmsPDU::ESmsDeliver: { OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_2, "DoAddEventL ESmsDeliver"); GetStringL(direction,R_LOG_DIR_IN); break; } case CSmsPDU::ESmsStatusReport: { OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_3, "DoAddEventL ESmsStatusReport"); GetStringL(direction,R_LOG_DIR_IN); break; } // Outgoing SMS case CSmsPDU::ESmsSubmit: { OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_4, "DoAddEventL ESmsSubmit"); GetStringL(direction,R_LOG_DIR_OUT); break; } case CSmsPDU::ESmsCommand: { OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_5, "DoAddEventL ESmsCommand"); GetStringL(direction,R_LOG_DIR_OUT); break; } default: { OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_6, "DoAddEventL ESmsuUnexpectedSmsPDUType"); SmsuPanic(ESmsuUnexpectedSmsPDUType); } } Event().SetDirection(direction); Event().SetEventType(KLogShortMessageEventTypeUid); TGsmSmsTelNumber address; aSmsMessage.ParsedToFromAddress(address); if (address.IsInstanceOf(TGsmSmsTelNumber::EVoiceMessageWaitingIndicator)) { Event().SetNumber(_L("CPHS")); } else { Event().SetNumber(aSmsMessage.ToFromAddress()); } SetDataL(aSmsMessage,aStatusId, NULL); } // CSmsEventLogger::DoAddEventL