smsprotocols/smsstack/smsu/src/smsuact.cpp
branchRCL_3
changeset 65 630d2f34d719
parent 0 3553901f7fa8
child 66 07a122eea281
equal deleted inserted replaced
61:17af172ffa5f 65:630d2f34d719
     1 // Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 1998-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 "smsuactTraces.h"
       
    26 #endif
       
    27 
    22 #include "smsuact.h"
    28 #include "smsuact.h"
    23 #include "SmsuTimer.h"
    29 #include "SmsuTimer.h"
    24 #include "smsstacklog.h"
    30 #include "smsstacklog.h"
    25 #include "smsumain.h"
    31 #include "smsumain.h"
    26 
    32 
    54  *  This is required before use of TimedSetActive().
    60  *  This is required before use of TimedSetActive().
    55  *  @capability None
    61  *  @capability None
    56  */
    62  */
    57 EXPORT_C void CSmsuActiveBase::ConstructTimeoutL()
    63 EXPORT_C void CSmsuActiveBase::ConstructTimeoutL()
    58 	{
    64 	{
    59 	LOGSMSU1("CSmsuActiveBase::ConstructTimeoutL()");
    65 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_CONSTRUCTTIMEOUTL_1, "CSmsuActiveBase::ConstructTimeoutL()");
    60 
    66 
    61 	iSmsuTimeout = CSmsuTimeout::NewL(*this);
    67 	iSmsuTimeout = CSmsuTimeout::NewL(*this);
    62 	} // CSmsuActiveBase::ConstructTimeoutL
    68 	} // CSmsuActiveBase::ConstructTimeoutL
    63 
    69 
    64 
    70 
    68  *  @param aTimeIntervalMicroSeconds32 Time after which to complete the object
    74  *  @param aTimeIntervalMicroSeconds32 Time after which to complete the object
    69  *  @capability None
    75  *  @capability None
    70  */
    76  */
    71 EXPORT_C void CSmsuActiveBase::TimedSetActive(const TTimeIntervalMicroSeconds32& aTimeIntervalMicroSeconds32)
    77 EXPORT_C void CSmsuActiveBase::TimedSetActive(const TTimeIntervalMicroSeconds32& aTimeIntervalMicroSeconds32)
    72 	{
    78 	{
    73 	LOGSMSU2("CSmsuActiveBase::TimedSetActive(): aTimeIntervalMicroSeconds32=%d",
    79 	OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_TIMEDSETACTIVE_1, "CSmsuActiveBase::TimedSetActive(): aTimeIntervalMicroSeconds32=%d",aTimeIntervalMicroSeconds32.Int());
    74 			 aTimeIntervalMicroSeconds32.Int());
       
    75 
    80 
    76 	__ASSERT_DEBUG(iSmsuTimeout != NULL, SmsuPanic(ESmsuTimeoutNull));
    81 	__ASSERT_DEBUG(iSmsuTimeout != NULL, SmsuPanic(ESmsuTimeoutNull));
    77 	
    82 	
    78 	if (iSmsuTimeout != NULL)
    83 	if (iSmsuTimeout != NULL)
    79 		{
    84 		{
    89  *
    94  *
    90  *  @see TimedSetActive
    95  *  @see TimedSetActive
    91  */
    96  */
    92 EXPORT_C void CSmsuActiveBase::TimedSetActiveCancel()
    97 EXPORT_C void CSmsuActiveBase::TimedSetActiveCancel()
    93 	{
    98 	{
    94 	LOGSMSU1("CSmsuActiveBase::TimedSetActiveCancel()");
    99 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_TIMEDSETACTIVECANCEL_1, "CSmsuActiveBase::TimedSetActiveCancel()");
    95 
   100 
    96 	if (iSmsuTimeout != NULL)
   101 	if (iSmsuTimeout != NULL)
    97 		{
   102 		{
    98 		iSmsuTimeout->Cancel();
   103 		iSmsuTimeout->Cancel();
    99 		}
   104 		}
   105  *
   110  *
   106  *  @see TimedSetActive
   111  *  @see TimedSetActive
   107  */
   112  */
   108 EXPORT_C TBool CSmsuActiveBase::TimedOut() const
   113 EXPORT_C TBool CSmsuActiveBase::TimedOut() const
   109 	{
   114 	{
   110 	LOGSMSU1("CSmsuActiveBase::TimedOut()");
   115 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_TIMEDOUT_1, "CSmsuActiveBase::TimedOut()");
   111 
   116 
   112 	if (iSmsuTimeout != NULL)
   117 	if (iSmsuTimeout != NULL)
   113 		{
   118 		{
   114 		return iSmsuTimeout->TimedOut();
   119 		return iSmsuTimeout->TimedOut();
   115 		}
   120 		}
   124  *  @param aStatus Asynchronous status word of the observer
   129  *  @param aStatus Asynchronous status word of the observer
   125  *  @capability None
   130  *  @capability None
   126  */
   131  */
   127 EXPORT_C void CSmsuActiveBase::Queue(TRequestStatus& aStatus)
   132 EXPORT_C void CSmsuActiveBase::Queue(TRequestStatus& aStatus)
   128 	{
   133 	{
   129 	LOGSMSU1("CSmsuActiveBase::Queue()");
   134 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_QUEUE_1, "CSmsuActiveBase::Queue()");
   130 
   135 
   131 	__ASSERT_DEBUG(iReport==NULL, SmsuPanic(ESmsuAlreadyActive));
   136 	__ASSERT_DEBUG(iReport==NULL, SmsuPanic(ESmsuAlreadyActive));
   132 
   137 
   133 	aStatus=KRequestPending;
   138 	aStatus=KRequestPending;
   134 	iReport=&aStatus;
   139 	iReport=&aStatus;
   142  *  is then called. If, after this, the object is not active, Complete() is called.
   147  *  is then called. If, after this, the object is not active, Complete() is called.
   143  *  @capability None
   148  *  @capability None
   144  */
   149  */
   145 EXPORT_C void CSmsuActiveBase::RunL()
   150 EXPORT_C void CSmsuActiveBase::RunL()
   146 	{
   151 	{
   147 	LOGSMSU1("CSmsuActiveBase::RunL()");
   152 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_RUNL_1, "CSmsuActiveBase::RunL()");
   148 
   153 
   149 	if (iSmsuTimeout != NULL)
   154 	if (iSmsuTimeout != NULL)
   150 		{
   155 		{
   151 		iSmsuTimeout->Cancel();
   156 		iSmsuTimeout->Cancel();
   152 		}
   157 		}
   172  *  @param aStatus Active object status word
   177  *  @param aStatus Active object status word
   173  *  @capability None
   178  *  @capability None
   174  */
   179  */
   175 EXPORT_C void CSmsuActiveBase::Complete(TInt aStatus)
   180 EXPORT_C void CSmsuActiveBase::Complete(TInt aStatus)
   176 	{
   181 	{
   177 	LOGSMSU2("CSmsuActiveBase::Complete(): aStatus=%d", aStatus);
   182 	OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_COMPLETE_1, "CSmsuActiveBase::Complete(): aStatus=%d", aStatus);
   178 
   183 
   179 	if (iReport)
   184 	if (iReport)
   180 		{
   185 		{
   181 		DoComplete(aStatus);
   186 		DoComplete(aStatus);
   182 		User::RequestComplete(iReport, aStatus);
   187 		User::RequestComplete(iReport, aStatus);
   194  *  @return KErrNone
   199  *  @return KErrNone
   195  *  @capability None
   200  *  @capability None
   196  */
   201  */
   197 EXPORT_C TInt CSmsuActiveBase::RunError(TInt aError)
   202 EXPORT_C TInt CSmsuActiveBase::RunError(TInt aError)
   198 	{
   203 	{
   199 	LOGSMSU2("CSmsuActiveBase::RunError(): aError=%d", aError);
   204 	OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_RUNERROR_1, "CSmsuActiveBase::RunError(): aError=%d", aError);
   200 
   205 
   201 	__ASSERT_DEBUG(!IsActive(), User::Invariant());
   206 	__ASSERT_DEBUG(!IsActive(), User::Invariant());
   202 
   207 
   203 	Complete(aError);
   208 	Complete(aError);
   204 
   209 
   215  */
   220  */
   216 EXPORT_C void CSmsuActiveBase::CompleteMyself(TInt aStatus, TBool aSetActive /* = ETrue */)
   221 EXPORT_C void CSmsuActiveBase::CompleteMyself(TInt aStatus, TBool aSetActive /* = ETrue */)
   217     {
   222     {
   218     // Ignore in code coverage - not used within the SMS stack.
   223     // Ignore in code coverage - not used within the SMS stack.
   219     BULLSEYE_OFF
   224     BULLSEYE_OFF
   220     LOGSMSU3("CSmsuActiveBase::CompleteMyself(): aStatus=%d, aSetActive=%d",
   225     OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_COMPLETEMYSELF_1, "CSmsuActiveBase::CompleteMyself(): aStatus=%d, aSetActive=%d",aStatus, aSetActive);
   221              aStatus, aSetActive);
       
   222     
   226     
   223     // Initialise iStatus with a pending request...
   227     // Initialise iStatus with a pending request...
   224     iStatus = KRequestPending;
   228     iStatus = KRequestPending;
   225     
   229     
   226     // Set active if required...
   230     // Set active if required...
   252  *
   256  *
   253  *  @capability None
   257  *  @capability None
   254  */
   258  */
   255 EXPORT_C void CSmsuActiveBase::CompleteMyselfAfterTimeout(TInt aStatus)
   259 EXPORT_C void CSmsuActiveBase::CompleteMyselfAfterTimeout(TInt aStatus)
   256 	{
   260 	{
   257 	LOGSMSU2("CSmsuActiveBase::CompleteMyselfAfterTimeout(): aStatus=%d", aStatus);
   261 	OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_COMPLETEMYSELFAFTERTIMEOUT_1, "CSmsuActiveBase::CompleteMyselfAfterTimeout(): aStatus=%d", aStatus);
   258 
   262 
   259 	__ASSERT_DEBUG(iSmsuTimeout != NULL, SmsuPanic(ESmsuTimeoutNull));
   263 	__ASSERT_DEBUG(iSmsuTimeout != NULL, SmsuPanic(ESmsuTimeoutNull));
   260 	
   264 	
   261 	if (iSmsuTimeout != NULL  &&  iSmsuTimeout->TimedOut())
   265 	if (iSmsuTimeout != NULL  &&  iSmsuTimeout->TimedOut())
   262 		{
   266 		{