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++;