--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervisionBlocks.cpp Tue Jul 06 14:44:11 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervisionBlocks.cpp Wed Aug 18 10:11:45 2010 +0300
@@ -75,6 +75,9 @@
#include <EPos_CPosModuleIdList.h>
#include <EPos_CPosModules.h>
#include <EPos_CPosModuleUpdate.h> // CPosModuleUpdate
+
+#include <MProEngEngine.h>
+#include <Profile.hrh>
// EXTERNAL DATA STRUCTURES
//extern ?external_data;
@@ -199,6 +202,24 @@
}
// -----------------------------------------------------------------------------
+// CAdvancedTriggerSupervision::SetProfileToOfflineL
+// -----------------------------------------------------------------------------
+void CAdvancedTriggerSupervision::SetProfileToOfflineL()
+ {
+ // Store current profile id.
+ iCurrentProfile = iProEngine->ActiveProfileId();
+ // Change the active profile to Off-line
+ iProEngine->SetActiveProfileL( EProfileOffLineId );
+ }
+// -----------------------------------------------------------------------------
+// CAdvancedTriggerSupervision::RestoreProfileL
+// -----------------------------------------------------------------------------
+void CAdvancedTriggerSupervision::RestoreProfileL()
+ {
+ iProEngine->SetActiveProfileL( iCurrentProfile );
+ }
+
+// -----------------------------------------------------------------------------
// CAdvancedTriggerSupervision::RunMethodL
// Run specified method. Contains also table of test mothods and their names.
// -----------------------------------------------------------------------------
@@ -270,6 +291,11 @@
User::LeaveIfError( lbt.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -342,7 +368,7 @@
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
iLog->Log(_L("GP"));
firePosition.Distance(coordinate,trigDistance);
-
+ RestoreProfileL();
if( FireInfo.iTriggerId==trigId )
{
@@ -390,6 +416,11 @@
User::LeaveIfError( lbt.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -462,7 +493,7 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
-
+ RestoreProfileL();
if( FireInfo.iTriggerId==trigId)
{
@@ -511,6 +542,11 @@
User::LeaveIfError( lbt.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -583,7 +619,7 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
-
+ RestoreProfileL();
if( FireInfo.iTriggerId==trigId)
{
@@ -631,6 +667,11 @@
User::LeaveIfError( lbt.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -701,7 +742,7 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
-
+ RestoreProfileL();
if( FireInfo.iTriggerId==trigId)
{
@@ -750,6 +791,11 @@
User::LeaveIfError( lbt.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -822,7 +868,8 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
-
+
+ RestoreProfileL();
if( FireInfo.iTriggerId==trigId)
{
@@ -871,6 +918,11 @@
User::LeaveIfError( lbt.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -943,7 +995,8 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
-
+
+ RestoreProfileL();
if( FireInfo.iTriggerId==trigId)
{
@@ -994,6 +1047,10 @@
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -1071,6 +1128,7 @@
wait->Start( );
RArray<TLbtTriggerFireInfo> Firedtriggers;
lbt.GetFiredTriggersL(Firedtriggers);
+ RestoreProfileL();
if(Firedtriggers.Count()==2)
{
CleanupStack::PopAndDestroy( notifier );
@@ -1118,6 +1176,10 @@
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -1195,6 +1257,7 @@
wait->Start( );
RArray<TLbtTriggerFireInfo> Firedtriggers;
lbt.GetFiredTriggersL(Firedtriggers);
+ RestoreProfileL();
if(Firedtriggers.Count()==2)
{
CleanupStack::PopAndDestroy( notifier );
@@ -1242,6 +1305,10 @@
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -1324,6 +1391,7 @@
CleanupStack::Pop( &lbt );
CleanupStack::PopAndDestroy( &lbtserver );
//delete wait;
+ RestoreProfileL();
if(Firedtriggers.Count()==2)
{
return KErrNone;
@@ -1360,6 +1428,11 @@
User::LeaveIfError( lbt.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -1439,6 +1512,7 @@
wait->Start( );
RArray<TLbtTriggerFireInfo> Firedtriggers;
lbt.GetFiredTriggersL(Firedtriggers);
+ RestoreProfileL();
if(Firedtriggers.Count()==2)
{
CleanupStack::PopAndDestroy( notifier );
@@ -1485,6 +1559,11 @@
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -1567,6 +1646,7 @@
iLog->Log(_L("Trigger Fired"));
RArray<TLbtTriggerFireInfo> Firedtriggers;
lbt.GetFiredTriggersL(Firedtriggers);
+ RestoreProfileL();
if(Firedtriggers.Count()==2)
{
CleanupStack::PopAndDestroy( notifier );
@@ -1611,6 +1691,10 @@
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -1719,6 +1803,7 @@
RArray<TLbtTriggerFireInfo> Firedtriggers;
lbt.GetFiredTriggersL(Firedtriggers);
+ RestoreProfileL();
if(Firedtriggers.Count()==4)
{
CleanupStack::PopAndDestroy( notifier );
@@ -1762,6 +1847,11 @@
User::LeaveIfError( lbt.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -1832,7 +1922,7 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
-
+ RestoreProfileL();
if( FireInfo.iTriggerId==trigId)
{
@@ -1882,6 +1972,11 @@
User::LeaveIfError( lbt.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -1964,6 +2059,7 @@
TReal32 trigDistance;
TPosition firePosition;
FireInfo = notifier->GetFiredTrigger();
+ RestoreProfileL();
if(FireInfo.iTriggerId!=trigId)
{
// notifier->StartNotification( wait );
@@ -2026,6 +2122,11 @@
User::LeaveIfError( lbt.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -2127,6 +2228,7 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
+ RestoreProfileL();
if(FireInfo.iTriggerId ==trigIdtochange)
{
@@ -2178,6 +2280,11 @@
User::LeaveIfError( lbt1.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt1 );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -2281,7 +2388,7 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
-
+ RestoreProfileL();
if(FireInfo.iTriggerId ==trigIdtochange)
{
CleanupStack::PopAndDestroy( notifier );
@@ -2332,6 +2439,11 @@
User::LeaveIfError( lbt.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -2432,6 +2544,7 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
+ RestoreProfileL();
if(FireInfo.iTriggerId ==trigIdtochange)
{
CleanupStack::PopAndDestroy( notifier );
@@ -2480,6 +2593,11 @@
User::LeaveIfError( lbt.Open(lbtserver));
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -2583,6 +2701,7 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
+ RestoreProfileL();
if( trigDistance>=1000)
{
_LIT(KProcessToSearch, "About");
@@ -2648,6 +2767,11 @@
User::LeaveIfError( lbt.Open( lbtserver ) );
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -2732,6 +2856,7 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
+ RestoreProfileL();
if( trigDistance<=1000 &¬ifier->iTriggerFireCount ==2)
{
CleanupStack::PopAndDestroy( notifier );
@@ -2776,6 +2901,11 @@
User::LeaveIfError( lbt.Open( lbtserver ) );
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -2856,6 +2986,7 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
+ RestoreProfileL();
if( trigDistance>=1000 &¬ifier->iTriggerFireCount ==2)
{
CleanupStack::PopAndDestroy( notifier );
@@ -2899,6 +3030,11 @@
User::LeaveIfError( lbt.Open( lbtserver ) );
iLog->Log(_L("Subsession opened "));
CleanupClosePushL( lbt );
+
+ // Set profile to offline mode.This is required to avoid movement detection blocking the
+ // trigger firing.
+ SetProfileToOfflineL();
+
//Enable only simpsy
EnableSimPSYL();
//Clear all triggers
@@ -2978,6 +3114,7 @@
FireInfo = notifier->GetFiredTrigger();
FireInfo.iFiredPositionInfo.GetPosition(firePosition);
firePosition.Distance(coordinate,trigDistance);
+ RestoreProfileL();
if( trigDistance<=1000 &¬ifier->iTriggerFireCount ==2)
{
CleanupStack::PopAndDestroy( notifier );