locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/t_triggerfireobserver.cpp
branchRCL_3
changeset 44 2b4ea9893b66
parent 0 667063e416a2
child 45 6b6920c56e2f
equal deleted inserted replaced
42:02ba3f1733c6 44:2b4ea9893b66
    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");
    26 
    27 
    27 
    28 
    28 // ============================ MEMBER FUNCTIONS ===============================
    29 // ============================ MEMBER FUNCTIONS ===============================
    29 
    30 
    30 // -----------------------------------------------------------------------------
    31 // -----------------------------------------------------------------------------
    38     {
    39     {
    39     
    40     
    40         CActiveScheduler::Add(this);
    41         CActiveScheduler::Add(this);
    41     }
    42     }
    42 
    43 
       
    44 
       
    45 CTriggerFireObserver::CTriggerFireObserver( ):CTimer( CTimer::EPriorityStandard )
       
    46     {
       
    47     CActiveScheduler::Add(this);
       
    48     }
       
    49 
    43 // -----------------------------------------------------------------------------
    50 // -----------------------------------------------------------------------------
    44 // CTriggerFireObserver::ConstructL
    51 // CTriggerFireObserver::ConstructL
    45 // Symbian 2nd phase constructor can leave.
    52 // Symbian 2nd phase constructor can leave.
    46 // -----------------------------------------------------------------------------
    53 // -----------------------------------------------------------------------------
    47 //
    54 //
    53      	iNotifier = CLbtTriggerFiringEventNotifier::NewL( aLbt,*this );
    60      	iNotifier = CLbtTriggerFiringEventNotifier::NewL( aLbt,*this );
    54 
    61 
    55     }
    62     }
    56 
    63 
    57 // -----------------------------------------------------------------------------
    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 // -----------------------------------------------------------------------------
    58 // CTriggerFireObserver::NewL
    79 // CTriggerFireObserver::NewL
    59 // Two-phased constructor.
    80 // Two-phased constructor.
    60 // -----------------------------------------------------------------------------
    81 // -----------------------------------------------------------------------------
    61 //
    82 //
    62 CTriggerFireObserver* CTriggerFireObserver::NewL( RLbt& aLbt,TCoordinate& aCoordinate )
    83 CTriggerFireObserver* CTriggerFireObserver::NewL( RLbt& aLbt,TCoordinate& aCoordinate )
    70 
    91 
    71 	    return self;
    92 	    return self;
    72 
    93 
    73     }
    94     }
    74 
    95 
       
    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 
    75 // Destructor
   113 // Destructor
    76 CTriggerFireObserver::~CTriggerFireObserver()
   114 CTriggerFireObserver::~CTriggerFireObserver()
    77     { 
   115     { 
    78 
   116 
    79 	    Cancel(); 
   117 	    Cancel(); 
    80 	    // Delete notifier object
   118 	    // Delete notifier object
    81 	    delete iNotifier;
   119 	    delete iNotifier;
    82 	    
   120 
    83 	    iWait=NULL;
   121 	    iPositioner.Close();
    84 	       
   122 	    iPosServer.Close();
    85 
   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 
    87 
   137 
    88 void CTriggerFireObserver::TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo )
   138 void CTriggerFireObserver::TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo )
    89 	{
   139 	{
    90 	    iTriggerFireCount++;
   140 	    iTriggerFireCount++;
    91 	    iWaitStatus =0;
   141 	    iWaitStatus =0;