locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AsynOperationAO.cpp
branchRCL_3
changeset 21 6b6920c56e2f
parent 20 2b4ea9893b66
equal deleted inserted replaced
20:2b4ea9893b66 21:6b6920c56e2f
    21 
    21 
    22 // INCLUDE FILES
    22 // INCLUDE FILES
    23 #include "AsynOperationAO.h"
    23 #include "AsynOperationAO.h"
    24 
    24 
    25 
    25 
    26 _LIT(KRequestor,"LBT test app");
    26 
    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 
       
    49 // -----------------------------------------------------------------------------
    43 // -----------------------------------------------------------------------------
    50 // CTriggerFireObserver::ConstructL
    44 // CTriggerFireObserver::ConstructL
    51 // Symbian 2nd phase constructor can leave.
    45 // Symbian 2nd phase constructor can leave.
    52 // -----------------------------------------------------------------------------
    46 // -----------------------------------------------------------------------------
    53 //
    47 //
    56      
    50      
    57      	iTriggerFireCount =0;
    51      	iTriggerFireCount =0;
    58      	CTimer::ConstructL();
    52      	CTimer::ConstructL();
    59      	iNotifier = CLbtTriggerFiringEventNotifier::NewL( aLbt,*this );
    53      	iNotifier = CLbtTriggerFiringEventNotifier::NewL( aLbt,*this );
    60 
    54 
    61     }
       
    62 
       
    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     }
    55     }
    77 
    56 
    78 // -----------------------------------------------------------------------------
    57 // -----------------------------------------------------------------------------
    79 // CTriggerFireObserver::NewL
    58 // CTriggerFireObserver::NewL
    80 // Two-phased constructor.
    59 // Two-phased constructor.
    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 // Destructor
    75 // Destructor
   111 CTriggerFireObserver::~CTriggerFireObserver()
    76 CTriggerFireObserver::~CTriggerFireObserver()
   112     { 
    77     { 
   113 
    78 
   114 	    Cancel(); 
    79 	    Cancel(); 
   115 	    // Delete notifier object
    80 	    // Delete notifier object
   116 	    delete iNotifier;
    81 	    delete iNotifier;
   117 	    delete iWait;
    82 	    delete iWait;
   118 	   // iWait=NULL;
    83 	   // iWait=NULL;
   119 	    iPositioner.Close();
       
   120 	    iPosServer.Close();
       
   121 	       
    84 	       
   122 
    85 
   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();
       
   134     }
    86     }
   135 
    87 
   136 void CTriggerFireObserver::TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo )
    88 void CTriggerFireObserver::TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo )
   137 	{
    89 	{
   138 	    iTriggerFireCount++;
    90 	    iTriggerFireCount++;