tsrc/musenginestub/src/musengsessiondurationtimer.cpp
branchRCL_3
changeset 23 bc78a40cd63c
parent 22 73a1feb507fb
equal deleted inserted replaced
22:73a1feb507fb 23:bc78a40cd63c
    14 * Description: 
    14 * Description: 
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 // USER INCLUDES 
    19 // USER INCLUDES
    20 #include "musengsessiondurationtimer.h"
    20 #include "musengsessiondurationtimer.h"
    21 #include "musengsessiondurationtimerobserver.h"
    21 #include "musengsessiondurationtimerobserver.h"
    22 
    22 
    23 
    23 
    24 
    24 
    25 // -----------------------------------------------------------------------------
    25 // -----------------------------------------------------------------------------
    26 // 
    26 //
    27 // -----------------------------------------------------------------------------
    27 // -----------------------------------------------------------------------------
    28 //
    28 //
    29 CMusEngSessionDurationTimer* CMusEngSessionDurationTimer::NewL(  
    29 CMusEngSessionDurationTimer* CMusEngSessionDurationTimer::NewL(
    30 						MMusEngSessionDurationTimerObserver& aObserver )
    30                         MMusEngSessionDurationTimerObserver& aObserver )
    31     {
    31     {
    32     CMusEngSessionDurationTimer* self = 
    32     CMusEngSessionDurationTimer* self =
    33     		new (ELeave) CMusEngSessionDurationTimer( aObserver );
    33             new (ELeave) CMusEngSessionDurationTimer( aObserver );
    34     CleanupStack::PushL( self );
    34     CleanupStack::PushL( self );
    35     self->ConstructL();
    35     self->ConstructL();
    36     CleanupStack::Pop( self) ;
    36     CleanupStack::Pop( self) ;
    37     return self;
    37     return self;
    38     }
    38     }
    39 
    39 
    40 
    40 
    41 // -----------------------------------------------------------------------------
    41 // -----------------------------------------------------------------------------
    42 // 
    42 //
    43 // -----------------------------------------------------------------------------
    43 // -----------------------------------------------------------------------------
    44 //
    44 //
    45 CMusEngSessionDurationTimer::~CMusEngSessionDurationTimer()
    45 CMusEngSessionDurationTimer::~CMusEngSessionDurationTimer()
    46     {
       
    47     Cancel();
       
    48     iTimer.Close();
       
    49     }
       
    50 
       
    51 
       
    52 // -----------------------------------------------------------------------------
       
    53 // 
       
    54 // -----------------------------------------------------------------------------
       
    55 //
       
    56 void CMusEngSessionDurationTimer::Start(TInt aDelay )
       
    57     {    
       
    58     if ( !IsActive() )
       
    59         {
       
    60         iTimer.After( iStatus, aDelay );
       
    61         SetActive();    	  	   	    
       
    62         }
       
    63     
       
    64     }
       
    65 
       
    66 
       
    67 // -----------------------------------------------------------------------------
       
    68 // 
       
    69 // -----------------------------------------------------------------------------
       
    70 //
       
    71 CMusEngSessionDurationTimer::CMusEngSessionDurationTimer( 
       
    72 						MMusEngSessionDurationTimerObserver& aObserver ) 
       
    73 	: CActive( CActive::EPriorityStandard ), 
       
    74 	  iObserver( aObserver)
       
    75     {
    46     {
    76     }
    47     }
    77 
    48 
    78 
    49 
    79 // -----------------------------------------------------------------------------
    50 // -----------------------------------------------------------------------------
    80 // 
    51 //
       
    52 // -----------------------------------------------------------------------------
       
    53 //
       
    54 CMusEngSessionDurationTimer::CMusEngSessionDurationTimer(
       
    55                         MMusEngSessionDurationTimerObserver& aObserver )
       
    56     : iObserver( aObserver)
       
    57     {
       
    58     }
       
    59 
       
    60 
       
    61 // -----------------------------------------------------------------------------
       
    62 //
    81 // -----------------------------------------------------------------------------
    63 // -----------------------------------------------------------------------------
    82 //
    64 //
    83 void CMusEngSessionDurationTimer::ConstructL()
    65 void CMusEngSessionDurationTimer::ConstructL()
    84     {
    66     {
    85     CActiveScheduler::Add( this );
       
    86     User::LeaveIfError( iTimer.CreateLocal() );
       
    87     }
    67     }
    88 
    68 
    89 
    69 
    90 // -----------------------------------------------------------------------------
       
    91 // 
       
    92 // -----------------------------------------------------------------------------
       
    93 //
       
    94 void CMusEngSessionDurationTimer::RunL()
       
    95     {
       
    96     if ( iStatus.Int() == KErrNone )
       
    97         {
       
    98 		iObserver.UpdateTimerEvent();
       
    99         }
       
   100     }
       
   101 
       
   102 
       
   103 // -----------------------------------------------------------------------------
       
   104 // 
       
   105 // -----------------------------------------------------------------------------
       
   106 //
       
   107 void CMusEngSessionDurationTimer::DoCancel()
       
   108     {
       
   109     iTimer.Cancel();
       
   110     }
       
   111 
       
   112