locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervisionBlocks.cpp
changeset 40 16118e24b93b
parent 33 834e27cad510
equal deleted inserted replaced
33:834e27cad510 40:16118e24b93b
    73 
    73 
    74 #include <EPos_MPosModulesObserver.h> 
    74 #include <EPos_MPosModulesObserver.h> 
    75 #include <EPos_CPosModuleIdList.h>
    75 #include <EPos_CPosModuleIdList.h>
    76 #include <EPos_CPosModules.h>
    76 #include <EPos_CPosModules.h>
    77 #include <EPos_CPosModuleUpdate.h> // CPosModuleUpdate
    77 #include <EPos_CPosModuleUpdate.h> // CPosModuleUpdate
       
    78 
       
    79 #include <MProEngEngine.h>
       
    80 #include <Profile.hrh>
    78 // EXTERNAL DATA STRUCTURES
    81 // EXTERNAL DATA STRUCTURES
    79 //extern  ?external_data;
    82 //extern  ?external_data;
    80 
    83 
    81 // EXTERNAL FUNCTION PROTOTYPES  
    84 // EXTERNAL FUNCTION PROTOTYPES  
    82 //extern ?external_function( ?arg_type,?arg_type );
    85 //extern ?external_function( ?arg_type,?arg_type );
   194     TPosition position;
   197     TPosition position;
   195     positionInfo.GetPosition( position );
   198     positionInfo.GetPosition( position );
   196     aCoordinate.SetCoordinate( position.Latitude(),position.Longitude(),position.Altitude() );
   199     aCoordinate.SetCoordinate( position.Latitude(),position.Longitude(),position.Altitude() );
   197     CleanupStack::Pop( notifier ); // notifier
   200     CleanupStack::Pop( notifier ); // notifier
   198     delete notifier;
   201     delete notifier;
       
   202     }
       
   203 
       
   204 // -----------------------------------------------------------------------------
       
   205 // CAdvancedTriggerSupervision::SetProfileToOfflineL
       
   206 // -----------------------------------------------------------------------------
       
   207 void CAdvancedTriggerSupervision::SetProfileToOfflineL()
       
   208     {
       
   209     // Store current profile id.
       
   210     iCurrentProfile =  iProEngine->ActiveProfileId();
       
   211     // Change the active profile to Off-line
       
   212     iProEngine->SetActiveProfileL( EProfileOffLineId );
       
   213     }
       
   214 // -----------------------------------------------------------------------------
       
   215 // CAdvancedTriggerSupervision::RestoreProfileL
       
   216 // -----------------------------------------------------------------------------
       
   217 void CAdvancedTriggerSupervision::RestoreProfileL()
       
   218     {
       
   219     iProEngine->SetActiveProfileL( iCurrentProfile );
   199     }
   220     }
   200 
   221 
   201 // -----------------------------------------------------------------------------
   222 // -----------------------------------------------------------------------------
   202 // CAdvancedTriggerSupervision::RunMethodL
   223 // CAdvancedTriggerSupervision::RunMethodL
   203 // Run specified method. Contains also table of test mothods and their names.
   224 // Run specified method. Contains also table of test mothods and their names.
   268         CleanupClosePushL( lbtserver );
   289         CleanupClosePushL( lbtserver );
   269         iLog->Log(_L("Connection to RLbtServer Passed "));
   290         iLog->Log(_L("Connection to RLbtServer Passed "));
   270  	 User::LeaveIfError( lbt.Open(lbtserver));
   291  	 User::LeaveIfError( lbt.Open(lbtserver));
   271  	 iLog->Log(_L("Subsession opened "));
   292  	 iLog->Log(_L("Subsession opened "));
   272  	 CleanupClosePushL( lbt );
   293  	 CleanupClosePushL( lbt );
       
   294  	 
       
   295      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
   296      // trigger firing.
       
   297      SetProfileToOfflineL();
       
   298      
   273  	 //Enable only simpsy
   299  	 //Enable only simpsy
   274      EnableSimPSYL();
   300      EnableSimPSYL();
   275      //Clear all triggers
   301      //Clear all triggers
   276  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
   302  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
   277  	 
   303  	 
   340     	FireInfo = notifier->GetFiredTrigger();
   366     	FireInfo = notifier->GetFiredTrigger();
   341     	iLog->Log(_L("GFT"));
   367     	iLog->Log(_L("GFT"));
   342     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
   368     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
   343     	iLog->Log(_L("GP"));
   369     	iLog->Log(_L("GP"));
   344     	firePosition.Distance(coordinate,trigDistance);
   370     	firePosition.Distance(coordinate,trigDistance);
   345      
   371     	RestoreProfileL();
   346     	if( FireInfo.iTriggerId==trigId )
   372     	if( FireInfo.iTriggerId==trigId )
   347     	{
   373     	{
   348     
   374     
   349 	  	CleanupStack::PopAndDestroy( notifier );
   375 	  	CleanupStack::PopAndDestroy( notifier );
   350 	   CleanupStack::PopAndDestroy( trig );
   376 	   CleanupStack::PopAndDestroy( trig );
   388         CleanupClosePushL( lbtserver );
   414         CleanupClosePushL( lbtserver );
   389         iLog->Log(_L("Connection to RLbtServer Passed "));
   415         iLog->Log(_L("Connection to RLbtServer Passed "));
   390  	 User::LeaveIfError( lbt.Open(lbtserver));
   416  	 User::LeaveIfError( lbt.Open(lbtserver));
   391  	 iLog->Log(_L("Subsession opened "));
   417  	 iLog->Log(_L("Subsession opened "));
   392  	 CleanupClosePushL( lbt );
   418  	 CleanupClosePushL( lbt );
       
   419  	 
       
   420      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
   421      // trigger firing.
       
   422      SetProfileToOfflineL();
       
   423  	 
   393  	 //Enable only simpsy
   424  	 //Enable only simpsy
   394      EnableSimPSYL();
   425      EnableSimPSYL();
   395      //Clear all triggers
   426      //Clear all triggers
   396  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
   427  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
   397  	 
   428  	 
   460     	TReal32 trigDistance;
   491     	TReal32 trigDistance;
   461     	TPosition firePosition;
   492     	TPosition firePosition;
   462     	FireInfo = notifier->GetFiredTrigger();
   493     	FireInfo = notifier->GetFiredTrigger();
   463     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
   494     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
   464     	firePosition.Distance(coordinate,trigDistance);
   495     	firePosition.Distance(coordinate,trigDistance);
   465      
   496     	RestoreProfileL();
   466     	if( FireInfo.iTriggerId==trigId)
   497     	if( FireInfo.iTriggerId==trigId)
   467     	{
   498     	{
   468     
   499     
   469 	  	CleanupStack::PopAndDestroy( notifier );
   500 	  	CleanupStack::PopAndDestroy( notifier );
   470 	   CleanupStack::PopAndDestroy( trig );
   501 	   CleanupStack::PopAndDestroy( trig );
   509         CleanupClosePushL( lbtserver );
   540         CleanupClosePushL( lbtserver );
   510         iLog->Log(_L("Connection to RLbtServer Passed "));
   541         iLog->Log(_L("Connection to RLbtServer Passed "));
   511  	 User::LeaveIfError( lbt.Open(lbtserver));
   542  	 User::LeaveIfError( lbt.Open(lbtserver));
   512  	 iLog->Log(_L("Subsession opened "));
   543  	 iLog->Log(_L("Subsession opened "));
   513  	 CleanupClosePushL( lbt );
   544  	 CleanupClosePushL( lbt );
       
   545  	 
       
   546      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
   547      // trigger firing.
       
   548      SetProfileToOfflineL();
       
   549  	 
   514  	 //Enable only simpsy
   550  	 //Enable only simpsy
   515      EnableSimPSYL();
   551      EnableSimPSYL();
   516      //Clear all triggers
   552      //Clear all triggers
   517  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
   553  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
   518  	 
   554  	 
   581     	TReal32 trigDistance;
   617     	TReal32 trigDistance;
   582     	TPosition firePosition;
   618     	TPosition firePosition;
   583     	FireInfo = notifier->GetFiredTrigger();
   619     	FireInfo = notifier->GetFiredTrigger();
   584     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
   620     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
   585     	firePosition.Distance(coordinate,trigDistance);
   621     	firePosition.Distance(coordinate,trigDistance);
   586      
   622     	RestoreProfileL();
   587     	if( FireInfo.iTriggerId==trigId)
   623     	if( FireInfo.iTriggerId==trigId)
   588     	{
   624     	{
   589   
   625   
   590 	  	CleanupStack::PopAndDestroy( notifier );
   626 	  	CleanupStack::PopAndDestroy( notifier );
   591 	   CleanupStack::PopAndDestroy( trig );
   627 	   CleanupStack::PopAndDestroy( trig );
   629         CleanupClosePushL( lbtserver );
   665         CleanupClosePushL( lbtserver );
   630         iLog->Log(_L("Connection to RLbtServer Passed "));
   666         iLog->Log(_L("Connection to RLbtServer Passed "));
   631  	 User::LeaveIfError( lbt.Open(lbtserver));
   667  	 User::LeaveIfError( lbt.Open(lbtserver));
   632  	 iLog->Log(_L("Subsession opened "));
   668  	 iLog->Log(_L("Subsession opened "));
   633  	 CleanupClosePushL( lbt );
   669  	 CleanupClosePushL( lbt );
       
   670  	 
       
   671      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
   672      // trigger firing.
       
   673      SetProfileToOfflineL();
       
   674  	 
   634  	 //Enable only simpsy
   675  	 //Enable only simpsy
   635      EnableSimPSYL();
   676      EnableSimPSYL();
   636      //Clear all triggers
   677      //Clear all triggers
   637  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
   678  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
   638  	 
   679  	 
   699     	TReal32 trigDistance;
   740     	TReal32 trigDistance;
   700     	TPosition firePosition;
   741     	TPosition firePosition;
   701     	FireInfo = notifier->GetFiredTrigger();
   742     	FireInfo = notifier->GetFiredTrigger();
   702     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
   743     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
   703     	firePosition.Distance(coordinate,trigDistance);
   744     	firePosition.Distance(coordinate,trigDistance);
   704      
   745     	RestoreProfileL();
   705     	if( FireInfo.iTriggerId==trigId)
   746     	if( FireInfo.iTriggerId==trigId)
   706     	{
   747     	{
   707    
   748    
   708 	  	CleanupStack::PopAndDestroy( notifier );
   749 	  	CleanupStack::PopAndDestroy( notifier );
   709 	   CleanupStack::PopAndDestroy( trig );
   750 	   CleanupStack::PopAndDestroy( trig );
   748         CleanupClosePushL( lbtserver );
   789         CleanupClosePushL( lbtserver );
   749         iLog->Log(_L("Connection to RLbtServer Passed "));
   790         iLog->Log(_L("Connection to RLbtServer Passed "));
   750  	 User::LeaveIfError( lbt.Open(lbtserver));
   791  	 User::LeaveIfError( lbt.Open(lbtserver));
   751  	 iLog->Log(_L("Subsession opened "));
   792  	 iLog->Log(_L("Subsession opened "));
   752  	 CleanupClosePushL( lbt );
   793  	 CleanupClosePushL( lbt );
       
   794  	 
       
   795      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
   796      // trigger firing.
       
   797      SetProfileToOfflineL();
       
   798  	 
   753  	 //Enable only simpsy
   799  	 //Enable only simpsy
   754      EnableSimPSYL();
   800      EnableSimPSYL();
   755      //Clear all triggers
   801      //Clear all triggers
   756  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
   802  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
   757  	 
   803  	 
   820     	TReal32 trigDistance;
   866     	TReal32 trigDistance;
   821     	TPosition firePosition;
   867     	TPosition firePosition;
   822     	FireInfo = notifier->GetFiredTrigger();
   868     	FireInfo = notifier->GetFiredTrigger();
   823     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
   869     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
   824     	firePosition.Distance(coordinate,trigDistance);
   870     	firePosition.Distance(coordinate,trigDistance);
   825      
   871     	
       
   872     	RestoreProfileL();
   826     	if(  FireInfo.iTriggerId==trigId)
   873     	if(  FireInfo.iTriggerId==trigId)
   827     	{
   874     	{
   828    
   875    
   829 	  	CleanupStack::PopAndDestroy( notifier );
   876 	  	CleanupStack::PopAndDestroy( notifier );
   830 	   CleanupStack::PopAndDestroy( trig );
   877 	   CleanupStack::PopAndDestroy( trig );
   869         CleanupClosePushL( lbtserver );
   916         CleanupClosePushL( lbtserver );
   870         iLog->Log(_L("Connection to RLbtServer Passed "));
   917         iLog->Log(_L("Connection to RLbtServer Passed "));
   871  	 User::LeaveIfError( lbt.Open(lbtserver));
   918  	 User::LeaveIfError( lbt.Open(lbtserver));
   872  	 iLog->Log(_L("Subsession opened "));
   919  	 iLog->Log(_L("Subsession opened "));
   873  	 CleanupClosePushL( lbt );
   920  	 CleanupClosePushL( lbt );
       
   921  	 
       
   922      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
   923      // trigger firing.
       
   924      SetProfileToOfflineL();
       
   925  	 
   874  	 //Enable only simpsy
   926  	 //Enable only simpsy
   875      EnableSimPSYL();
   927      EnableSimPSYL();
   876      //Clear all triggers
   928      //Clear all triggers
   877  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
   929  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
   878  	 
   930  	 
   941     	TReal32 trigDistance;
   993     	TReal32 trigDistance;
   942     	TPosition firePosition;
   994     	TPosition firePosition;
   943     	FireInfo = notifier->GetFiredTrigger();
   995     	FireInfo = notifier->GetFiredTrigger();
   944     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
   996     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
   945     	firePosition.Distance(coordinate,trigDistance);
   997     	firePosition.Distance(coordinate,trigDistance);
   946      
   998     	
       
   999     	RestoreProfileL();
   947     	if( FireInfo.iTriggerId==trigId)
  1000     	if( FireInfo.iTriggerId==trigId)
   948     	{
  1001     	{
   949   
  1002   
   950 	  	CleanupStack::PopAndDestroy( notifier );
  1003 	  	CleanupStack::PopAndDestroy( notifier );
   951 	   CleanupStack::PopAndDestroy( trig );
  1004 	   CleanupStack::PopAndDestroy( trig );
   992     iLog->Log(_L("Connection to RLbtServer Passed "));
  1045     iLog->Log(_L("Connection to RLbtServer Passed "));
   993  User::LeaveIfError( lbt.Open(lbtserver));
  1046  User::LeaveIfError( lbt.Open(lbtserver));
   994  iLog->Log(_L("Subsession opened "));
  1047  iLog->Log(_L("Subsession opened "));
   995  CleanupClosePushL( lbt );
  1048  CleanupClosePushL( lbt );
   996  
  1049  
       
  1050      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  1051      // trigger firing.
       
  1052      SetProfileToOfflineL();
       
  1053      
   997  //Enable only simpsy
  1054  //Enable only simpsy
   998  EnableSimPSYL();
  1055  EnableSimPSYL();
   999  //Clear all triggers
  1056  //Clear all triggers
  1000  TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1057  TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1001  CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
  1058  CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
  1069     notifier->StartNotification( wait );
  1126     notifier->StartNotification( wait );
  1070     wait->Start( );
  1127     wait->Start( );
  1071     wait->Start( );
  1128     wait->Start( );
  1072     RArray<TLbtTriggerFireInfo> Firedtriggers;
  1129     RArray<TLbtTriggerFireInfo> Firedtriggers;
  1073     lbt.GetFiredTriggersL(Firedtriggers);
  1130     lbt.GetFiredTriggersL(Firedtriggers);
       
  1131     RestoreProfileL();
  1074     if(Firedtriggers.Count()==2)
  1132     if(Firedtriggers.Count()==2)
  1075     {
  1133     {
  1076         CleanupStack::PopAndDestroy( notifier );
  1134         CleanupStack::PopAndDestroy( notifier );
  1077    CleanupStack::PopAndDestroy( trig );
  1135    CleanupStack::PopAndDestroy( trig );
  1078    CleanupStack::Pop( &lbt );
  1136    CleanupStack::Pop( &lbt );
  1115         CleanupClosePushL( lbtserver );
  1173         CleanupClosePushL( lbtserver );
  1116         iLog->Log(_L("Connection to RLbtServer Passed "));
  1174         iLog->Log(_L("Connection to RLbtServer Passed "));
  1117  	 User::LeaveIfError( lbt.Open(lbtserver));
  1175  	 User::LeaveIfError( lbt.Open(lbtserver));
  1118  	 iLog->Log(_L("Subsession opened "));
  1176  	 iLog->Log(_L("Subsession opened "));
  1119  	 CleanupClosePushL( lbt );
  1177  	 CleanupClosePushL( lbt );
       
  1178  	 
       
  1179      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  1180      // trigger firing.
       
  1181      SetProfileToOfflineL();
  1120  	 
  1182  	 
  1121  	 //Enable only simpsy
  1183  	 //Enable only simpsy
  1122      EnableSimPSYL();
  1184      EnableSimPSYL();
  1123      //Clear all triggers
  1185      //Clear all triggers
  1124  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1186  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1193     	notifier->StartNotification( wait );
  1255     	notifier->StartNotification( wait );
  1194   		wait->Start( );
  1256   		wait->Start( );
  1195   		wait->Start( );
  1257   		wait->Start( );
  1196   		RArray<TLbtTriggerFireInfo> Firedtriggers;
  1258   		RArray<TLbtTriggerFireInfo> Firedtriggers;
  1197   		lbt.GetFiredTriggersL(Firedtriggers);
  1259   		lbt.GetFiredTriggersL(Firedtriggers);
       
  1260   		RestoreProfileL();
  1198   		if(Firedtriggers.Count()==2)
  1261   		if(Firedtriggers.Count()==2)
  1199   		{
  1262   		{
  1200   			CleanupStack::PopAndDestroy( notifier );
  1263   			CleanupStack::PopAndDestroy( notifier );
  1201 	   CleanupStack::PopAndDestroy( trig );
  1264 	   CleanupStack::PopAndDestroy( trig );
  1202 	   CleanupStack::Pop( &lbt );
  1265 	   CleanupStack::Pop( &lbt );
  1240         iLog->Log(_L("Connection to RLbtServer Passed "));
  1303         iLog->Log(_L("Connection to RLbtServer Passed "));
  1241  	 User::LeaveIfError( lbt.Open(lbtserver));
  1304  	 User::LeaveIfError( lbt.Open(lbtserver));
  1242  	 iLog->Log(_L("Subsession opened "));
  1305  	 iLog->Log(_L("Subsession opened "));
  1243  	 CleanupClosePushL( lbt );
  1306  	 CleanupClosePushL( lbt );
  1244  	 
  1307  	 
       
  1308      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  1309      // trigger firing.
       
  1310      SetProfileToOfflineL();
       
  1311  	 
  1245  	 //Enable only simpsy
  1312  	 //Enable only simpsy
  1246      EnableSimPSYL();
  1313      EnableSimPSYL();
  1247      //Clear all triggers
  1314      //Clear all triggers
  1248  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1315  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1249  	 CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
  1316  	 CRepository* repository = CRepository::NewLC(KCRUidSimulationPSY);
  1322   		CleanupStack::PopAndDestroy( notifier );
  1389   		CleanupStack::PopAndDestroy( notifier );
  1323 	    CleanupStack::PopAndDestroy( trig );
  1390 	    CleanupStack::PopAndDestroy( trig );
  1324 	    CleanupStack::Pop( &lbt );
  1391 	    CleanupStack::Pop( &lbt );
  1325 	    CleanupStack::PopAndDestroy( &lbtserver );
  1392 	    CleanupStack::PopAndDestroy( &lbtserver );
  1326 	    //delete wait;
  1393 	    //delete wait;
       
  1394 	    RestoreProfileL();
  1327   		if(Firedtriggers.Count()==2)
  1395   		if(Firedtriggers.Count()==2)
  1328   		{
  1396   		{
  1329   			return KErrNone;
  1397   			return KErrNone;
  1330   		}
  1398   		}
  1331   		else 
  1399   		else 
  1358         CleanupClosePushL( lbtserver );
  1426         CleanupClosePushL( lbtserver );
  1359         iLog->Log(_L("Connection to RLbtServer Passed "));
  1427         iLog->Log(_L("Connection to RLbtServer Passed "));
  1360  	 User::LeaveIfError( lbt.Open(lbtserver));
  1428  	 User::LeaveIfError( lbt.Open(lbtserver));
  1361  	 iLog->Log(_L("Subsession opened "));
  1429  	 iLog->Log(_L("Subsession opened "));
  1362  	 CleanupClosePushL( lbt );
  1430  	 CleanupClosePushL( lbt );
       
  1431  	 
       
  1432      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  1433      // trigger firing.
       
  1434      SetProfileToOfflineL();
       
  1435  	 
  1363  	 //Enable only simpsy
  1436  	 //Enable only simpsy
  1364      EnableSimPSYL();
  1437      EnableSimPSYL();
  1365      //Clear all triggers
  1438      //Clear all triggers
  1366  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1439  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1367  	 
  1440  	 
  1437     	notifier->StartNotification( wait );
  1510     	notifier->StartNotification( wait );
  1438   		wait->Start( );
  1511   		wait->Start( );
  1439   		wait->Start( );
  1512   		wait->Start( );
  1440   		RArray<TLbtTriggerFireInfo> Firedtriggers;
  1513   		RArray<TLbtTriggerFireInfo> Firedtriggers;
  1441   		lbt.GetFiredTriggersL(Firedtriggers);
  1514   		lbt.GetFiredTriggersL(Firedtriggers);
       
  1515   		RestoreProfileL();
  1442   		if(Firedtriggers.Count()==2)
  1516   		if(Firedtriggers.Count()==2)
  1443   		{
  1517   		{
  1444   			CleanupStack::PopAndDestroy( notifier );
  1518   			CleanupStack::PopAndDestroy( notifier );
  1445 	   CleanupStack::PopAndDestroy( trig );
  1519 	   CleanupStack::PopAndDestroy( trig );
  1446 	   CleanupStack::Pop( &lbt );
  1520 	   CleanupStack::Pop( &lbt );
  1483         iLog->Log(_L("Connection to RLbtServer Passed "));
  1557         iLog->Log(_L("Connection to RLbtServer Passed "));
  1484  	 User::LeaveIfError( lbt.Open(lbtserver));
  1558  	 User::LeaveIfError( lbt.Open(lbtserver));
  1485  	 iLog->Log(_L("Subsession opened "));
  1559  	 iLog->Log(_L("Subsession opened "));
  1486  	 CleanupClosePushL( lbt );
  1560  	 CleanupClosePushL( lbt );
  1487  	 
  1561  	 
       
  1562  	 
       
  1563      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  1564      // trigger firing.
       
  1565      SetProfileToOfflineL();
       
  1566  	 
  1488  	 //Enable only simpsy
  1567  	 //Enable only simpsy
  1489      EnableSimPSYL();
  1568      EnableSimPSYL();
  1490      //Clear all triggers
  1569      //Clear all triggers
  1491  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1570  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1492  	 
  1571  	 
  1565         wait->Start( );
  1644         wait->Start( );
  1566 
  1645 
  1567     	iLog->Log(_L("Trigger Fired"));
  1646     	iLog->Log(_L("Trigger Fired"));
  1568     	RArray<TLbtTriggerFireInfo> Firedtriggers;
  1647     	RArray<TLbtTriggerFireInfo> Firedtriggers;
  1569   		lbt.GetFiredTriggersL(Firedtriggers);
  1648   		lbt.GetFiredTriggersL(Firedtriggers);
       
  1649   		RestoreProfileL();
  1570   		if(Firedtriggers.Count()==2)
  1650   		if(Firedtriggers.Count()==2)
  1571   		{
  1651   		{
  1572   			CleanupStack::PopAndDestroy( notifier );
  1652   			CleanupStack::PopAndDestroy( notifier );
  1573 	   CleanupStack::PopAndDestroy( trig );
  1653 	   CleanupStack::PopAndDestroy( trig );
  1574 	   CleanupStack::Pop( &lbt );
  1654 	   CleanupStack::Pop( &lbt );
  1608         CleanupClosePushL( lbtserver );
  1688         CleanupClosePushL( lbtserver );
  1609         iLog->Log(_L("Connection to RLbtServer Passed "));
  1689         iLog->Log(_L("Connection to RLbtServer Passed "));
  1610  	 User::LeaveIfError( lbt.Open(lbtserver));
  1690  	 User::LeaveIfError( lbt.Open(lbtserver));
  1611  	 iLog->Log(_L("Subsession opened "));
  1691  	 iLog->Log(_L("Subsession opened "));
  1612  	 CleanupClosePushL( lbt );
  1692  	 CleanupClosePushL( lbt );
       
  1693  	 
       
  1694      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  1695      // trigger firing.
       
  1696      SetProfileToOfflineL();
  1613  	 
  1697  	 
  1614  	 //Enable only simpsy
  1698  	 //Enable only simpsy
  1615      EnableSimPSYL();
  1699      EnableSimPSYL();
  1616      //Clear all triggers
  1700      //Clear all triggers
  1617  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1701  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1717         wait->Start( );
  1801         wait->Start( );
  1718 
  1802 
  1719 
  1803 
  1720   		RArray<TLbtTriggerFireInfo> Firedtriggers;
  1804   		RArray<TLbtTriggerFireInfo> Firedtriggers;
  1721   		lbt.GetFiredTriggersL(Firedtriggers);
  1805   		lbt.GetFiredTriggersL(Firedtriggers);
       
  1806   		RestoreProfileL();
  1722   		if(Firedtriggers.Count()==4)
  1807   		if(Firedtriggers.Count()==4)
  1723   		{
  1808   		{
  1724   			CleanupStack::PopAndDestroy( notifier );
  1809   			CleanupStack::PopAndDestroy( notifier );
  1725 	   CleanupStack::PopAndDestroy( trig );
  1810 	   CleanupStack::PopAndDestroy( trig );
  1726 	   CleanupStack::Pop( &lbt );
  1811 	   CleanupStack::Pop( &lbt );
  1760         CleanupClosePushL( lbtserver );
  1845         CleanupClosePushL( lbtserver );
  1761         iLog->Log(_L("Connection to RLbtServer Passed "));
  1846         iLog->Log(_L("Connection to RLbtServer Passed "));
  1762  	 User::LeaveIfError( lbt.Open(lbtserver));
  1847  	 User::LeaveIfError( lbt.Open(lbtserver));
  1763  	 iLog->Log(_L("Subsession opened "));
  1848  	 iLog->Log(_L("Subsession opened "));
  1764  	 CleanupClosePushL( lbt );
  1849  	 CleanupClosePushL( lbt );
       
  1850  	 
       
  1851      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  1852      // trigger firing.
       
  1853      SetProfileToOfflineL();
       
  1854  	 
  1765  	 //Enable only simpsy
  1855  	 //Enable only simpsy
  1766      EnableSimPSYL();
  1856      EnableSimPSYL();
  1767      //Clear all triggers
  1857      //Clear all triggers
  1768  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1858  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1769  	 
  1859  	 
  1830     	TReal32 trigDistance;
  1920     	TReal32 trigDistance;
  1831     	TPosition firePosition;
  1921     	TPosition firePosition;
  1832     	FireInfo = notifier->GetFiredTrigger();
  1922     	FireInfo = notifier->GetFiredTrigger();
  1833        	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  1923        	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  1834     	firePosition.Distance(coordinate,trigDistance);
  1924     	firePosition.Distance(coordinate,trigDistance);
  1835      
  1925     	RestoreProfileL();
  1836     	if( FireInfo.iTriggerId==trigId)
  1926     	if( FireInfo.iTriggerId==trigId)
  1837     	{
  1927     	{
  1838   
  1928   
  1839 	  	CleanupStack::PopAndDestroy( notifier );
  1929 	  	CleanupStack::PopAndDestroy( notifier );
  1840 	   CleanupStack::PopAndDestroy( trig );
  1930 	   CleanupStack::PopAndDestroy( trig );
  1880         CleanupClosePushL( lbtserver );
  1970         CleanupClosePushL( lbtserver );
  1881         iLog->Log(_L("Connection to RLbtServer Passed "));
  1971         iLog->Log(_L("Connection to RLbtServer Passed "));
  1882  	 User::LeaveIfError( lbt.Open(lbtserver));
  1972  	 User::LeaveIfError( lbt.Open(lbtserver));
  1883  	 iLog->Log(_L("Subsession opened "));
  1973  	 iLog->Log(_L("Subsession opened "));
  1884  	 CleanupClosePushL( lbt );
  1974  	 CleanupClosePushL( lbt );
       
  1975  	 
       
  1976      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  1977      // trigger firing.
       
  1978      SetProfileToOfflineL();
       
  1979  	 
  1885  	 //Enable only simpsy
  1980  	 //Enable only simpsy
  1886      EnableSimPSYL();
  1981      EnableSimPSYL();
  1887      //Clear all triggers
  1982      //Clear all triggers
  1888  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1983  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  1889  	 
  1984  	 
  1962     	iLog->Log(_L("Trigger Fired"));
  2057     	iLog->Log(_L("Trigger Fired"));
  1963     	TLbtTriggerFireInfo FireInfo;
  2058     	TLbtTriggerFireInfo FireInfo;
  1964     	TReal32 trigDistance;
  2059     	TReal32 trigDistance;
  1965     	TPosition firePosition;
  2060     	TPosition firePosition;
  1966     	FireInfo = notifier->GetFiredTrigger();
  2061     	FireInfo = notifier->GetFiredTrigger();
       
  2062     	RestoreProfileL();
  1967     	if(FireInfo.iTriggerId!=trigId)
  2063     	if(FireInfo.iTriggerId!=trigId)
  1968     	{
  2064     	{
  1969     //	notifier->StartNotification( wait );
  2065     //	notifier->StartNotification( wait );
  1970   		wait->Start( );	
  2066   		wait->Start( );	
  1971     	}
  2067     	}
  2024         CleanupClosePushL( lbtserver );
  2120         CleanupClosePushL( lbtserver );
  2025         iLog->Log(_L("Connection to RLbtServer Passed "));
  2121         iLog->Log(_L("Connection to RLbtServer Passed "));
  2026  	 User::LeaveIfError( lbt.Open(lbtserver));
  2122  	 User::LeaveIfError( lbt.Open(lbtserver));
  2027  	 iLog->Log(_L("Subsession opened "));
  2123  	 iLog->Log(_L("Subsession opened "));
  2028  	 CleanupClosePushL( lbt );
  2124  	 CleanupClosePushL( lbt );
       
  2125  	 
       
  2126      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  2127      // trigger firing.
       
  2128      SetProfileToOfflineL();
       
  2129  	 
  2029  	 //Enable only simpsy
  2130  	 //Enable only simpsy
  2030      EnableSimPSYL();
  2131      EnableSimPSYL();
  2031      //Clear all triggers
  2132      //Clear all triggers
  2032  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2133  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2033  	 
  2134  	 
  2125     	TReal32 trigDistance;
  2226     	TReal32 trigDistance;
  2126     	TPosition firePosition;
  2227     	TPosition firePosition;
  2127     	FireInfo = notifier->GetFiredTrigger();
  2228     	FireInfo = notifier->GetFiredTrigger();
  2128     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2229     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2129     	firePosition.Distance(coordinate,trigDistance);
  2230     	firePosition.Distance(coordinate,trigDistance);
       
  2231     	RestoreProfileL();
  2130      	if(FireInfo.iTriggerId ==trigIdtochange)
  2232      	if(FireInfo.iTriggerId ==trigIdtochange)
  2131      	{
  2233      	{
  2132      		
  2234      		
  2133      		CleanupStack::PopAndDestroy( notifier );
  2235      		CleanupStack::PopAndDestroy( notifier );
  2134 	    CleanupStack::PopAndDestroy( trig );
  2236 	    CleanupStack::PopAndDestroy( trig );
  2176  	 iLog->Log(_L("Subsession opened "));
  2278  	 iLog->Log(_L("Subsession opened "));
  2177  	 CleanupClosePushL( lbt );
  2279  	 CleanupClosePushL( lbt );
  2178  	 User::LeaveIfError( lbt1.Open(lbtserver));
  2280  	 User::LeaveIfError( lbt1.Open(lbtserver));
  2179  	 iLog->Log(_L("Subsession opened "));
  2281  	 iLog->Log(_L("Subsession opened "));
  2180  	 CleanupClosePushL( lbt1 );
  2282  	 CleanupClosePushL( lbt1 );
       
  2283  	 
       
  2284      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  2285      // trigger firing.
       
  2286      SetProfileToOfflineL();
       
  2287  	 
  2181  	 //Enable only simpsy
  2288  	 //Enable only simpsy
  2182      EnableSimPSYL();
  2289      EnableSimPSYL();
  2183      //Clear all triggers
  2290      //Clear all triggers
  2184  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2291  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2185  	 
  2292  	 
  2279     	TReal32 trigDistance;
  2386     	TReal32 trigDistance;
  2280     	TPosition firePosition;
  2387     	TPosition firePosition;
  2281     	FireInfo = notifier->GetFiredTrigger();
  2388     	FireInfo = notifier->GetFiredTrigger();
  2282     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2389     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2283     	firePosition.Distance(coordinate,trigDistance);
  2390     	firePosition.Distance(coordinate,trigDistance);
  2284      
  2391     	RestoreProfileL();
  2285      	if(FireInfo.iTriggerId ==trigIdtochange)
  2392      	if(FireInfo.iTriggerId ==trigIdtochange)
  2286      	{
  2393      	{
  2287      		CleanupStack::PopAndDestroy( notifier );
  2394      		CleanupStack::PopAndDestroy( notifier );
  2288 	    CleanupStack::PopAndDestroy( trig );
  2395 	    CleanupStack::PopAndDestroy( trig );
  2289 	    CleanupStack::Pop( &lbt1 );
  2396 	    CleanupStack::Pop( &lbt1 );
  2330         CleanupClosePushL( lbtserver );
  2437         CleanupClosePushL( lbtserver );
  2331         iLog->Log(_L("Connection to RLbtServer Passed "));
  2438         iLog->Log(_L("Connection to RLbtServer Passed "));
  2332  	 User::LeaveIfError( lbt.Open(lbtserver));
  2439  	 User::LeaveIfError( lbt.Open(lbtserver));
  2333  	 iLog->Log(_L("Subsession opened "));
  2440  	 iLog->Log(_L("Subsession opened "));
  2334  	 CleanupClosePushL( lbt );
  2441  	 CleanupClosePushL( lbt );
       
  2442  	 
       
  2443      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  2444      // trigger firing.
       
  2445      SetProfileToOfflineL();
       
  2446  	 
  2335  	 //Enable only simpsy
  2447  	 //Enable only simpsy
  2336      EnableSimPSYL();
  2448      EnableSimPSYL();
  2337      //Clear all triggers
  2449      //Clear all triggers
  2338  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2450  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2339  	 
  2451  	 
  2430     	TReal32 trigDistance;
  2542     	TReal32 trigDistance;
  2431     	TPosition firePosition;
  2543     	TPosition firePosition;
  2432     	FireInfo = notifier->GetFiredTrigger();
  2544     	FireInfo = notifier->GetFiredTrigger();
  2433     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2545     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2434     	firePosition.Distance(coordinate,trigDistance);
  2546     	firePosition.Distance(coordinate,trigDistance);
       
  2547     	RestoreProfileL();
  2435      	if(FireInfo.iTriggerId ==trigIdtochange)
  2548      	if(FireInfo.iTriggerId ==trigIdtochange)
  2436      	{
  2549      	{
  2437      		CleanupStack::PopAndDestroy( notifier );
  2550      		CleanupStack::PopAndDestroy( notifier );
  2438 	    CleanupStack::PopAndDestroy( trig );
  2551 	    CleanupStack::PopAndDestroy( trig );
  2439 	    CleanupStack::Pop( &lbt );
  2552 	    CleanupStack::Pop( &lbt );
  2478         CleanupClosePushL( lbtserver );
  2591         CleanupClosePushL( lbtserver );
  2479         iLog->Log(_L("Connection to RLbtServer Passed "));
  2592         iLog->Log(_L("Connection to RLbtServer Passed "));
  2480  	 User::LeaveIfError( lbt.Open(lbtserver));
  2593  	 User::LeaveIfError( lbt.Open(lbtserver));
  2481  	 iLog->Log(_L("Subsession opened "));
  2594  	 iLog->Log(_L("Subsession opened "));
  2482  	 CleanupClosePushL( lbt );
  2595  	 CleanupClosePushL( lbt );
       
  2596  	 
       
  2597      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  2598      // trigger firing.
       
  2599      SetProfileToOfflineL();
       
  2600  	 
  2483  	 //Enable only simpsy
  2601  	 //Enable only simpsy
  2484      EnableSimPSYL();
  2602      EnableSimPSYL();
  2485      //Clear all triggers
  2603      //Clear all triggers
  2486  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2604  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2487  	 
  2605  	 
  2581     	TReal32 trigDistance;
  2699     	TReal32 trigDistance;
  2582     	TPosition firePosition;
  2700     	TPosition firePosition;
  2583     	FireInfo = notifier->GetFiredTrigger();
  2701     	FireInfo = notifier->GetFiredTrigger();
  2584     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2702     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2585     	firePosition.Distance(coordinate,trigDistance);
  2703     	firePosition.Distance(coordinate,trigDistance);
       
  2704     	RestoreProfileL();
  2586     	if( trigDistance>=1000)
  2705     	if( trigDistance>=1000)
  2587     	{
  2706     	{
  2588     	_LIT(KProcessToSearch, "About"); 
  2707     	_LIT(KProcessToSearch, "About"); 
  2589 	    //_LIT(KProcessToSearch, "TestServerStarter"); 
  2708 	    //_LIT(KProcessToSearch, "TestServerStarter"); 
  2590 		TFullName fullName;
  2709 		TFullName fullName;
  2646      CleanupClosePushL( lbtserver );
  2765      CleanupClosePushL( lbtserver );
  2647      iLog->Log(_L("Connection to RLbtServer Passed "));
  2766      iLog->Log(_L("Connection to RLbtServer Passed "));
  2648  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  2767  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  2649  	 iLog->Log(_L("Subsession opened "));
  2768  	 iLog->Log(_L("Subsession opened "));
  2650  	 CleanupClosePushL( lbt );
  2769  	 CleanupClosePushL( lbt );
       
  2770  	 
       
  2771      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  2772      // trigger firing.
       
  2773      SetProfileToOfflineL();
       
  2774  	 
  2651  	 //Enable only simpsy
  2775  	 //Enable only simpsy
  2652      EnableSimPSYL();
  2776      EnableSimPSYL();
  2653      //Clear all triggers
  2777      //Clear all triggers
  2654  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2778  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2655  	 
  2779  	 
  2730     TReal32 trigDistance;
  2854     TReal32 trigDistance;
  2731     TPosition firePosition;
  2855     TPosition firePosition;
  2732     FireInfo = notifier->GetFiredTrigger();
  2856     FireInfo = notifier->GetFiredTrigger();
  2733     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2857     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2734     firePosition.Distance(coordinate,trigDistance);
  2858     firePosition.Distance(coordinate,trigDistance);
       
  2859     RestoreProfileL();
  2735     if( trigDistance<=1000 &&notifier->iTriggerFireCount ==2)
  2860     if( trigDistance<=1000 &&notifier->iTriggerFireCount ==2)
  2736     {
  2861     {
  2737     	CleanupStack::PopAndDestroy( notifier );
  2862     	CleanupStack::PopAndDestroy( notifier );
  2738     CleanupStack::PopAndDestroy( trig );
  2863     CleanupStack::PopAndDestroy( trig );
  2739     CleanupStack::Pop( &lbt );
  2864     CleanupStack::Pop( &lbt );
  2774      CleanupClosePushL( lbtserver );
  2899      CleanupClosePushL( lbtserver );
  2775      iLog->Log(_L("Connection to RLbtServer Passed "));
  2900      iLog->Log(_L("Connection to RLbtServer Passed "));
  2776  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  2901  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  2777  	 iLog->Log(_L("Subsession opened "));
  2902  	 iLog->Log(_L("Subsession opened "));
  2778  	 CleanupClosePushL( lbt );
  2903  	 CleanupClosePushL( lbt );
       
  2904  	 
       
  2905      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  2906      // trigger firing.
       
  2907      SetProfileToOfflineL();
       
  2908  	 
  2779  	 //Enable only simpsy
  2909  	 //Enable only simpsy
  2780      EnableSimPSYL();
  2910      EnableSimPSYL();
  2781      //Clear all triggers
  2911      //Clear all triggers
  2782  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2912  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2783  	 
  2913  	 
  2854     TReal32 trigDistance;
  2984     TReal32 trigDistance;
  2855     TPosition firePosition;
  2985     TPosition firePosition;
  2856     FireInfo = notifier->GetFiredTrigger();
  2986     FireInfo = notifier->GetFiredTrigger();
  2857     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2987     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2858     firePosition.Distance(coordinate,trigDistance);
  2988     firePosition.Distance(coordinate,trigDistance);
       
  2989     RestoreProfileL();
  2859     if( trigDistance>=1000 &&notifier->iTriggerFireCount ==2)
  2990     if( trigDistance>=1000 &&notifier->iTriggerFireCount ==2)
  2860     {
  2991     {
  2861     	CleanupStack::PopAndDestroy( notifier );
  2992     	CleanupStack::PopAndDestroy( notifier );
  2862     CleanupStack::PopAndDestroy( trig );
  2993     CleanupStack::PopAndDestroy( trig );
  2863     CleanupStack::Pop( &lbt );
  2994     CleanupStack::Pop( &lbt );
  2897      CleanupClosePushL( lbtserver );
  3028      CleanupClosePushL( lbtserver );
  2898      iLog->Log(_L("Connection to RLbtServer Passed "));
  3029      iLog->Log(_L("Connection to RLbtServer Passed "));
  2899  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  3030  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  2900  	 iLog->Log(_L("Subsession opened "));
  3031  	 iLog->Log(_L("Subsession opened "));
  2901  	 CleanupClosePushL( lbt );
  3032  	 CleanupClosePushL( lbt );
       
  3033  	 
       
  3034      // Set profile to offline mode.This is required to avoid movement detection blocking the 
       
  3035      // trigger firing.
       
  3036      SetProfileToOfflineL();
       
  3037  	 
  2902  	 //Enable only simpsy
  3038  	 //Enable only simpsy
  2903      EnableSimPSYL();
  3039      EnableSimPSYL();
  2904      //Clear all triggers
  3040      //Clear all triggers
  2905  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  3041  	 TRAP_IGNORE(lbt.DeleteTriggersL()) ;       
  2906  	 
  3042  	 
  2976     TReal32 trigDistance;
  3112     TReal32 trigDistance;
  2977     TPosition firePosition;
  3113     TPosition firePosition;
  2978     FireInfo = notifier->GetFiredTrigger();
  3114     FireInfo = notifier->GetFiredTrigger();
  2979     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  3115     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
  2980     firePosition.Distance(coordinate,trigDistance);
  3116     firePosition.Distance(coordinate,trigDistance);
       
  3117     RestoreProfileL();
  2981     if( trigDistance<=1000 &&notifier->iTriggerFireCount ==2)
  3118     if( trigDistance<=1000 &&notifier->iTriggerFireCount ==2)
  2982     {
  3119     {
  2983     	CleanupStack::PopAndDestroy( notifier );
  3120     	CleanupStack::PopAndDestroy( notifier );
  2984     CleanupStack::PopAndDestroy( trig );
  3121     CleanupStack::PopAndDestroy( trig );
  2985     CleanupStack::Pop( &lbt );
  3122     CleanupStack::Pop( &lbt );