diff -r 02ba3f1733c6 -r 2b4ea9893b66 locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AsynOperationAO.cpp --- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AsynOperationAO.cpp Thu Aug 19 10:20:18 2010 +0300 +++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AsynOperationAO.cpp Tue Aug 31 15:37:04 2010 +0300 @@ -23,7 +23,7 @@ #include "AsynOperationAO.h" - +_LIT(KRequestor,"LBT test app"); // ============================ MEMBER FUNCTIONS =============================== @@ -40,6 +40,12 @@ CActiveScheduler::Add(this); } + +CTriggerFireObserver::CTriggerFireObserver( ):CTimer( CTimer::EPriorityStandard ) + { + CActiveScheduler::Add(this); + } + // ----------------------------------------------------------------------------- // CTriggerFireObserver::ConstructL // Symbian 2nd phase constructor can leave. @@ -55,6 +61,21 @@ } // ----------------------------------------------------------------------------- +// CTriggerFireObserver::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CTriggerFireObserver::ConstructL() + { + User::LeaveIfError( iPosServer.Connect() ); + User::LeaveIfError( iPositioner.Open( iPosServer ) ); + + // Set position requestor + User::LeaveIfError( iPositioner.SetRequestor( CRequestor::ERequestorService , + CRequestor::EFormatApplication , KRequestor ) ); + } + +// ----------------------------------------------------------------------------- // CTriggerFireObserver::NewL // Two-phased constructor. // ----------------------------------------------------------------------------- @@ -72,6 +93,20 @@ } +// ----------------------------------------------------------------------------- +// CTriggerFireObserver::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CTriggerFireObserver* CTriggerFireObserver::NewL() + { + CTriggerFireObserver* self = new (ELeave) CTriggerFireObserver(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + // Destructor CTriggerFireObserver::~CTriggerFireObserver() { @@ -81,10 +116,23 @@ delete iNotifier; delete iWait; // iWait=NULL; + iPositioner.Close(); + iPosServer.Close(); } +void CTriggerFireObserver::CurrentPositionL( TPositionInfo& aPositionInfo, + CActiveSchedulerWait* aWait ) + { + iWait = aWait; + // Get last known position. The processing of the result + // is done in RunL method + iPositioner.NotifyPositionUpdate( aPositionInfo, iStatus ); + // Set this active object active + SetActive(); + } + void CTriggerFireObserver::TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo ) { iTriggerFireCount++;