locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/t_triggerfireobserver.cpp
branchRCL_3
changeset 45 6b6920c56e2f
parent 44 2b4ea9893b66
equal deleted inserted replaced
44:2b4ea9893b66 45:6b6920c56e2f
    21 
    21 
    22 // INCLUDE FILES
    22 // INCLUDE FILES
    23 #include "t_triggerfireobserver.h"
    23 #include "t_triggerfireobserver.h"
    24 
    24 
    25 
    25 
    26 _LIT(KRequestor,"LBT test app");
       
    27 
    26 
    28 
    27 
    29 // ============================ MEMBER FUNCTIONS ===============================
    28 // ============================ MEMBER FUNCTIONS ===============================
    30 
    29 
    31 // -----------------------------------------------------------------------------
    30 // -----------------------------------------------------------------------------
    39     {
    38     {
    40     
    39     
    41         CActiveScheduler::Add(this);
    40         CActiveScheduler::Add(this);
    42     }
    41     }
    43 
    42 
    44 
       
    45 CTriggerFireObserver::CTriggerFireObserver( ):CTimer( CTimer::EPriorityStandard )
       
    46     {
       
    47     CActiveScheduler::Add(this);
       
    48     }
       
    49 
       
    50 // -----------------------------------------------------------------------------
    43 // -----------------------------------------------------------------------------
    51 // CTriggerFireObserver::ConstructL
    44 // CTriggerFireObserver::ConstructL
    52 // Symbian 2nd phase constructor can leave.
    45 // Symbian 2nd phase constructor can leave.
    53 // -----------------------------------------------------------------------------
    46 // -----------------------------------------------------------------------------
    54 //
    47 //
    59      	CTimer::ConstructL();
    52      	CTimer::ConstructL();
    60      	iNotifier = CLbtTriggerFiringEventNotifier::NewL( aLbt,*this );
    53      	iNotifier = CLbtTriggerFiringEventNotifier::NewL( aLbt,*this );
    61 
    54 
    62     }
    55     }
    63 
    56 
    64 // -----------------------------------------------------------------------------
       
    65 // CTriggerFireObserver::ConstructL
       
    66 // Symbian 2nd phase constructor can leave.
       
    67 // -----------------------------------------------------------------------------
       
    68 //
       
    69 void CTriggerFireObserver::ConstructL()
       
    70     {
       
    71     User::LeaveIfError( iPosServer.Connect() );
       
    72     User::LeaveIfError( iPositioner.Open( iPosServer ) ); 
       
    73 
       
    74     // Set position requestor
       
    75     User::LeaveIfError( iPositioner.SetRequestor( CRequestor::ERequestorService ,
       
    76                         CRequestor::EFormatApplication , KRequestor ) );
       
    77     }
       
    78 // -----------------------------------------------------------------------------
    57 // -----------------------------------------------------------------------------
    79 // CTriggerFireObserver::NewL
    58 // CTriggerFireObserver::NewL
    80 // Two-phased constructor.
    59 // Two-phased constructor.
    81 // -----------------------------------------------------------------------------
    60 // -----------------------------------------------------------------------------
    82 //
    61 //
    91 
    70 
    92 	    return self;
    71 	    return self;
    93 
    72 
    94     }
    73     }
    95 
    74 
    96 // -----------------------------------------------------------------------------
       
    97 // CTriggerFireObserver::NewL
       
    98 // Two-phased constructor.
       
    99 // -----------------------------------------------------------------------------
       
   100 //
       
   101 CTriggerFireObserver* CTriggerFireObserver::NewL()
       
   102     {
       
   103     CTriggerFireObserver* self = new (ELeave) CTriggerFireObserver();
       
   104     CleanupStack::PushL( self );
       
   105     self->ConstructL();
       
   106     CleanupStack::Pop( self );
       
   107     return self;
       
   108     }
       
   109 
       
   110 
       
   111 
       
   112 
       
   113 // Destructor
    75 // Destructor
   114 CTriggerFireObserver::~CTriggerFireObserver()
    76 CTriggerFireObserver::~CTriggerFireObserver()
   115     { 
    77     { 
   116 
    78 
   117 	    Cancel(); 
    79 	    Cancel(); 
   118 	    // Delete notifier object
    80 	    // Delete notifier object
   119 	    delete iNotifier;
    81 	    delete iNotifier;
       
    82 	    
       
    83 	    iWait=NULL;
       
    84 	       
   120 
    85 
   121 	    iPositioner.Close();
       
   122 	    iPosServer.Close();
       
   123     }
    86     }
   124 
       
   125 
       
   126 void CTriggerFireObserver::CurrentPositionL( TPositionInfo& aPositionInfo,
       
   127                                              CActiveSchedulerWait* aWait )
       
   128     {
       
   129     iWait = aWait;
       
   130     // Get last known position. The processing of the result
       
   131     // is done in RunL method
       
   132     iPositioner.NotifyPositionUpdate( aPositionInfo, iStatus );
       
   133     // Set this active object active
       
   134     SetActive();
       
   135     }
       
   136 
       
   137 
    87 
   138 void CTriggerFireObserver::TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo )
    88 void CTriggerFireObserver::TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo )
   139 	{
    89 	{
   140 	    iTriggerFireCount++;
    90 	    iTriggerFireCount++;
   141 	    iWaitStatus =0;
    91 	    iWaitStatus =0;