locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AsynOperationAO.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 "AsynOperationAO.h"
    23 #include "AsynOperationAO.h"
    24 
    24 
    25 
    25 
    26 
    26 _LIT(KRequestor,"LBT test app");
    27 
    27 
    28 // ============================ MEMBER FUNCTIONS ===============================
    28 // ============================ MEMBER FUNCTIONS ===============================
    29 
    29 
    30 // -----------------------------------------------------------------------------
    30 // -----------------------------------------------------------------------------
    31 // CTriggerFireObserver::CTriggerFireObserver
    31 // CTriggerFireObserver::CTriggerFireObserver
    38     {
    38     {
    39     
    39     
    40         CActiveScheduler::Add(this);
    40         CActiveScheduler::Add(this);
    41     }
    41     }
    42 
    42 
       
    43 
       
    44 CTriggerFireObserver::CTriggerFireObserver( ):CTimer( CTimer::EPriorityStandard )
       
    45     {
       
    46     CActiveScheduler::Add(this);
       
    47     }
       
    48 
    43 // -----------------------------------------------------------------------------
    49 // -----------------------------------------------------------------------------
    44 // CTriggerFireObserver::ConstructL
    50 // CTriggerFireObserver::ConstructL
    45 // Symbian 2nd phase constructor can leave.
    51 // Symbian 2nd phase constructor can leave.
    46 // -----------------------------------------------------------------------------
    52 // -----------------------------------------------------------------------------
    47 //
    53 //
    53      	iNotifier = CLbtTriggerFiringEventNotifier::NewL( aLbt,*this );
    59      	iNotifier = CLbtTriggerFiringEventNotifier::NewL( aLbt,*this );
    54 
    60 
    55     }
    61     }
    56 
    62 
    57 // -----------------------------------------------------------------------------
    63 // -----------------------------------------------------------------------------
       
    64 // CTriggerFireObserver::ConstructL
       
    65 // Symbian 2nd phase constructor can leave.
       
    66 // -----------------------------------------------------------------------------
       
    67 //
       
    68 void CTriggerFireObserver::ConstructL()
       
    69     {
       
    70     User::LeaveIfError( iPosServer.Connect() );
       
    71     User::LeaveIfError( iPositioner.Open( iPosServer ) ); 
       
    72 
       
    73     // Set position requestor
       
    74     User::LeaveIfError( iPositioner.SetRequestor( CRequestor::ERequestorService ,
       
    75                         CRequestor::EFormatApplication , KRequestor ) );
       
    76     }
       
    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 )
    68 	    self->ConstructL( aLbt );
    89 	    self->ConstructL( aLbt );
    69 	    CleanupStack::Pop();
    90 	    CleanupStack::Pop();
    70 
    91 
    71 	    return self;
    92 	    return self;
    72 
    93 
       
    94     }
       
    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;
    73     }
   108     }
    74 
   109 
    75 // Destructor
   110 // Destructor
    76 CTriggerFireObserver::~CTriggerFireObserver()
   111 CTriggerFireObserver::~CTriggerFireObserver()
    77     { 
   112     { 
    79 	    Cancel(); 
   114 	    Cancel(); 
    80 	    // Delete notifier object
   115 	    // Delete notifier object
    81 	    delete iNotifier;
   116 	    delete iNotifier;
    82 	    delete iWait;
   117 	    delete iWait;
    83 	   // iWait=NULL;
   118 	   // iWait=NULL;
       
   119 	    iPositioner.Close();
       
   120 	    iPosServer.Close();
    84 	       
   121 	       
    85 
   122 
       
   123     }
       
   124 
       
   125 void CTriggerFireObserver::CurrentPositionL( TPositionInfo& aPositionInfo,
       
   126                                              CActiveSchedulerWait* aWait )
       
   127     {
       
   128     iWait = aWait;
       
   129     // Get last known position. The processing of the result
       
   130     // is done in RunL method
       
   131     iPositioner.NotifyPositionUpdate( aPositionInfo, iStatus );
       
   132     // Set this active object active
       
   133     SetActive();
    86     }
   134     }
    87 
   135 
    88 void CTriggerFireObserver::TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo )
   136 void CTriggerFireObserver::TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo )
    89 	{
   137 	{
    90 	    iTriggerFireCount++;
   138 	    iTriggerFireCount++;