locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/t_triggerfireobserver.cpp
--- a/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/t_triggerfireobserver.cpp Tue Jul 06 14:44:11 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/src/t_triggerfireobserver.cpp Wed Aug 18 10:11:45 2010 +0300
@@ -23,6 +23,7 @@
#include "t_triggerfireobserver.h"
+_LIT(KRequestor,"LBT test app");
// ============================ MEMBER FUNCTIONS ===============================
@@ -40,6 +41,12 @@
CActiveScheduler::Add(this);
}
+
+CTriggerFireObserver::CTriggerFireObserver( ):CTimer( CTimer::EPriorityStandard )
+ {
+ CActiveScheduler::Add(this);
+ }
+
// -----------------------------------------------------------------------------
// CTriggerFireObserver::ConstructL
// Symbian 2nd phase constructor can leave.
@@ -55,6 +62,20 @@
}
// -----------------------------------------------------------------------------
+// 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,23 @@
}
+// -----------------------------------------------------------------------------
+// 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()
{
@@ -79,12 +117,24 @@
Cancel();
// Delete notifier object
delete iNotifier;
-
- 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++;