smsprotocols/smsstack/smsu/src/smsulog.cpp
branchRCL_3
changeset 65 630d2f34d719
parent 0 3553901f7fa8
child 66 07a122eea281
equal deleted inserted replaced
61:17af172ffa5f 65:630d2f34d719
     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".
    17 
    17 
    18 /**
    18 /**
    19  @file
    19  @file
    20 */
    20 */
    21 
    21 
       
    22 
       
    23 #include "OstTraceDefinitions.h"
       
    24 #ifdef OST_TRACE_COMPILER_IN_USE
       
    25 #include "smsulogTraces.h"
       
    26 #endif
       
    27 
    22 #include "smsulog.h"
    28 #include "smsulog.h"
    23 #include "smsumain.h"
    29 #include "smsumain.h"
    24 #include "smsstacklog.h"
    30 #include "smsstacklog.h"
    25 #include "gsmubuf.h"
    31 #include "gsmubuf.h"
    26 #include "Gsmumsg.h"
    32 #include "Gsmumsg.h"
    27 #include "Gsmuelem.h"
    33 #include "Gsmuelem.h"
    28 #include <logwrap.h>
       
    29 #include <logwraplimits.h>
    34 #include <logwraplimits.h>
    30 
    35 
    31 
    36 
    32 /**
    37 /**
    33  *  Allocates and creates a logger.
    38  *  Allocates and creates a logger.
    37  *  @return New CSmsEventLogger object
    42  *  @return New CSmsEventLogger object
    38  *  @capability None
    43  *  @capability None
    39  */
    44  */
    40 EXPORT_C CSmsEventLogger* CSmsEventLogger::NewL(RFs& aFs,TInt aPriority)
    45 EXPORT_C CSmsEventLogger* CSmsEventLogger::NewL(RFs& aFs,TInt aPriority)
    41 	{
    46 	{
    42 	LOGSMSU1("CSmsEventLogger::NewL()");
    47 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSEVENTLOGGER_NEWL_1, "CSmsEventLogger::NewL()");
    43 
    48 
    44 	CSmsEventLogger* smseventlogger = new(ELeave) CSmsEventLogger(aPriority);
    49 	CSmsEventLogger* smseventlogger = new(ELeave) CSmsEventLogger(aPriority);
    45 	CleanupStack::PushL(smseventlogger);
    50 	CleanupStack::PushL(smseventlogger);
    46 	smseventlogger->ConstructL(aFs);
    51 	smseventlogger->ConstructL(aFs);
    47 	CleanupStack::Pop();
    52 	CleanupStack::Pop();
    71  *  resource ID
    76  *  resource ID
    72  *  @capability WriteUserData
    77  *  @capability WriteUserData
    73  */
    78  */
    74 EXPORT_C void CSmsEventLogger::AddEvent(TRequestStatus& aStatus,const CSmsMessage& aSmsMessage,const TLogSmsPduData& aData,TInt* aStatusId)
    79 EXPORT_C void CSmsEventLogger::AddEvent(TRequestStatus& aStatus,const CSmsMessage& aSmsMessage,const TLogSmsPduData& aData,TInt* aStatusId)
    75 	{
    80 	{
    76     LOGSMSU1("CSmsEventLogger::AddEvent");
    81     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSEVENTLOGGER_ADDEVENT_1, "CSmsEventLogger::AddEvent");
    77 
    82 
    78 	__ASSERT_DEBUG(iState==ESmsEventLoggerIdle,SmsuPanic(KSmsuPanicUnexpectedState));
    83 	__ASSERT_DEBUG(iState==ESmsEventLoggerIdle,SmsuPanic(KSmsuPanicUnexpectedState));
    79 	
    84 	
    80 	iState=ESmsEventLoggerAddingEvent;
    85 	iState=ESmsEventLoggerAddingEvent;
    81 
    86 
   106  *  @param aId Log event ID for the event
   111  *  @param aId Log event ID for the event
   107  *  @capability ReadUserData
   112  *  @capability ReadUserData
   108  */
   113  */
   109 EXPORT_C void CSmsEventLogger::GetEvent(TRequestStatus& aStatus,TLogId aId)
   114 EXPORT_C void CSmsEventLogger::GetEvent(TRequestStatus& aStatus,TLogId aId)
   110 	{
   115 	{
   111     LOGSMSU1("CSmsEventLogger::GetEvent");
   116     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSEVENTLOGGER_GETEVENT_1, "CSmsEventLogger::GetEvent");
   112 
   117 
   113 	__ASSERT_DEBUG(iState==ESmsEventLoggerIdle,SmsuPanic(KSmsuPanicUnexpectedState));
   118 	__ASSERT_DEBUG(iState==ESmsEventLoggerIdle,SmsuPanic(KSmsuPanicUnexpectedState));
   114 	iState=ESmsEventLoggerGettingEvent;
   119 	iState=ESmsEventLoggerGettingEvent;
   115 	Queue(aStatus);
   120 	Queue(aStatus);
   116 	iLogEvent->SetId(aId);
   121 	iLogEvent->SetId(aId);
   130     resource ID
   135     resource ID
   131     @capability WriteUserData
   136     @capability WriteUserData
   132 */
   137 */
   133 EXPORT_C void CSmsEventLogger::ChangeEvent(TRequestStatus& aStatus,const CSmsMessage& aSmsMessage, const TTime* aTime, const TLogSmsPduData& aData, TInt* aStatusId)
   138 EXPORT_C void CSmsEventLogger::ChangeEvent(TRequestStatus& aStatus,const CSmsMessage& aSmsMessage, const TTime* aTime, const TLogSmsPduData& aData, TInt* aStatusId)
   134     {
   139     {
   135     LOGSMSU1("CSmsEventLogger::ChangeEvent");
   140     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSEVENTLOGGER_CHANGEEVENT_1, "CSmsEventLogger::ChangeEvent");
   136     
   141     
   137     __ASSERT_DEBUG(iState==ESmsEventLoggerIdle,SmsuPanic(KSmsuPanicUnexpectedState));
   142     __ASSERT_DEBUG(iState==ESmsEventLoggerIdle,SmsuPanic(KSmsuPanicUnexpectedState));
   138     __ASSERT_DEBUG(aSmsMessage.LogServerId()==iLogEvent->Id(),SmsuPanic(KSmsuPanicWrongLogServerId));
   143     __ASSERT_DEBUG(aSmsMessage.LogServerId()==iLogEvent->Id(),SmsuPanic(KSmsuPanicWrongLogServerId));
   139     __ASSERT_DEBUG(iSmsPDUData.iType==aSmsMessage.Type(),SmsuPanic(ESmsuUnexpectedSmsPDUType));
   144     __ASSERT_DEBUG(iSmsPDUData.iType==aSmsMessage.Type(),SmsuPanic(ESmsuUnexpectedSmsPDUType));
   140     iState=ESmsEventLoggerChangingEvent;
   145     iState=ESmsEventLoggerChangingEvent;
   181  */
   186  */
   182 EXPORT_C void CSmsEventLogger::DeleteEvent(TRequestStatus& aStatus)
   187 EXPORT_C void CSmsEventLogger::DeleteEvent(TRequestStatus& aStatus)
   183     {
   188     {
   184     // Ignore in code coverage - not used within the SMS stack.
   189     // Ignore in code coverage - not used within the SMS stack.
   185     BULLSEYE_OFF
   190     BULLSEYE_OFF
   186     LOGSMSU1("CSmsEventLogger::DeleteEvent");
   191     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSEVENTLOGGER_DELETEEVENT_1, "CSmsEventLogger::DeleteEvent");
   187     
   192     
   188     __ASSERT_DEBUG(iState==ESmsEventLoggerIdle,SmsuPanic(KSmsuPanicUnexpectedState));
   193     __ASSERT_DEBUG(iState==ESmsEventLoggerIdle,SmsuPanic(KSmsuPanicUnexpectedState));
   189     
   194     
   190     iState=ESmsEventLoggerDeletingEvent;
   195     iState=ESmsEventLoggerDeletingEvent;
   191     
   196     
   201     // Ignore in code coverage - in order to test would need to cancel
   206     // Ignore in code coverage - in order to test would need to cancel
   202     // event logger request; as these called when receiving/sending SMS
   207     // event logger request; as these called when receiving/sending SMS
   203     // message would need to cancel these activities during event the 
   208     // message would need to cancel these activities during event the 
   204     // logger request - too difficult to test. Need to add unit test.
   209     // logger request - too difficult to test. Need to add unit test.
   205     BULLSEYE_OFF
   210     BULLSEYE_OFF
   206     LOGSMSU3("CSmsEventLogger::DoCancel [iStatus=%d, iState=%d]", iStatus.Int(), iState);
   211     OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOCANCEL_1, "CSmsEventLogger::DoCancel [iStatus=%d, iState=%d]", iStatus.Int(), iState);
   207     
   212     
   208     switch( iState )
   213     switch( iState )
   209         {
   214         {
   210         case ESmsEventLoggerGettingEvent:
   215         case ESmsEventLoggerGettingEvent:
   211         case ESmsEventLoggerAddingEvent:
   216         case ESmsEventLoggerAddingEvent:
   240 	}
   245 	}
   241 
   246 
   242 
   247 
   243 void CSmsEventLogger::ConstructL(RFs& aFs)
   248 void CSmsEventLogger::ConstructL(RFs& aFs)
   244 	{
   249 	{
   245 	LOGSMSU1("CSmsEventLogger::ConstructL()");
   250 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_CONSTRUCTL_1, "CSmsEventLogger::ConstructL()");
   246 
   251 
   247 	iLogWrapper=CLogWrapper::NewL(aFs);
   252 	iLogWrapper=CLogWrapper::NewL(aFs);
   248 	iLogEvent=CLogEvent::NewL();
   253 	iLogEvent=CLogEvent::NewL();
   249 	} // CSmsEventLogger::ConstructL
   254 	} // CSmsEventLogger::ConstructL
   250 
   255 
   251 
   256 
   252 void CSmsEventLogger::DoRunL()
   257 void CSmsEventLogger::DoRunL()
   253 	{
   258 	{
   254     LOGSMSU2("CSmsEventLogger::DoRunL [iStatus=%d]", iStatus.Int() );
   259     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DORUNL_1, "CSmsEventLogger::DoRunL [iStatus=%d]", iStatus.Int() );
   255 
   260 
   256 	switch (iState)
   261 	switch (iState)
   257 		{
   262 		{
   258 		case ESmsEventLoggerGettingEvent:
   263 		case ESmsEventLoggerGettingEvent:
   259 			{
   264 			{
   288 	} // CSmsEventLogger::DoRunL
   293 	} // CSmsEventLogger::DoRunL
   289 
   294 
   290 
   295 
   291 void CSmsEventLogger::DoAddEventL(const CSmsMessage& aSmsMessage,TInt* aStatusId)
   296 void CSmsEventLogger::DoAddEventL(const CSmsMessage& aSmsMessage,TInt* aStatusId)
   292 	{
   297 	{
   293     LOGSMSU2("CSmsEventLogger::DoAddEventL [statusID*=%d]", aStatusId);
   298     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_1, "CSmsEventLogger::DoAddEventL [statusID*=%d]", aStatusId);
   294 
   299 
   295 	 //  Reset event
   300 	 //  Reset event
   296 	CLogEvent* logevent=CLogEvent::NewL();
   301 	CLogEvent* logevent=CLogEvent::NewL();
   297 	delete iLogEvent;
   302 	delete iLogEvent;
   298 	iLogEvent=logevent;
   303 	iLogEvent=logevent;
   300 	switch (aSmsMessage.Type())
   305 	switch (aSmsMessage.Type())
   301 		{
   306 		{
   302 		//  Incoming SMS
   307 		//  Incoming SMS
   303 		case CSmsPDU::ESmsDeliver:
   308 		case CSmsPDU::ESmsDeliver:
   304 			{
   309 			{
   305 			LOGSMSU1("DoAddEventL ESmsDeliver");
   310 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_2, "DoAddEventL ESmsDeliver");
   306 			GetStringL(direction,R_LOG_DIR_IN);
   311 			GetStringL(direction,R_LOG_DIR_IN);
   307 			break;
   312 			break;
   308 			}
   313 			}
   309 		case CSmsPDU::ESmsStatusReport:
   314 		case CSmsPDU::ESmsStatusReport:
   310 			{
   315 			{
   311 			LOGSMSU1("DoAddEventL ESmsStatusReport");
   316 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_3, "DoAddEventL ESmsStatusReport");
   312 			GetStringL(direction,R_LOG_DIR_IN);
   317 			GetStringL(direction,R_LOG_DIR_IN);
   313 			break;
   318 			break;
   314 			}
   319 			}
   315 		//  Outgoing SMS
   320 		//  Outgoing SMS
   316 		case CSmsPDU::ESmsSubmit:
   321 		case CSmsPDU::ESmsSubmit:
   317 			{
   322 			{
   318 			LOGSMSU1("DoAddEventL ESmsSubmit");
   323 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_4, "DoAddEventL ESmsSubmit");
   319 			GetStringL(direction,R_LOG_DIR_OUT);
   324 			GetStringL(direction,R_LOG_DIR_OUT);
   320 			break;
   325 			break;
   321 			}
   326 			}
   322 		case CSmsPDU::ESmsCommand:
   327 		case CSmsPDU::ESmsCommand:
   323 			{
   328 			{
   324 			LOGSMSU1("DoAddEventL ESmsCommand");
   329 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_5, "DoAddEventL ESmsCommand");
   325 			GetStringL(direction,R_LOG_DIR_OUT);
   330 			GetStringL(direction,R_LOG_DIR_OUT);
   326 			break;
   331 			break;
   327 			}
   332 			}
   328 		default:
   333 		default:
   329 			{
   334 			{
   330 			LOGSMSU1("DoAddEventL ESmsuUnexpectedSmsPDUType");
   335 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_6, "DoAddEventL ESmsuUnexpectedSmsPDUType");
   331 			SmsuPanic(ESmsuUnexpectedSmsPDUType);
   336 			SmsuPanic(ESmsuUnexpectedSmsPDUType);
   332 			}
   337 			}
   333 		}
   338 		}
   334 
   339 
   335 	Event().SetDirection(direction);
   340 	Event().SetDirection(direction);
   356 
   361 
   357 	__ASSERT_DEBUG(iSmsPDUData.iType==aSmsMessage.Type(),SmsuPanic(ESmsuUnexpectedSmsPDUType));
   362 	__ASSERT_DEBUG(iSmsPDUData.iType==aSmsMessage.Type(),SmsuPanic(ESmsuUnexpectedSmsPDUType));
   358 	TBuf<KLogMaxStatusLength> status;
   363 	TBuf<KLogMaxStatusLength> status;
   359 #ifdef _DEBUG
   364 #ifdef _DEBUG
   360 	if (aStatusId!=NULL)
   365 	if (aStatusId!=NULL)
   361 		LOGSMSU2("CSmsEventLogger::SetDataL StatusID = %d", *aStatusId);
   366 		OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_1, "CSmsEventLogger::SetDataL StatusID = %d", *aStatusId);
   362 #endif
   367 #endif
   363 	if (aStatusId==NULL)
   368 	if (aStatusId==NULL)
   364 		{
   369 		{
   365 		CSmsPDU::TSmsPDUType type=aSmsMessage.Type();
   370 		CSmsPDU::TSmsPDUType type=aSmsMessage.Type();
   366 		switch (type)
   371 		switch (type)
   368 			//  Incoming SMS
   373 			//  Incoming SMS
   369 			case CSmsPDU::ESmsDeliver:
   374 			case CSmsPDU::ESmsDeliver:
   370 				{
   375 				{
   371 				if (iSmsPDUData.iTotal==iSmsPDUData.iReceived)
   376 				if (iSmsPDUData.iTotal==iSmsPDUData.iReceived)
   372 					{
   377 					{
   373 					LOGSMSU1("SetDataL ESmsDeliver R_LOG_DEL_DONE");
   378 					OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_2, "SetDataL ESmsDeliver R_LOG_DEL_DONE");
   374 					GetStringL(status,R_LOG_DEL_DONE);
   379 					GetStringL(status,R_LOG_DEL_DONE);
   375 					}
   380 					}
   376 				else if (iSmsPDUData.iTotal>iSmsPDUData.iReceived)
   381 				else if (iSmsPDUData.iTotal>iSmsPDUData.iReceived)
   377 					{
   382 					{
   378 					LOGSMSU1("SetDataL ESmsDeliver R_LOG_DEL_PENDING");
   383 					OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_3, "SetDataL ESmsDeliver R_LOG_DEL_PENDING");
   379 					GetStringL(status,R_LOG_DEL_PENDING);
   384 					GetStringL(status,R_LOG_DEL_PENDING);
   380 					}
   385 					}
   381 				break;
   386 				break;
   382 				}
   387 				}
   383 			case CSmsPDU::ESmsStatusReport:
   388 			case CSmsPDU::ESmsStatusReport:
   384 				{
   389 				{
   385 				if (iSmsPDUData.iTotal==iSmsPDUData.iReceived)
   390 				if (iSmsPDUData.iTotal==iSmsPDUData.iReceived)
   386 					{
   391 					{
   387 					LOGSMSU1("SetDataL ESmsStatusReport R_LOG_DEL_DONE");
   392 					OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_4, "SetDataL ESmsStatusReport R_LOG_DEL_DONE");
   388 					GetStringL(status,R_LOG_DEL_DONE);
   393 					GetStringL(status,R_LOG_DEL_DONE);
   389 					}
   394 					}
   390 				else if (iSmsPDUData.iTotal>iSmsPDUData.iReceived)
   395 				else if (iSmsPDUData.iTotal>iSmsPDUData.iReceived)
   391 					{
   396 					{
   392 					LOGSMSU1("SetDataL ESmsStatusReport R_LOG_DEL_PENDING");
   397 					OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_5, "SetDataL ESmsStatusReport R_LOG_DEL_PENDING");
   393 					GetStringL(status,R_LOG_DEL_PENDING);
   398 					GetStringL(status,R_LOG_DEL_PENDING);
   394 					}
   399 					}
   395 				break;
   400 				break;
   396 				}
   401 				}
   397 			//  Outgoing SMS
   402 			//  Outgoing SMS
   413 					{
   418 					{
   414 					if (iSmsPDUData.iSent==0)
   419 					if (iSmsPDUData.iSent==0)
   415 						{
   420 						{
   416 						// None sent yet
   421 						// None sent yet
   417 						GetStringL(status,R_LOG_DEL_NOT_SENT);
   422 						GetStringL(status,R_LOG_DEL_NOT_SENT);
   418 						LOGSMSU1("SetDataL ESmsSubmit R_LOG_DEL_NOT_SENT SR");
   423 						OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_6, "SetDataL ESmsSubmit R_LOG_DEL_NOT_SENT SR");
   419 						}
   424 						}
   420 					else if (iSmsPDUData.iTotal==iSmsPDUData.iDelivered)
   425 					else if (iSmsPDUData.iTotal==iSmsPDUData.iDelivered)
   421 						{
   426 						{
   422 						// All have been delivered
   427 						// All have been delivered
   423 						LOGSMSU2("SetDataL ESmsSubmit R_LOG_DEL_DONE SR iSmsPDUData.iDelivered=%d", iSmsPDUData.iDelivered);
   428 						OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_7, "SetDataL ESmsSubmit R_LOG_DEL_DONE SR iSmsPDUData.iDelivered=%d", iSmsPDUData.iDelivered);
   424 						GetStringL(status,R_LOG_DEL_DONE);
   429 						GetStringL(status,R_LOG_DEL_DONE);
   425 						}
   430 						}
   426 					else if (iSmsPDUData.iSent<=iSmsPDUData.iTotal && iSmsPDUData.iFailed==0)
   431 					else if (iSmsPDUData.iSent<=iSmsPDUData.iTotal && iSmsPDUData.iFailed==0)
   427 						{
   432 						{
   428 						// One or more sent but not all, no failures
   433 						// One or more sent but not all, no failures
   429 						LOGSMSU3("SetDataL ESmsSubmit R_LOG_DEL_PENDING SR iSmsPDUData.iSent==%d, iSmsPDUData.iTotal==%d, iFailed==0", iSmsPDUData.iSent, iSmsPDUData.iTotal);
   434 						OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_8, "SetDataL ESmsSubmit R_LOG_DEL_PENDING SR iSmsPDUData.iSent==%d, iSmsPDUData.iTotal==%d, iFailed==0", iSmsPDUData.iSent, iSmsPDUData.iTotal);
   430 						GetStringL(status,R_LOG_DEL_PENDING);
   435 						GetStringL(status,R_LOG_DEL_PENDING);
   431 						}
   436 						}
   432 					else
   437 					else
   433 						{
   438 						{
   434 						// One or more failures or corruption of iSmsPDUData values
   439 						// One or more failures or corruption of iSmsPDUData values
   435 						LOGSMSU1("SetDataL ESmsSubmit R_LOG_DEL_FAILED SR");
   440 						OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_9, "SetDataL ESmsSubmit R_LOG_DEL_FAILED SR");
   436 						LOGSMSU3("	Total:  %d, Sent: %d",iSmsPDUData.iTotal, iSmsPDUData.iSent );
   441                         OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_10, "   Total:  %d, Sent: %d",iSmsPDUData.iTotal, iSmsPDUData.iSent );
   437 						LOGSMSU3("	Failed: %d, Delivered: %d",iSmsPDUData.iFailed, iSmsPDUData.iDelivered );
   442                         OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_11, "   Failed: %d, Delivered: %d",iSmsPDUData.iFailed, iSmsPDUData.iDelivered );
   438 						GetStringL(status,R_LOG_DEL_FAILED);
   443                         GetStringL(status,R_LOG_DEL_FAILED);
   439 						}
   444                         }
   440                     if (aDischargeTime != NULL)
   445                     if (aDischargeTime != NULL)
   441                         {
   446                         {
   442                         iLogEvent->SetTime(*aDischargeTime);
   447                         iLogEvent->SetTime(*aDischargeTime);
   443                         }					
   448                         }                   
   444 					}
   449                     }
   445 				else
   450                 else
   446 					{
   451                     {
   447 					if (iSmsPDUData.iSent<iSmsPDUData.iTotal)
   452                     if (iSmsPDUData.iSent<iSmsPDUData.iTotal)
   448 						{
   453                         {
   449 						// IF not all PDUs sent, state is "NOT SENT".
   454                         // IF not all PDUs sent, state is "NOT SENT".
   450 						LOGSMSU1("SetDataL ESmsSubmit R_LOG_DEL_NOT_SENT NOSR");
   455                         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_12, "SetDataL ESmsSubmit R_LOG_DEL_NOT_SENT NOSR");
   451 						LOGSMSU3("	Total:  %d, Sent: %d", iSmsPDUData.iTotal, iSmsPDUData.iSent );
   456                         OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_13, "   Total:  %d, Sent: %d", iSmsPDUData.iTotal, iSmsPDUData.iSent );
   452 						GetStringL(status,R_LOG_DEL_NOT_SENT);
   457                         GetStringL(status,R_LOG_DEL_NOT_SENT);
   453 						}
   458                         }
   454 					else if (iSmsPDUData.iTotal==iSmsPDUData.iSent)
   459 					else if (iSmsPDUData.iTotal==iSmsPDUData.iSent)
   455 						{
   460 						{
   456 						// All sent
   461 						// All sent
   457 						LOGSMSU1("SetDataL ESmsSubmit R_LOG_DEL_SENT NOSR");
   462 						OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_14, "SetDataL ESmsSubmit R_LOG_DEL_SENT NOSR");
   458 						GetStringL(status,R_LOG_DEL_SENT);
   463 						GetStringL(status,R_LOG_DEL_SENT);
   459 						}
   464 						}
   460 					else
   465 					else
   461 						{
   466 						{
   462 						// The iSmsPDUData values have become corrupt
   467 						// The iSmsPDUData values have become corrupt
   463 						LOGSMSU1("SetDataL ESmsSubmit R_LOG_DEL_FAILED NOSR");
   468 						OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_15, "SetDataL ESmsSubmit R_LOG_DEL_FAILED NOSR");
   464 						LOGSMSU3("	Total:  %d, Sent: %d",iSmsPDUData.iTotal, iSmsPDUData.iSent );
   469                         OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_16, "   Total:  %d, Sent: %d",iSmsPDUData.iTotal, iSmsPDUData.iSent );
   465 						LOGSMSU3("	Failed: %d, Delivered: %d",iSmsPDUData.iFailed, iSmsPDUData.iDelivered );
   470                         OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_17, "   Failed: %d, Delivered: %d",iSmsPDUData.iFailed, iSmsPDUData.iDelivered );
   466 						GetStringL(status,R_LOG_DEL_FAILED);
   471                         GetStringL(status,R_LOG_DEL_FAILED);
   467 						}
   472                         }
   468 				    }
   473                     }
   469 				LOGSMSU2("SetDataL [status string=%S]",&status);
   474                 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_18, "SetDataL [status string=%S]",status);
   470 				break;
   475                 break;
   471 				}
   476                 }
   472 			default:
   477 			default:
   473 				{
   478 				{
   474 				LOGSMSU1("SetDataL ESmsuUnexpectedSmsPDUType");
   479 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_SETDATAL_19, "SetDataL ESmsuUnexpectedSmsPDUType");
   475 				SmsuPanic(ESmsuUnexpectedSmsPDUType);
   480 				SmsuPanic(ESmsuUnexpectedSmsPDUType);
   476 				}
   481 				}
   477 			}
   482 			}
   478 		}
   483 		}
   479 	else
   484 	else
   506 	} // CSmsEventLogger::SetDataL
   511 	} // CSmsEventLogger::SetDataL
   507 
   512 
   508 
   513 
   509 void CSmsEventLogger::DoComplete(TInt& aStatus)
   514 void CSmsEventLogger::DoComplete(TInt& aStatus)
   510 	{
   515 	{
   511     LOGSMSU3("CSmsEventLogger::DoComplete(): aStatus=%d, iState=%d", aStatus, iState);
   516     OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOCOMPLETE_1, "CSmsEventLogger::DoComplete(): aStatus=%d, iState=%d", aStatus, iState);
   512 
   517 
   513 	//
   518 	//
   514 	// Check the state is valid and finish up...
   519 	// Check the state is valid and finish up...
   515 	//
   520 	//
   516 	__ASSERT_DEBUG(iState == ESmsEventLoggerGettingEvent  ||
   521 	__ASSERT_DEBUG(iState == ESmsEventLoggerGettingEvent  ||