locationtriggering/tsrc/lbtengine_test/CreateSessiontrigger/src/CreateSessiontriggerBlocks.cpp
changeset 0 667063e416a2
equal deleted inserted replaced
-1:000000000000 0:667063e416a2
       
     1 /*
       
     2 * Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:    Test module to implement Session trigger creation related test cases
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 
       
    22 // INCLUDE FILES
       
    23 #include <e32svr.h>
       
    24 #include <StifParser.h>
       
    25 #include <Stiftestinterface.h>
       
    26 #include "CreateSessiontrigger.h"
       
    27 #include "MyObserver.h"
       
    28 #include <lbt.h> 
       
    29 #include <lbtserver.h>
       
    30 #include <e32property.h>
       
    31 //#include "lbtstatuspskeys.h"
       
    32 #include <lbtgeocircle.h> 
       
    33 #include <lbtgeorect.h>
       
    34 #include <lbttriggerconditionarea.h> 
       
    35 #include <lbtsessiontrigger.h> 
       
    36 
       
    37 // EXTERNAL DATA STRUCTURES
       
    38 //extern  ?external_data;
       
    39 
       
    40 // EXTERNAL FUNCTION PROTOTYPES  
       
    41 //extern ?external_function( ?arg_type,?arg_type );
       
    42 
       
    43 // CONSTANTS
       
    44 //const ?type ?constant_var = ?constant;
       
    45 
       
    46 // MACROS
       
    47 //#define ?macro ?macro_def
       
    48 
       
    49 // LOCAL CONSTANTS AND MACROS
       
    50 //const ?type ?constant_var = ?constant;
       
    51 //#define ?macro_name ?macro_def
       
    52 
       
    53 // MODULE DATA STRUCTURES
       
    54 //enum ?declaration
       
    55 //typedef ?declaration
       
    56 
       
    57 // LOCAL FUNCTION PROTOTYPES
       
    58 //?type ?function_name( ?arg_type, ?arg_type );
       
    59 
       
    60 // FORWARD DECLARATIONS
       
    61 //class ?FORWARD_CLASSNAME;
       
    62 
       
    63 // ============================= LOCAL FUNCTIONS ===============================
       
    64 
       
    65 // -----------------------------------------------------------------------------
       
    66 // ?function_name ?description.
       
    67 // ?description
       
    68 // Returns: ?value_1: ?description
       
    69 //          ?value_n: ?description_line1
       
    70 //                    ?description_line2
       
    71 // -----------------------------------------------------------------------------
       
    72 //
       
    73 /*
       
    74 ?type ?function_name(
       
    75     ?arg_type arg,  // ?description
       
    76     ?arg_type arg)  // ?description
       
    77     {
       
    78 
       
    79     ?code  // ?comment
       
    80 
       
    81     // ?comment
       
    82     ?code
       
    83     }
       
    84 */
       
    85 
       
    86 // ============================ MEMBER FUNCTIONS ===============================
       
    87 
       
    88 // -----------------------------------------------------------------------------
       
    89 // CCreateSessiontrigger::Delete
       
    90 // Delete here all resources allocated and opened from test methods. 
       
    91 // Called from destructor. 
       
    92 // -----------------------------------------------------------------------------
       
    93 //
       
    94 void CCreateSessiontrigger::Delete() 
       
    95     {
       
    96 
       
    97     }
       
    98 
       
    99 // -----------------------------------------------------------------------------
       
   100 // CCreateSessiontrigger::RunMethodL
       
   101 // Run specified method. Contains also table of test mothods and their names.
       
   102 // -----------------------------------------------------------------------------
       
   103 //
       
   104 TInt CCreateSessiontrigger::RunMethodL( 
       
   105     CStifItemParser& aItem ) 
       
   106     {
       
   107 
       
   108     static TStifFunctionInfo const KFunctions[] =
       
   109         {  
       
   110         // Copy this line for every implemented function.
       
   111         // First string is the function name used in TestScripter script file.
       
   112         // Second is the actual implementation member function. 
       
   113         ENTRY( "Example", CCreateSessiontrigger::ExampleL ),
       
   114         ENTRY( "CreateSessiontrigger",CCreateSessiontrigger::CreatesingleSessiontriggerL),
       
   115         ENTRY( "CreateExittypeSessiontrigger",CCreateSessiontrigger::CreateExittypeSessiontriggerL),
       
   116         ENTRY( "CreateDisabledSessiontrigger",CCreateSessiontrigger::CreateDisabledSessiontriggerL),
       
   117         ENTRY( "CreatemultipeSessiontriggers",CCreateSessiontrigger::CreatemultipleSessiontriggersL),
       
   118         ENTRY( "CreateSessiontriggerwithoutConnect",CCreateSessiontrigger::CreateSessiontriggerwithoutConnectL),
       
   119         ENTRY( "CreateSessiontriggerwithoutOpen",CCreateSessiontrigger::CreateSessiontriggerwithoutOpenL),
       
   120         ENTRY( "SessiontriggerNameexceeds256L",CCreateSessiontrigger::SessiontriggerNameexceeds256L),
       
   121         ENTRY( "SessiontriggerNameequals0",CCreateSessiontrigger::SessiontriggerNameequals0L),
       
   122         ENTRY( "CreateSessiontriggerwithoutName",CCreateSessiontrigger::CreateSessiontriggerwithoutNameL),
       
   123         ENTRY( "CreateSessiontriggerwithoutcond",CCreateSessiontrigger::CreateSessiontriggerwithoutcondL),
       
   124         ENTRY( "CreateSessiontriggermanagerUINotFound",CCreateSessiontrigger::CreateSessiontriggermanagerUINotFoundL),
       
   125         ENTRY( "CreateSessiontriggerwithNonUIApplication",CCreateSessiontrigger::CreateSessiontriggerwithNonUIApplicationL),
       
   126         ENTRY( "ErrortriggerAreaToosmall",CCreateSessiontrigger::ErrortriggerAreaToosmallL),
       
   127         ENTRY( "ErrortriggerAreaRectangle",CCreateSessiontrigger::ErrortriggerAreaRectangleL),
       
   128         ENTRY( "CreateSessiontriggerwithoutRequestor",CCreateSessiontrigger::CreateSessiontriggerwithoutRequestorL),
       
   129 
       
   130         };
       
   131 
       
   132     const TInt count = sizeof( KFunctions ) / 
       
   133                         sizeof( TStifFunctionInfo );
       
   134 
       
   135     return RunInternalL( KFunctions, count, aItem );
       
   136 
       
   137     }
       
   138 
       
   139 // -----------------------------------------------------------------------------
       
   140 // CCreateSessiontrigger::ExampleL
       
   141 // Example test method function.
       
   142 // (other items were commented in a header).
       
   143 // -----------------------------------------------------------------------------
       
   144 //
       
   145 TInt CCreateSessiontrigger::ExampleL( CStifItemParser& aItem )
       
   146     {
       
   147 
       
   148     // Print to UI
       
   149     _LIT( KCreateSessiontrigger, "CreateSessiontrigger" );
       
   150     _LIT( KExample, "In Example" );
       
   151     TestModuleIf().Printf( 0, KCreateSessiontrigger, KExample );
       
   152     // Print to log file
       
   153     iLog->Log( KExample );
       
   154 
       
   155     TInt i = 0;
       
   156     TPtrC string;
       
   157     _LIT( KParam, "Param[%i]: %S" );
       
   158     while ( aItem.GetNextString ( string ) == KErrNone )
       
   159         {
       
   160         TestModuleIf().Printf( i, KCreateSessiontrigger, 
       
   161                                 KParam, i, &string );
       
   162         i++;
       
   163         }
       
   164 
       
   165     return KErrNone;
       
   166 
       
   167     }
       
   168     // -----------------------------------------------------------------------------
       
   169 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
   170 // Testing the creation of single entry type session trigger.
       
   171 // (other items were commented in a header).
       
   172 // -----------------------------------------------------------------------------
       
   173 //
       
   174        
       
   175     TInt CCreateSessiontrigger::CreatesingleSessiontriggerL( CStifItemParser& aItem )
       
   176     {
       
   177         //Connect to Location Triggering Server
       
   178    
       
   179   // #if 0
       
   180     RLbtServer lbtServ;
       
   181     User::LeaveIfError(lbtServ.Connect());
       
   182     CleanupClosePushL(lbtServ);
       
   183 
       
   184     RLbt lbt;
       
   185     User::LeaveIfError(lbt.Open(lbtServ));
       
   186     CleanupClosePushL(lbt);
       
   187         
       
   188     TRealX nan;
       
   189     nan.SetNaN();
       
   190         
       
   191     TRealX myLatitude=61.5;
       
   192     TRealX myLongitude= 24.3;   
       
   193     TRealX myAltitude =0; 
       
   194     TRealX myradius =100; 
       
   195     TCoordinate centre(myLatitude,myLongitude)  ;     
       
   196     //Define the triggering area
       
   197         
       
   198    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
   199    						centre,100.1);
       
   200    							
       
   201    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
   202    	trigArea->SetCenter(centre);
       
   203    	trigArea->SetRadius(10);*/
       
   204     CleanupStack::PushL( trigArea );
       
   205 
       
   206     //Construct trigger condition
       
   207     CLbtTriggerConditionArea* cond = 
       
   208         CLbtTriggerConditionArea::NewL( 
       
   209         trigArea,
       
   210         CLbtTriggerConditionArea::EFireOnEnter );
       
   211         
       
   212     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
   213     CleanupStack::PushL( cond );
       
   214     
       
   215     _LIT( KMyTriggerName, "Trigger name" );
       
   216     _LIT( KMyRequestor , "Requestor" );
       
   217    
       
   218    	TUid aManagerUi;
       
   219 	aManagerUi = TUid::Uid(0x87654321);
       
   220     //Construct a startup trigger
       
   221     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
   222         KMyTriggerName,                             //Trigger name
       
   223         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
   224         CRequestorBase::ERequestorService,          //Requestor type
       
   225         CRequestorBase::EFormatApplication,         //Requestor format
       
   226         KMyRequestor,                               //Requestor data
       
   227         aManagerUi,				                      //Manager UI
       
   228         cond                                       //Trigger condition
       
   229         );     
       
   230         
       
   231         iLog->Log(_L("Session trigger entry created ")); 	                         
       
   232         
       
   233     //Pop trigger condition object
       
   234     CleanupStack::Pop( cond );
       
   235     
       
   236     //Push trigger object to cleanup stack
       
   237     CleanupStack::PushL( trig );
       
   238 
       
   239     //Create the trigger in Location Triggering Server
       
   240     TLbtTriggerId trigId;
       
   241     TRequestStatus status;
       
   242     
       
   243     CMyObserver *ao;
       
   244 	ao = CMyObserver::NewL();
       
   245 	CActiveSchedulerWait *schedulerwait;
       
   246 	schedulerwait= new CActiveSchedulerWait;
       
   247 	ao->GiveHandle(schedulerwait);
       
   248     
       
   249     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
   250     
       
   251     //iLog->Log(_L("Session trigger created ")); 
       
   252     
       
   253     ao->MySetActive();	
       
   254 	schedulerwait->Start();    
       
   255     
       
   256     //Delete the instance of trigger object
       
   257    CleanupStack::PopAndDestroy( trig );
       
   258    
       
   259     
       
   260    /* User::WaitForRequest( status );
       
   261     User::LeaveIfError( status.Int() );*/
       
   262     
       
   263     //Close connection to Location Triggering Server.
       
   264         
       
   265     lbt.Close();
       
   266     CleanupStack::Pop(&lbt); 
       
   267     //Close connection to RLbtServer
       
   268     lbtServ.Close(); 
       
   269     CleanupStack::PopAndDestroy(&lbtServ);  
       
   270     return KErrNone;
       
   271   //  #endif
       
   272     #if 0
       
   273     RLbtServer lbtServ;
       
   274     User::LeaveIfError(lbtServ.Connect());
       
   275     CleanupClosePushL(lbtServ);
       
   276 
       
   277     RLbt lbt;
       
   278     User::LeaveIfError(lbt.Open(lbtServ));
       
   279     CleanupClosePushL(lbt);
       
   280     CLbtSessionTrigger *iTrigger;
       
   281     CLbtGeoCircle* circle = CLbtGeoCircle::NewLC();
       
   282 		
       
   283 	iTrigger = CLbtSessionTrigger::NewL();
       
   284 		
       
   285 	iTrigger->SetNameL(_L("LbtRefAppTrigger"));
       
   286 	iTrigger->SetState(CLbtTriggerEntry::EStateEnabled);
       
   287 	/*iTrigger->SetRequestorL(CRequestorBase::ERequestorService,
       
   288 						   CRequestorBase::EFormatApplication,
       
   289 						   _L("LbtRefAppTrigger"));*/
       
   290 	iTrigger->SetManagerUi(TUid::Uid(0x10181081));
       
   291 	
       
   292 	CLbtTriggerConditionArea* conditionBasic = CLbtTriggerConditionArea::NewL(circle, CLbtTriggerConditionArea::EFireOnEnter);
       
   293 	CleanupStack::PushL(conditionBasic);
       
   294 	
       
   295 	iTrigger->SetCondition(conditionBasic);	
       
   296 	 TLbtTriggerId iTriggerid;
       
   297     TRequestStatus iStatus;
       
   298 	CMyObserver *ao;
       
   299 	ao = CMyObserver::NewL();
       
   300 
       
   301 //	test->CallCreateTrigger(lbt,&iTrigger,iTriggerid,EFalse,iStatus);
       
   302 	CActiveSchedulerWait *schedulerwait;
       
   303 	schedulerwait= new CActiveSchedulerWait;
       
   304 	ao->GiveHandle(schedulerwait);
       
   305 	lbt.CreateTrigger(*iTrigger, iTriggerid, EFalse, ao->iStatus);
       
   306 	ao->MySetActive();	
       
   307 	
       
   308 	
       
   309 	schedulerwait->Start();
       
   310 	
       
   311 	//User::WaitForRequest( iStatus );
       
   312     //User::LeaveIfError( iStatus.Int() );
       
   313 	CleanupStack::Pop(4); 
       
   314 	return KErrNone;
       
   315 	#endif
       
   316     }
       
   317   
       
   318   
       
   319   
       
   320       // -----------------------------------------------------------------------------
       
   321 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
   322 // Testing the creation of single entry type session trigger.
       
   323 // (other items were commented in a header).
       
   324 // -----------------------------------------------------------------------------
       
   325 //
       
   326        
       
   327     TInt CCreateSessiontrigger::CreateExittypeSessiontriggerL( CStifItemParser& aItem )
       
   328     {
       
   329         //Connect to Location Triggering Server
       
   330     RLbtServer lbtServ;
       
   331     User::LeaveIfError(lbtServ.Connect());
       
   332     CleanupClosePushL(lbtServ);
       
   333 
       
   334     RLbt lbt;
       
   335     User::LeaveIfError(lbt.Open(lbtServ));
       
   336     CleanupClosePushL(lbt);
       
   337         
       
   338     TRealX nan;
       
   339     nan.SetNaN();
       
   340         
       
   341     TRealX myLatitude=61.5;
       
   342     TRealX myLongitude= 24.3;   
       
   343     TRealX myAltitude =0; 
       
   344     TRealX myradius =10; 
       
   345     TCoordinate centre(myLatitude,myLongitude)  ;     
       
   346     //Define the triggering area
       
   347         
       
   348    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
   349    						centre,100.1);
       
   350    							
       
   351    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
   352    	trigArea->SetCenter(centre);
       
   353    	trigArea->SetRadius(10);*/
       
   354     CleanupStack::PushL( trigArea );
       
   355 
       
   356     //Construct trigger condition
       
   357     CLbtTriggerConditionArea* cond = 
       
   358         CLbtTriggerConditionArea::NewL( 
       
   359         trigArea,
       
   360         CLbtTriggerConditionArea::EFireOnExit );
       
   361         
       
   362     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
   363     CleanupStack::PushL( cond );
       
   364     
       
   365     _LIT( KMyTriggerName, "Trigger name" );
       
   366     _LIT( KMyRequestor , "Requestor" );
       
   367    
       
   368    	TUid aManagerUi;
       
   369 	aManagerUi = TUid::Uid(0x87654321);
       
   370     //Construct a startup trigger
       
   371     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
   372         KMyTriggerName,                             //Trigger name
       
   373         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
   374         CRequestorBase::ERequestorService,          //Requestor type
       
   375         CRequestorBase::EFormatApplication,         //Requestor format
       
   376         KMyRequestor,                               //Requestor data
       
   377         aManagerUi,				                      //Manager UI
       
   378         cond                                       //Trigger condition
       
   379         );     
       
   380         
       
   381         iLog->Log(_L("Session trigger entry created ")); 	                         
       
   382         
       
   383     //Pop trigger condition object
       
   384     CleanupStack::Pop( cond );
       
   385     
       
   386     //Push trigger object to cleanup stack
       
   387     CleanupStack::PushL( trig );
       
   388 
       
   389     //Create the trigger in Location Triggering Server
       
   390     TLbtTriggerId trigId;
       
   391     TRequestStatus status;
       
   392     
       
   393      CMyObserver *ao;
       
   394 	ao = CMyObserver::NewL();
       
   395 	CActiveSchedulerWait *schedulerwait;
       
   396 	schedulerwait= new CActiveSchedulerWait;
       
   397 	ao->GiveHandle(schedulerwait);
       
   398     
       
   399     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
   400     
       
   401     //iLog->Log(_L("Session trigger created ")); 
       
   402     
       
   403     ao->MySetActive();	
       
   404 	schedulerwait->Start();    
       
   405     
       
   406     iLog->Log(_L("Session trigger created ")); 
       
   407     
       
   408     //Delete the instance of trigger object
       
   409    CleanupStack::PopAndDestroy( trig );
       
   410    
       
   411     
       
   412    /* User::WaitForRequest( status );
       
   413     User::LeaveIfError( status.Int() );*/
       
   414     
       
   415     //Close connection to Location Triggering Server.
       
   416         
       
   417     lbt.Close();
       
   418     CleanupStack::Pop(&lbt); 
       
   419     //Close connection to RLbtServer
       
   420     lbtServ.Close(); 
       
   421     CleanupStack::PopAndDestroy(&lbtServ);  
       
   422     return KErrNone;
       
   423     
       
   424     }
       
   425     
       
   426     
       
   427         // -----------------------------------------------------------------------------
       
   428 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
   429 // Testing the creation of single entry type session trigger.
       
   430 // (other items were commented in a header).
       
   431 // -----------------------------------------------------------------------------
       
   432 //
       
   433        
       
   434     TInt CCreateSessiontrigger::CreateDisabledSessiontriggerL( CStifItemParser& aItem )
       
   435     {
       
   436         //Connect to Location Triggering Server
       
   437     RLbtServer lbtServ;
       
   438     User::LeaveIfError(lbtServ.Connect());
       
   439     CleanupClosePushL(lbtServ);
       
   440 
       
   441     RLbt lbt;
       
   442     User::LeaveIfError(lbt.Open(lbtServ));
       
   443     CleanupClosePushL(lbt);
       
   444         
       
   445     TRealX nan;
       
   446     nan.SetNaN();
       
   447         
       
   448     TRealX myLatitude=61.5;
       
   449     TRealX myLongitude= 24.3;   
       
   450     TRealX myAltitude =0; 
       
   451     TRealX myradius =10; 
       
   452     TCoordinate centre(myLatitude,myLongitude)  ;     
       
   453     //Define the triggering area
       
   454         
       
   455    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
   456    						centre,100.1);
       
   457    							
       
   458    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
   459    	trigArea->SetCenter(centre);
       
   460    	trigArea->SetRadius(10);*/
       
   461     CleanupStack::PushL( trigArea );
       
   462 
       
   463     //Construct trigger condition
       
   464     CLbtTriggerConditionArea* cond = 
       
   465         CLbtTriggerConditionArea::NewL( 
       
   466         trigArea,
       
   467         CLbtTriggerConditionArea::EFireOnEnter );
       
   468         
       
   469     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
   470     CleanupStack::PushL( cond );
       
   471     
       
   472     _LIT( KMyTriggerName, "Trigger name" );
       
   473     _LIT( KMyRequestor , "Requestor" );
       
   474    
       
   475    	TUid aManagerUi;
       
   476 	aManagerUi = TUid::Uid(0x87654321);
       
   477     //Construct a startup trigger
       
   478     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
   479         KMyTriggerName,                             //Trigger name
       
   480         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
   481         CRequestorBase::ERequestorService,          //Requestor type
       
   482         CRequestorBase::EFormatApplication,         //Requestor format
       
   483         KMyRequestor,                               //Requestor data
       
   484         aManagerUi,				                      //Manager UI
       
   485         cond                                       //Trigger condition
       
   486         );     
       
   487         
       
   488         iLog->Log(_L("Session trigger entry created ")); 	                         
       
   489         
       
   490     //Pop trigger condition object
       
   491     CleanupStack::Pop( cond );
       
   492     
       
   493     //Push trigger object to cleanup stack
       
   494     CleanupStack::PushL( trig );
       
   495 
       
   496     //Create the trigger in Location Triggering Server
       
   497     TLbtTriggerId trigId;
       
   498     TRequestStatus status;
       
   499     
       
   500      CMyObserver *ao;
       
   501 	ao = CMyObserver::NewL();
       
   502 	CActiveSchedulerWait *schedulerwait;
       
   503 	schedulerwait= new CActiveSchedulerWait;
       
   504 	ao->GiveHandle(schedulerwait);
       
   505     
       
   506     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
   507     
       
   508     //iLog->Log(_L("Session trigger created ")); 
       
   509     
       
   510     ao->MySetActive();	
       
   511 	schedulerwait->Start();    
       
   512     
       
   513     iLog->Log(_L("Session trigger created ")); 
       
   514     
       
   515     //Delete the instance of trigger object
       
   516    CleanupStack::PopAndDestroy( trig );
       
   517    
       
   518     
       
   519   /*  User::WaitForRequest( status );
       
   520     User::LeaveIfError( status.Int() );*/
       
   521     
       
   522     //Close connection to Location Triggering Server.
       
   523         
       
   524     lbt.Close();
       
   525     CleanupStack::Pop(&lbt); 
       
   526     //Close connection to RLbtServer
       
   527     lbtServ.Close(); 
       
   528     CleanupStack::PopAndDestroy(&lbtServ);  
       
   529     return KErrNone;
       
   530     
       
   531     }
       
   532     
       
   533     
       
   534         // -----------------------------------------------------------------------------
       
   535 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
   536 // Testing the creation of single entry type session trigger.
       
   537 // (other items were commented in a header).
       
   538 // -----------------------------------------------------------------------------
       
   539 //
       
   540        
       
   541     TInt CCreateSessiontrigger::CreatemultipleSessiontriggersL( CStifItemParser& aItem )
       
   542     {
       
   543         //Connect to Location Triggering Server
       
   544     RLbtServer lbtServ;
       
   545     User::LeaveIfError(lbtServ.Connect());
       
   546     CleanupClosePushL(lbtServ);
       
   547 
       
   548     RLbt lbt;
       
   549     User::LeaveIfError(lbt.Open(lbtServ));
       
   550     CleanupClosePushL(lbt);
       
   551         
       
   552     TRealX nan;
       
   553     nan.SetNaN();
       
   554         
       
   555     TRealX myLatitude=61.5;
       
   556     TRealX myLongitude= 24.3;   
       
   557     TRealX myAltitude =0; 
       
   558     TRealX myradius =10; 
       
   559     TCoordinate centre(myLatitude,myLongitude)  ;     
       
   560     //Define the triggering area
       
   561         
       
   562    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
   563    						centre,100.1);
       
   564    							
       
   565    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
   566    	trigArea->SetCenter(centre);
       
   567    	trigArea->SetRadius(10);*/
       
   568     CleanupStack::PushL( trigArea );
       
   569 
       
   570     //Construct trigger condition
       
   571     CLbtTriggerConditionArea* cond = 
       
   572         CLbtTriggerConditionArea::NewL( 
       
   573         trigArea,
       
   574         CLbtTriggerConditionArea::EFireOnEnter );
       
   575         
       
   576     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
   577     CleanupStack::PushL( cond );
       
   578     
       
   579     _LIT( KMyTriggerName, "Trigger name" );
       
   580     _LIT( KMyRequestor , "Requestor" );
       
   581    
       
   582    	TUid aManagerUi;
       
   583 	aManagerUi = TUid::Uid(0x87654321);
       
   584     //Construct a startup trigger
       
   585     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
   586         KMyTriggerName,                             //Trigger name
       
   587         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
   588         CRequestorBase::ERequestorService,          //Requestor type
       
   589         CRequestorBase::EFormatApplication,         //Requestor format
       
   590         KMyRequestor,                               //Requestor data
       
   591         aManagerUi,				                      //Manager UI
       
   592         cond                                       //Trigger condition
       
   593         );     
       
   594         
       
   595         iLog->Log(_L("Session trigger entry created ")); 	                         
       
   596         
       
   597     //Pop trigger condition object
       
   598     CleanupStack::Pop( cond );
       
   599     
       
   600     //Push trigger object to cleanup stack
       
   601     CleanupStack::PushL( trig );
       
   602 
       
   603     //Create the trigger in Location Triggering Server
       
   604     TLbtTriggerId trigId;
       
   605     TRequestStatus status;
       
   606    
       
   607     for(int i=0;i<5;i++)
       
   608     {//Remove braces for error test case LocTriggering:5(ELbtDuplicateRequest
       
   609       CMyObserver *ao;
       
   610 	ao = CMyObserver::NewL();
       
   611 	CActiveSchedulerWait *schedulerwait;
       
   612 	schedulerwait= new CActiveSchedulerWait;
       
   613 	ao->GiveHandle(schedulerwait);	
       
   614     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
   615     
       
   616     //iLog->Log(_L("Session trigger created ")); 
       
   617     ao->MySetActive();
       
   618    	schedulerwait->Start();    
       
   619     }
       
   620     	
       
   621 
       
   622     
       
   623    /* for(int i=0;i<5;i++)
       
   624     lbt.CreateTrigger( *trig, trigId, ETrue, status );*/
       
   625     
       
   626     iLog->Log(_L("Session trigger created ")); 
       
   627     
       
   628     //Delete the instance of trigger object
       
   629    CleanupStack::PopAndDestroy( trig );
       
   630    
       
   631     
       
   632    /* User::WaitForRequest( status );
       
   633     User::LeaveIfError( status.Int() );*/
       
   634     
       
   635     //Close connection to Location Triggering Server.
       
   636         
       
   637     lbt.Close();
       
   638     CleanupStack::Pop(&lbt); 
       
   639     //Close connection to RLbtServer
       
   640     lbtServ.Close(); 
       
   641     CleanupStack::PopAndDestroy(&lbtServ);  
       
   642     return KErrNone;
       
   643     
       
   644     }
       
   645     
       
   646     
       
   647        // -----------------------------------------------------------------------------
       
   648 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
   649 // Testing the creation of single entry type session trigger.
       
   650 // (other items were commented in a header).
       
   651 // -----------------------------------------------------------------------------
       
   652 //
       
   653        
       
   654     TInt CCreateSessiontrigger::CreateSessiontriggerwithoutConnectL( CStifItemParser& aItem )
       
   655     {
       
   656         //Connect to Location Triggering Server
       
   657     RLbtServer lbtServ;
       
   658     
       
   659     RLbt lbt;
       
   660     
       
   661     TRealX nan;
       
   662     nan.SetNaN();
       
   663         
       
   664     TRealX myLatitude=61.5;
       
   665     TRealX myLongitude= 24.3;   
       
   666     TRealX myAltitude =0; 
       
   667     TRealX myradius =10; 
       
   668     TCoordinate centre(myLatitude,myLongitude)  ;     
       
   669     //Define the triggering area
       
   670         
       
   671    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
   672    						centre,100.1);
       
   673    							
       
   674    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
   675    	trigArea->SetCenter(centre);
       
   676    	trigArea->SetRadius(10);*/
       
   677     CleanupStack::PushL( trigArea );
       
   678 
       
   679     //Construct trigger condition
       
   680     CLbtTriggerConditionArea* cond = 
       
   681         CLbtTriggerConditionArea::NewL( 
       
   682         trigArea,
       
   683         CLbtTriggerConditionArea::EFireOnEnter );
       
   684         
       
   685     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
   686     CleanupStack::PushL( cond );
       
   687     
       
   688     _LIT( KMyTriggerName, "Trigger name" );
       
   689     _LIT( KMyRequestor , "Requestor" );
       
   690    
       
   691    	TUid aManagerUi;
       
   692 	aManagerUi = TUid::Uid(0x87654321);
       
   693     //Construct a startup trigger
       
   694     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
   695         KMyTriggerName,                             //Trigger name
       
   696         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
   697         CRequestorBase::ERequestorService,          //Requestor type
       
   698         CRequestorBase::EFormatApplication,         //Requestor format
       
   699         KMyRequestor,                               //Requestor data
       
   700         aManagerUi,				                      //Manager UI
       
   701         cond                                       //Trigger condition
       
   702         );     
       
   703         
       
   704         iLog->Log(_L("Session trigger entry created ")); 	                         
       
   705         
       
   706     //Pop trigger condition object
       
   707     CleanupStack::Pop( cond );
       
   708     
       
   709     //Push trigger object to cleanup stack
       
   710     CleanupStack::PushL( trig );
       
   711 
       
   712     //Create the trigger in Location Triggering Server
       
   713     TLbtTriggerId trigId;
       
   714     TRequestStatus status;
       
   715     
       
   716      CMyObserver *ao;
       
   717 	ao = CMyObserver::NewL();
       
   718 	CActiveSchedulerWait *schedulerwait;
       
   719 	schedulerwait= new CActiveSchedulerWait;
       
   720 	ao->GiveHandle(schedulerwait);
       
   721 	TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 2); 	
       
   722     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
   723     
       
   724     //iLog->Log(_L("Session trigger created ")); 
       
   725     ao->MySetActive();
       
   726    	schedulerwait->Start();  
       
   727     
       
   728     iLog->Log(_L("Session trigger created ")); 
       
   729     
       
   730     //Delete the instance of trigger object
       
   731    CleanupStack::PopAndDestroy( trig );
       
   732    
       
   733     
       
   734     /*User::WaitForRequest( status );
       
   735     User::LeaveIfError( status.Int() );*/
       
   736     
       
   737      
       
   738     return KErrNone;
       
   739     
       
   740     }
       
   741   
       
   742   
       
   743   
       
   744   TInt CCreateSessiontrigger::CreateSessiontriggerwithoutOpenL( CStifItemParser& aItem )
       
   745     {
       
   746         //Connect to Location Triggering Server
       
   747     RLbtServer lbtServ;
       
   748     User::LeaveIfError(lbtServ.Connect());
       
   749     CleanupClosePushL(lbtServ);
       
   750 
       
   751     RLbt lbt;
       
   752     
       
   753     CleanupClosePushL(lbt);
       
   754         
       
   755     TRealX nan;
       
   756     nan.SetNaN();
       
   757         
       
   758     TRealX myLatitude=61.5;
       
   759     TRealX myLongitude= 24.3;   
       
   760     TRealX myAltitude =0; 
       
   761     TRealX myradius =10; 
       
   762     TCoordinate centre(myLatitude,myLongitude)  ;     
       
   763     //Define the triggering area
       
   764         
       
   765    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
   766    						centre,100.1);
       
   767    							
       
   768    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
   769    	trigArea->SetCenter(centre);
       
   770    	trigArea->SetRadius(10);*/
       
   771     CleanupStack::PushL( trigArea );
       
   772 
       
   773     //Construct trigger condition
       
   774     CLbtTriggerConditionArea* cond = 
       
   775         CLbtTriggerConditionArea::NewL( 
       
   776         trigArea,
       
   777         CLbtTriggerConditionArea::EFireOnEnter );
       
   778         
       
   779     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
   780     CleanupStack::PushL( cond );
       
   781     
       
   782     _LIT( KMyTriggerName, "Trigger name" );
       
   783     _LIT( KMyRequestor , "Requestor" );
       
   784    
       
   785    	TUid aManagerUi;
       
   786 	aManagerUi = TUid::Uid(0x87654321);
       
   787     //Construct a startup trigger
       
   788     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
   789         KMyTriggerName,                             //Trigger name
       
   790         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
   791         CRequestorBase::ERequestorService,          //Requestor type
       
   792         CRequestorBase::EFormatApplication,         //Requestor format
       
   793         KMyRequestor,                               //Requestor data
       
   794         aManagerUi,				                      //Manager UI
       
   795         cond                                       //Trigger condition
       
   796         );     
       
   797         
       
   798         iLog->Log(_L("Session trigger entry created ")); 	                         
       
   799         
       
   800     //Pop trigger condition object
       
   801     CleanupStack::Pop( cond );
       
   802     
       
   803     //Push trigger object to cleanup stack
       
   804     CleanupStack::PushL( trig );
       
   805 
       
   806     //Create the trigger in Location Triggering Server
       
   807     TLbtTriggerId trigId;
       
   808     TRequestStatus status;
       
   809     
       
   810      CMyObserver *ao;
       
   811 	ao = CMyObserver::NewL();
       
   812 	CActiveSchedulerWait *schedulerwait;
       
   813 	schedulerwait= new CActiveSchedulerWait;
       
   814 	ao->GiveHandle(schedulerwait);
       
   815 	TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 2); 	
       
   816     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
   817     
       
   818     //iLog->Log(_L("Session trigger created ")); 
       
   819     ao->MySetActive();
       
   820    	schedulerwait->Start();  
       
   821     
       
   822     iLog->Log(_L("Session trigger created ")); 
       
   823     
       
   824     //Delete the instance of trigger object
       
   825    CleanupStack::PopAndDestroy( trig );
       
   826    
       
   827     
       
   828    /* User::WaitForRequest( status );
       
   829     User::LeaveIfError( status.Int() );*/
       
   830     
       
   831     //Close connection to Location Triggering Server.
       
   832         
       
   833     
       
   834     CleanupStack::Pop(&lbt); 
       
   835     //Close connection to RLbtServer
       
   836     lbtServ.Close(); 
       
   837     CleanupStack::PopAndDestroy(&lbtServ);  
       
   838     return KErrNone;
       
   839     
       
   840     }
       
   841   
       
   842   
       
   843   
       
   844    // -----------------------------------------------------------------------------
       
   845 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
   846 // Testing the creation of single entry type session trigger.
       
   847 // (other items were commented in a header).
       
   848 // -----------------------------------------------------------------------------
       
   849 //
       
   850        
       
   851     TInt CCreateSessiontrigger::SessiontriggerNameexceeds256L( CStifItemParser& aItem )
       
   852     {
       
   853         //Connect to Location Triggering Server
       
   854     RLbtServer lbtServ;
       
   855     User::LeaveIfError(lbtServ.Connect());
       
   856     CleanupClosePushL(lbtServ);
       
   857 
       
   858     RLbt lbt;
       
   859     User::LeaveIfError(lbt.Open(lbtServ));
       
   860     CleanupClosePushL(lbt);
       
   861         
       
   862     TRealX nan;
       
   863     nan.SetNaN();
       
   864         
       
   865     TRealX myLatitude=61.5;
       
   866     TRealX myLongitude= 24.3;   
       
   867     TRealX myAltitude =0; 
       
   868     TRealX myradius =10; 
       
   869     TCoordinate centre(myLatitude,myLongitude)  ;     
       
   870     //Define the triggering area
       
   871  //  TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 6); 	        
       
   872    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
   873    						centre,100.1);
       
   874    							
       
   875    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
   876    	trigArea->SetCenter(centre);
       
   877    	trigArea->SetRadius(10);*/
       
   878     CleanupStack::PushL( trigArea );
       
   879 
       
   880     //Construct trigger condition
       
   881     CLbtTriggerConditionArea* cond = 
       
   882         CLbtTriggerConditionArea::NewL( 
       
   883         trigArea,
       
   884         CLbtTriggerConditionArea::EFireOnEnter );
       
   885         
       
   886     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
   887     CleanupStack::PushL( cond );
       
   888     
       
   889     _LIT( KMyTriggerName, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz" );
       
   890     
       
   891     
       
   892     
       
   893    // _LIT( KMyTriggerName, "tst");
       
   894     _LIT( KMyRequestor , "Requestor" );
       
   895    
       
   896    	TUid aManagerUi;
       
   897 	aManagerUi = TUid::Uid(0x87654321);
       
   898 	
       
   899 //	TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 6);
       
   900     //Construct a startup trigger
       
   901     TRAPD(error,CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
   902         KMyTriggerName,                             //Trigger name
       
   903         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
   904         CRequestorBase::ERequestorService,          //Requestor type
       
   905         CRequestorBase::EFormatApplication,         //Requestor format
       
   906         KMyRequestor,                               //Requestor data
       
   907         aManagerUi,				                      //Manager UI
       
   908         cond                                       //Trigger condition
       
   909         ));    
       
   910         if(error ==-6)
       
   911         {
       
   912         CleanupStack::Pop( cond );
       
   913         	lbt.Close();
       
   914     CleanupStack::Pop(&lbt); 
       
   915     //Close connection to RLbtServer
       
   916     lbtServ.Close(); 
       
   917     CleanupStack::PopAndDestroy(&lbtServ);  
       
   918         	return KErrNone;
       
   919         }
       
   920         else
       
   921         {
       
   922         	CleanupStack::Pop( cond );
       
   923         	lbt.Close();
       
   924     CleanupStack::Pop(&lbt); 
       
   925     //Close connection to RLbtServer
       
   926     lbtServ.Close(); 
       
   927     CleanupStack::PopAndDestroy(&lbtServ);  
       
   928         	return error;	
       
   929         }
       
   930        
       
   931         
       
   932     }
       
   933   
       
   934   
       
   935      // -----------------------------------------------------------------------------
       
   936 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
   937 // Testing the creation of single entry type session trigger.
       
   938 // (other items were commented in a header).
       
   939 // -----------------------------------------------------------------------------
       
   940 //
       
   941        
       
   942     TInt CCreateSessiontrigger::SessiontriggerNameequals0L( CStifItemParser& aItem )
       
   943     {
       
   944         //Connect to Location Triggering Server
       
   945     RLbtServer lbtServ;
       
   946     User::LeaveIfError(lbtServ.Connect());
       
   947     CleanupClosePushL(lbtServ);
       
   948 
       
   949     RLbt lbt;
       
   950     User::LeaveIfError(lbt.Open(lbtServ));
       
   951     CleanupClosePushL(lbt);
       
   952         
       
   953     TRealX nan;
       
   954     nan.SetNaN();
       
   955         
       
   956     TRealX myLatitude=61.5;
       
   957     TRealX myLongitude= 24.3;   
       
   958     TRealX myAltitude =0; 
       
   959     TRealX myradius =10; 
       
   960     TCoordinate centre(myLatitude,myLongitude)  ;     
       
   961     //Define the triggering area
       
   962         
       
   963    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
   964    						centre,100.1);
       
   965    							
       
   966    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
   967    	trigArea->SetCenter(centre);
       
   968    	trigArea->SetRadius(10);*/
       
   969     CleanupStack::PushL( trigArea );
       
   970 
       
   971     //Construct trigger condition
       
   972     CLbtTriggerConditionArea* cond = 
       
   973         CLbtTriggerConditionArea::NewL( 
       
   974         trigArea,
       
   975         CLbtTriggerConditionArea::EFireOnEnter );
       
   976         
       
   977     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
   978     CleanupStack::PushL( cond );
       
   979     
       
   980     _LIT( KMyTriggerName, "" );
       
   981     _LIT( KMyRequestor , "Requestor" );
       
   982    
       
   983    	TUid aManagerUi;
       
   984 	aManagerUi = TUid::Uid(0x87654321);
       
   985     //Construct a startup trigger
       
   986     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
   987         KMyTriggerName,                             //Trigger name
       
   988         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
   989         CRequestorBase::ERequestorService,          //Requestor type
       
   990         CRequestorBase::EFormatApplication,         //Requestor format
       
   991         KMyRequestor,                               //Requestor data
       
   992         aManagerUi,				                      //Manager UI
       
   993         cond                                       //Trigger condition
       
   994         );     
       
   995         
       
   996         iLog->Log(_L("Session trigger entry created ")); 	                         
       
   997         
       
   998         
       
   999    //Pop trigger condition object
       
  1000     CleanupStack::Pop( cond );
       
  1001     
       
  1002     //Push trigger object to cleanup stack
       
  1003     CleanupStack::PushL( trig );
       
  1004 
       
  1005     //Create the trigger in Location Triggering Server
       
  1006     TLbtTriggerId trigId;
       
  1007     TRequestStatus status;
       
  1008     
       
  1009      CMyObserver *ao;
       
  1010 	ao = CMyObserver::NewL();
       
  1011 	CActiveSchedulerWait *schedulerwait;
       
  1012 	schedulerwait= new CActiveSchedulerWait;
       
  1013 	ao->GiveHandle(schedulerwait);	
       
  1014     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
  1015     
       
  1016     //iLog->Log(_L("Session trigger created ")); 
       
  1017     ao->MySetActive();
       
  1018    	schedulerwait->Start();  
       
  1019     
       
  1020     TInt errorflag=0;
       
  1021 	if(ao->iStatus == KErrArgument)
       
  1022 	{  
       
  1023          errorflag=1;
       
  1024 	}
       
  1025 	else
       
  1026 	{
       
  1027 		 errorflag=0;
       
  1028 	}
       
  1029     iLog->Log(_L("Session trigger created ")); 
       
  1030     
       
  1031     //Delete the instance of trigger object
       
  1032    CleanupStack::PopAndDestroy( trig );
       
  1033    
       
  1034     
       
  1035     /*User::WaitForRequest( status );
       
  1036     User::LeaveIfError( status.Int() );*/
       
  1037     
       
  1038     //Close connection to Location Triggering Server.
       
  1039         
       
  1040     lbt.Close();
       
  1041     CleanupStack::Pop(&lbt); 
       
  1042     //Close connection to RLbtServer
       
  1043     lbtServ.Close(); 
       
  1044     CleanupStack::PopAndDestroy(&lbtServ);  
       
  1045      if(errorflag ==1)
       
  1046     {
       
  1047     	return KErrNone;
       
  1048     }
       
  1049     else
       
  1050     {
       
  1051     	return -10;
       
  1052     }
       
  1053     
       
  1054     }
       
  1055   
       
  1056   
       
  1057      // -----------------------------------------------------------------------------
       
  1058 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
  1059 // Testing the creation of single entry type session trigger.
       
  1060 // (other items were commented in a header).
       
  1061 // -----------------------------------------------------------------------------
       
  1062 //
       
  1063        
       
  1064     TInt CCreateSessiontrigger::CreateSessiontriggerwithoutNameL( CStifItemParser& aItem )
       
  1065     {
       
  1066         //Connect to Location Triggering Server
       
  1067     RLbtServer lbtServ;
       
  1068     User::LeaveIfError(lbtServ.Connect());
       
  1069     CleanupClosePushL(lbtServ);
       
  1070 
       
  1071     RLbt lbt;
       
  1072     User::LeaveIfError(lbt.Open(lbtServ));
       
  1073     CleanupClosePushL(lbt);
       
  1074         
       
  1075     TRealX nan;
       
  1076     nan.SetNaN();
       
  1077         
       
  1078     TRealX myLatitude=61.5;
       
  1079     TRealX myLongitude= 24.3;   
       
  1080     TRealX myAltitude =0; 
       
  1081     TRealX myradius =10; 
       
  1082     TCoordinate centre(myLatitude,myLongitude)  ;     
       
  1083     //Define the triggering area
       
  1084         
       
  1085    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
  1086    						centre,100.1);
       
  1087    							
       
  1088    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
  1089    	trigArea->SetCenter(centre);
       
  1090    	trigArea->SetRadius(10);*/
       
  1091     CleanupStack::PushL( trigArea );
       
  1092 
       
  1093     //Construct trigger condition
       
  1094     CLbtTriggerConditionArea* cond = 
       
  1095         CLbtTriggerConditionArea::NewL( 
       
  1096         trigArea,
       
  1097         CLbtTriggerConditionArea::EFireOnEnter );
       
  1098         
       
  1099     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
  1100     CleanupStack::PushL( cond );
       
  1101     
       
  1102    // _LIT( KMyTriggerName, "Trigger name" );
       
  1103     _LIT( KMyRequestor , "Requestor" );
       
  1104    
       
  1105    	TUid aManagerUi;
       
  1106 	aManagerUi = TUid::Uid(0x87654321);
       
  1107     //Construct a startup trigger
       
  1108     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
  1109         KNullDesC,                             //Trigger name
       
  1110         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
  1111         CRequestorBase::ERequestorService,          //Requestor type
       
  1112         CRequestorBase::EFormatApplication,         //Requestor format
       
  1113         KMyRequestor,                               //Requestor data
       
  1114         aManagerUi,				                      //Manager UI
       
  1115         cond                                       //Trigger condition
       
  1116         );     
       
  1117         
       
  1118         iLog->Log(_L("Session trigger entry created ")); 	                         
       
  1119         
       
  1120     //Pop trigger condition object
       
  1121     CleanupStack::Pop( cond );
       
  1122     
       
  1123     //Push trigger object to cleanup stack
       
  1124     CleanupStack::PushL( trig );
       
  1125 
       
  1126     //Create the trigger in Location Triggering Server
       
  1127     TLbtTriggerId trigId;
       
  1128     TRequestStatus status;
       
  1129     
       
  1130      CMyObserver *ao;
       
  1131 	ao = CMyObserver::NewL();
       
  1132 	CActiveSchedulerWait *schedulerwait;
       
  1133 	schedulerwait= new CActiveSchedulerWait;
       
  1134 	ao->GiveHandle(schedulerwait);	
       
  1135     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
  1136     
       
  1137     //iLog->Log(_L("Session trigger created ")); 
       
  1138     ao->MySetActive();
       
  1139    	schedulerwait->Start();  
       
  1140     
       
  1141     iLog->Log(_L("Session trigger created ")); 
       
  1142     
       
  1143     //Delete the instance of trigger object
       
  1144    CleanupStack::PopAndDestroy( trig );
       
  1145    
       
  1146     
       
  1147     /*User::WaitForRequest( status );
       
  1148     User::LeaveIfError( status.Int() );*/
       
  1149     
       
  1150     //Close connection to Location Triggering Server.
       
  1151         
       
  1152     lbt.Close();
       
  1153     CleanupStack::Pop(&lbt); 
       
  1154     //Close connection to RLbtServer
       
  1155     lbtServ.Close(); 
       
  1156     CleanupStack::PopAndDestroy(&lbtServ);  
       
  1157     return KErrNone;
       
  1158     
       
  1159     }
       
  1160   
       
  1161   
       
  1162       // -----------------------------------------------------------------------------
       
  1163 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
  1164 // Testing the creation of single entry type session trigger.
       
  1165 // (other items were commented in a header).
       
  1166 // -----------------------------------------------------------------------------
       
  1167 //
       
  1168        
       
  1169     TInt CCreateSessiontrigger::CreateSessiontriggerwithoutcondL( CStifItemParser& aItem )
       
  1170     {
       
  1171         //Connect to Location Triggering Server
       
  1172     RLbtServer lbtServ;
       
  1173     User::LeaveIfError(lbtServ.Connect());
       
  1174     CleanupClosePushL(lbtServ);
       
  1175 
       
  1176     RLbt lbt;
       
  1177     User::LeaveIfError(lbt.Open(lbtServ));
       
  1178     CleanupClosePushL(lbt);
       
  1179         
       
  1180     TRealX nan;
       
  1181     nan.SetNaN();
       
  1182         
       
  1183     TRealX myLatitude=61.5;
       
  1184     TRealX myLongitude= 24.3;   
       
  1185     TRealX myAltitude =0; 
       
  1186     TRealX myradius =10; 
       
  1187     TCoordinate centre(myLatitude,myLongitude)  ;     
       
  1188     //Define the triggering area
       
  1189         
       
  1190    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
  1191    						centre,100.1);
       
  1192    							
       
  1193    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
  1194    	trigArea->SetCenter(centre);
       
  1195    	trigArea->SetRadius(10);*/
       
  1196     CleanupStack::PushL( trigArea );
       
  1197 
       
  1198     //Construct trigger condition
       
  1199    /* CLbtTriggerConditionArea* cond = 
       
  1200         CLbtTriggerConditionArea::NewL( 
       
  1201         trigArea,
       
  1202         CLbtTriggerConditionArea::EFireOnEnter );*/
       
  1203         CLbtTriggerConditionArea* cond=CLbtTriggerConditionArea::NewL(); ;
       
  1204         
       
  1205     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
  1206     CleanupStack::PushL( cond );
       
  1207     
       
  1208     _LIT( KMyTriggerName, "Trigger name" );
       
  1209     _LIT( KMyRequestor , "Requestor" );
       
  1210    
       
  1211    	TUid aManagerUi;
       
  1212 	aManagerUi = TUid::Uid(0x87654321);
       
  1213     //Construct a startup trigger
       
  1214     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
  1215         KMyTriggerName,                             //Trigger name
       
  1216         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
  1217        
       
  1218         CRequestorBase::ERequestorService,          //Requestor type
       
  1219         CRequestorBase::EFormatApplication,         //Requestor format
       
  1220         KMyRequestor,                               //Requestor data
       
  1221         aManagerUi,				                      //Manager UI
       
  1222         cond                                       //Trigger condition
       
  1223         );     
       
  1224         
       
  1225         iLog->Log(_L("Session trigger entry created ")); 	                         
       
  1226         
       
  1227     //Pop trigger condition object
       
  1228     CleanupStack::Pop( cond );
       
  1229     
       
  1230     //Push trigger object to cleanup stack
       
  1231     CleanupStack::PushL( trig );
       
  1232 
       
  1233     //Create the trigger in Location Triggering Server
       
  1234     TLbtTriggerId trigId;
       
  1235     TRequestStatus status;
       
  1236     
       
  1237      CMyObserver *ao;
       
  1238 	ao = CMyObserver::NewL();
       
  1239 	CActiveSchedulerWait *schedulerwait;
       
  1240 	schedulerwait= new CActiveSchedulerWait;
       
  1241 	ao->GiveHandle(schedulerwait);	
       
  1242     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
  1243     
       
  1244     //iLog->Log(_L("Session trigger created ")); 
       
  1245     ao->MySetActive();
       
  1246    	schedulerwait->Start();  
       
  1247     
       
  1248     TInt errorflag=0;
       
  1249 	if(ao->iStatus == KErrArgument)
       
  1250 	{  
       
  1251          errorflag=1;
       
  1252 	}
       
  1253 	else
       
  1254 	{
       
  1255 		 errorflag=0;
       
  1256 	}
       
  1257     iLog->Log(_L("Session trigger created ")); 
       
  1258     
       
  1259     //Delete the instance of trigger object
       
  1260    CleanupStack::PopAndDestroy( trig );
       
  1261    
       
  1262     
       
  1263    /* User::WaitForRequest( status );
       
  1264     User::LeaveIfError( status.Int() );*/
       
  1265     
       
  1266     //Close connection to Location Triggering Server.
       
  1267         
       
  1268     lbt.Close();
       
  1269     CleanupStack::Pop(&lbt); 
       
  1270     //Close connection to RLbtServer
       
  1271     lbtServ.Close(); 
       
  1272     CleanupStack::PopAndDestroy(&lbtServ);  
       
  1273     if(errorflag ==1)
       
  1274     {
       
  1275     	return KErrNone;
       
  1276     }
       
  1277     else
       
  1278     {
       
  1279     	return -10;
       
  1280     }     
       
  1281     
       
  1282     }
       
  1283   
       
  1284   
       
  1285        // -----------------------------------------------------------------------------
       
  1286 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
  1287 // Testing the creation of single entry type session trigger.
       
  1288 // (other items were commented in a header).
       
  1289 // -----------------------------------------------------------------------------
       
  1290 //
       
  1291        
       
  1292     TInt CCreateSessiontrigger::CreateSessiontriggermanagerUINotFoundL( CStifItemParser& aItem )
       
  1293     {
       
  1294         //Connect to Location Triggering Server
       
  1295     RLbtServer lbtServ;
       
  1296     User::LeaveIfError(lbtServ.Connect());
       
  1297     CleanupClosePushL(lbtServ);
       
  1298 
       
  1299     RLbt lbt;
       
  1300     User::LeaveIfError(lbt.Open(lbtServ));
       
  1301     CleanupClosePushL(lbt);
       
  1302         
       
  1303     TRealX nan;
       
  1304     nan.SetNaN();
       
  1305         
       
  1306     TRealX myLatitude=61.5;
       
  1307     TRealX myLongitude= 24.3;   
       
  1308     TRealX myAltitude =0; 
       
  1309     TRealX myradius =200; 
       
  1310     TCoordinate centre(myLatitude,myLongitude)  ;     
       
  1311     //Define the triggering area
       
  1312         
       
  1313    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
  1314    						centre,200.1);
       
  1315    							
       
  1316    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
  1317    	trigArea->SetCenter(centre);
       
  1318    	trigArea->SetRadius(10);*/
       
  1319     CleanupStack::PushL( trigArea );
       
  1320 
       
  1321     //Construct trigger condition
       
  1322     CLbtTriggerConditionArea* cond = 
       
  1323         CLbtTriggerConditionArea::NewL( 
       
  1324         trigArea,
       
  1325         CLbtTriggerConditionArea::EFireOnEnter );
       
  1326         
       
  1327     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
  1328     CleanupStack::PushL( cond );
       
  1329     
       
  1330     _LIT( KMyTriggerName, "Trigger name" );
       
  1331     _LIT( KMyRequestor , "Requestor" );
       
  1332    
       
  1333    	TUid aManagerUi;
       
  1334 	aManagerUi = TUid::Uid(0x87654321);
       
  1335 	//aManagerUi=TUid::Null();
       
  1336     //Construct a startup trigger
       
  1337     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
  1338         KMyTriggerName,                             //Trigger name
       
  1339         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
  1340        
       
  1341         CRequestorBase::ERequestorService,          //Requestor type
       
  1342         CRequestorBase::EFormatApplication,         //Requestor format
       
  1343         KMyRequestor,                               //Requestor data
       
  1344         aManagerUi,				                      //Manager UI
       
  1345         cond                                       //Trigger condition
       
  1346         );     
       
  1347         
       
  1348         iLog->Log(_L("Session trigger entry created ")); 	                         
       
  1349         
       
  1350     //Pop trigger condition object
       
  1351     CleanupStack::Pop( cond );
       
  1352     
       
  1353     //Push trigger object to cleanup stack
       
  1354     CleanupStack::PushL( trig );
       
  1355 
       
  1356     //Create the trigger in Location Triggering Server
       
  1357     TLbtTriggerId trigId;
       
  1358     TRequestStatus status;
       
  1359     
       
  1360      CMyObserver *ao;
       
  1361 	ao = CMyObserver::NewL();
       
  1362 	CActiveSchedulerWait *schedulerwait;
       
  1363 	schedulerwait= new CActiveSchedulerWait;
       
  1364 	ao->GiveHandle(schedulerwait);	
       
  1365     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
  1366     
       
  1367     //iLog->Log(_L("Session trigger created ")); 
       
  1368     ao->MySetActive();
       
  1369    	schedulerwait->Start();  
       
  1370    	
       
  1371    	TInt err = ao->iStatus.Int();
       
  1372    	
       
  1373    	 //Delete the instance of trigger object
       
  1374    CleanupStack::PopAndDestroy( trig );
       
  1375    
       
  1376     
       
  1377    /* User::WaitForRequest( status );
       
  1378     User::LeaveIfError( status.Int() );*/
       
  1379     
       
  1380     //Close connection to Location Triggering Server.
       
  1381         
       
  1382     lbt.Close();
       
  1383     CleanupStack::Pop(&lbt); 
       
  1384     //Close connection to RLbtServer
       
  1385     lbtServ.Close(); 
       
  1386     CleanupStack::PopAndDestroy(&lbtServ);  
       
  1387         
       
  1388     return err;
       
  1389     }   
       
  1390     
       
  1391    // }
       
  1392   
       
  1393   
       
  1394          // -----------------------------------------------------------------------------
       
  1395 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
  1396 // Testing the creation of single entry type session trigger.
       
  1397 // (other items were commented in a header).
       
  1398 // -----------------------------------------------------------------------------
       
  1399 //
       
  1400        
       
  1401     TInt CCreateSessiontrigger::CreateSessiontriggerwithNonUIApplicationL( CStifItemParser& aItem )
       
  1402     {
       
  1403         //Connect to Location Triggering Server
       
  1404     RLbtServer lbtServ;
       
  1405     User::LeaveIfError(lbtServ.Connect());
       
  1406     CleanupClosePushL(lbtServ);
       
  1407 
       
  1408     RLbt lbt;
       
  1409     User::LeaveIfError(lbt.Open(lbtServ));
       
  1410     CleanupClosePushL(lbt);
       
  1411         
       
  1412     TRealX nan;
       
  1413     nan.SetNaN();
       
  1414         
       
  1415     TRealX myLatitude=61.5;
       
  1416     TRealX myLongitude= 24.3;   
       
  1417     TRealX myAltitude =0; 
       
  1418     TRealX myradius =10; 
       
  1419     TCoordinate centre(myLatitude,myLongitude)  ;     
       
  1420     //Define the triggering area
       
  1421         
       
  1422    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
  1423    						centre,100.1);
       
  1424    							
       
  1425    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
  1426    	trigArea->SetCenter(centre);
       
  1427    	trigArea->SetRadius(10);*/
       
  1428     CleanupStack::PushL( trigArea );
       
  1429 
       
  1430     //Construct trigger condition
       
  1431     CLbtTriggerConditionArea* cond = 
       
  1432         CLbtTriggerConditionArea::NewL( 
       
  1433         trigArea,
       
  1434         CLbtTriggerConditionArea::EFireOnEnter );
       
  1435         
       
  1436     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
  1437     CleanupStack::PushL( cond );
       
  1438     
       
  1439     _LIT( KMyTriggerName, "Trigger name" );
       
  1440     _LIT( KMyRequestor , "Requestor" );
       
  1441    
       
  1442    	TUid aManagerUi;
       
  1443 	aManagerUi = TUid::Uid(0x87654321);//Give server's uid
       
  1444 
       
  1445     //Construct a startup trigger
       
  1446     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
  1447         KMyTriggerName,                             //Trigger name
       
  1448         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
  1449        
       
  1450         CRequestorBase::ERequestorService,          //Requestor type
       
  1451         CRequestorBase::EFormatApplication,         //Requestor format
       
  1452         KMyRequestor,                               //Requestor data
       
  1453         aManagerUi,				                      //Manager UI
       
  1454         cond                                       //Trigger condition
       
  1455         );     
       
  1456         
       
  1457         iLog->Log(_L("Session trigger entry created ")); 	                         
       
  1458         
       
  1459     //Pop trigger condition object
       
  1460     CleanupStack::Pop( cond );
       
  1461     
       
  1462     //Push trigger object to cleanup stack
       
  1463     CleanupStack::PushL( trig );
       
  1464 
       
  1465     //Create the trigger in Location Triggering Server
       
  1466     TLbtTriggerId trigId;
       
  1467     TRequestStatus status;
       
  1468     
       
  1469      CMyObserver *ao;
       
  1470 	ao = CMyObserver::NewL();
       
  1471 	CActiveSchedulerWait *schedulerwait;
       
  1472 	schedulerwait= new CActiveSchedulerWait;
       
  1473 	ao->GiveHandle(schedulerwait);	
       
  1474     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
  1475     
       
  1476     //iLog->Log(_L("Session trigger created ")); 
       
  1477     ao->MySetActive();
       
  1478    	schedulerwait->Start();  
       
  1479     
       
  1480     iLog->Log(_L("Session trigger created ")); 
       
  1481     
       
  1482     //Delete the instance of trigger object
       
  1483    CleanupStack::PopAndDestroy( trig );
       
  1484    
       
  1485     
       
  1486     /*User::WaitForRequest( status );
       
  1487     User::LeaveIfError( status.Int() );*/
       
  1488     
       
  1489     //Close connection to Location Triggering Server.
       
  1490         
       
  1491     lbt.Close();
       
  1492     CleanupStack::Pop(&lbt); 
       
  1493     //Close connection to RLbtServer
       
  1494     lbtServ.Close(); 
       
  1495     CleanupStack::PopAndDestroy(&lbtServ);  
       
  1496     return KErrNone;
       
  1497     
       
  1498     }
       
  1499   
       
  1500   
       
  1501            // -----------------------------------------------------------------------------
       
  1502 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
  1503 // Testing the creation of single entry type session trigger.
       
  1504 // (other items were commented in a header).
       
  1505 // -----------------------------------------------------------------------------
       
  1506 //
       
  1507        
       
  1508     TInt CCreateSessiontrigger::CreateSessiontriggerwithoutRequestorL( CStifItemParser& aItem )
       
  1509     {
       
  1510         //Connect to Location Triggering Server
       
  1511     RLbtServer lbtServ;
       
  1512     User::LeaveIfError(lbtServ.Connect());
       
  1513     CleanupClosePushL(lbtServ);
       
  1514 
       
  1515     RLbt lbt;
       
  1516     User::LeaveIfError(lbt.Open(lbtServ));
       
  1517     CleanupClosePushL(lbt);
       
  1518         
       
  1519     TRealX nan;
       
  1520     nan.SetNaN();
       
  1521         
       
  1522     TRealX myLatitude=61.5;
       
  1523     TRealX myLongitude= 24.3;   
       
  1524     TRealX myAltitude =0; 
       
  1525     TRealX myradius =10; 
       
  1526     TCoordinate centre(myLatitude,myLongitude)  ;     
       
  1527     //Define the triggering area
       
  1528         
       
  1529    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
  1530    						centre,100.1);
       
  1531    							
       
  1532    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
  1533    	trigArea->SetCenter(centre);
       
  1534    	trigArea->SetRadius(10);*/
       
  1535     CleanupStack::PushL( trigArea );
       
  1536 
       
  1537     //Construct trigger condition
       
  1538     CLbtTriggerConditionArea* cond = 
       
  1539         CLbtTriggerConditionArea::NewL( 
       
  1540         trigArea,
       
  1541         CLbtTriggerConditionArea::EFireOnEnter );
       
  1542         
       
  1543     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
  1544     CleanupStack::PushL( cond );
       
  1545     
       
  1546     _LIT( KMyTriggerName, "Trigger name" );
       
  1547    // _LIT( KMyRequestor , "Requestor" );
       
  1548    
       
  1549    //	TUid aManagerUi;
       
  1550 	TUid aManagerUi = TUid::Uid(0x87654321);//Give server's uid
       
  1551 
       
  1552     //Construct a startup trigger
       
  1553     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL();
       
  1554      trig->SetNameL(KMyTriggerName);   
       
  1555      trig->SetCondition(cond);           
       
  1556         
       
  1557     //Pop trigger condition object
       
  1558     CleanupStack::Pop( cond );
       
  1559     
       
  1560     //Push trigger object to cleanup stack
       
  1561     CleanupStack::PushL( trig );
       
  1562 
       
  1563     //Create the trigger in Location Triggering Server
       
  1564     TLbtTriggerId trigId;
       
  1565     TRequestStatus status;
       
  1566     
       
  1567      CMyObserver *ao;
       
  1568 	ao = CMyObserver::NewL();
       
  1569 	CActiveSchedulerWait *schedulerwait;
       
  1570 	schedulerwait= new CActiveSchedulerWait;
       
  1571 	ao->GiveHandle(schedulerwait);	
       
  1572     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
  1573     
       
  1574     //iLog->Log(_L("Session trigger created ")); 
       
  1575     ao->MySetActive();
       
  1576    	schedulerwait->Start();  
       
  1577     
       
  1578      TInt errorflag=0;
       
  1579 	if(ao->iStatus == KErrAccessDenied)
       
  1580 	{  
       
  1581          errorflag=1;
       
  1582 	}
       
  1583 	else
       
  1584 	{
       
  1585 		 errorflag=0;
       
  1586 	}
       
  1587     iLog->Log(_L("Session trigger created ")); 
       
  1588     
       
  1589     //Delete the instance of trigger object
       
  1590    CleanupStack::PopAndDestroy( trig );
       
  1591    
       
  1592     
       
  1593     /*User::WaitForRequest( status );
       
  1594     User::LeaveIfError( status.Int() );*/
       
  1595     
       
  1596     //Close connection to Location Triggering Server.
       
  1597         
       
  1598     lbt.Close();
       
  1599     CleanupStack::Pop(&lbt); 
       
  1600     //Close connection to RLbtServer
       
  1601     lbtServ.Close(); 
       
  1602     CleanupStack::PopAndDestroy(&lbtServ);  
       
  1603     if(errorflag ==1)
       
  1604     {
       
  1605     	return KErrNone;
       
  1606     }
       
  1607     else
       
  1608     {
       
  1609     	return -10;
       
  1610     }     
       
  1611     
       
  1612     }
       
  1613   
       
  1614   
       
  1615   
       
  1616      // -----------------------------------------------------------------------------
       
  1617 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
  1618 // Testing the creation of single entry type session trigger.
       
  1619 // (other items were commented in a header).
       
  1620 // -----------------------------------------------------------------------------
       
  1621 //
       
  1622        
       
  1623     TInt CCreateSessiontrigger::ErrortriggerAreaToosmallL( CStifItemParser& aItem )
       
  1624     {
       
  1625         //Connect to Location Triggering Server
       
  1626     RLbtServer lbtServ;
       
  1627     User::LeaveIfError(lbtServ.Connect());
       
  1628     CleanupClosePushL(lbtServ);
       
  1629 
       
  1630     RLbt lbt;
       
  1631     User::LeaveIfError(lbt.Open(lbtServ));
       
  1632     CleanupClosePushL(lbt);
       
  1633         
       
  1634     TRealX nan;
       
  1635     nan.SetNaN();
       
  1636         
       
  1637     TRealX myLatitude=61.5;
       
  1638     TRealX myLongitude= 24.3;   
       
  1639     TRealX myAltitude =0; 
       
  1640     TRealX myradius =1; 
       
  1641     TCoordinate centre(myLatitude,myLongitude)  ;     
       
  1642     //Define the triggering area
       
  1643         
       
  1644    CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL( 
       
  1645    						centre,0.1);
       
  1646    							
       
  1647    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
  1648    	trigArea->SetCenter(centre);
       
  1649    	trigArea->SetRadius(10);*/
       
  1650     CleanupStack::PushL( trigArea );
       
  1651 
       
  1652     //Construct trigger condition
       
  1653     CLbtTriggerConditionArea* cond = 
       
  1654         CLbtTriggerConditionArea::NewL( 
       
  1655         trigArea,
       
  1656         CLbtTriggerConditionArea::EFireOnEnter );
       
  1657         
       
  1658     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
  1659     CleanupStack::PushL( cond );
       
  1660     
       
  1661     _LIT( KMyTriggerName, "Trigger name" );
       
  1662     _LIT( KMyRequestor , "Requestor" );
       
  1663    
       
  1664    	TUid aManagerUi;
       
  1665 	aManagerUi = TUid::Uid(0x87654321);
       
  1666     //Construct a startup trigger
       
  1667     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
  1668         KMyTriggerName,                             //Trigger name
       
  1669         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
  1670         CRequestorBase::ERequestorService,          //Requestor type
       
  1671         CRequestorBase::EFormatApplication,         //Requestor format
       
  1672         KMyRequestor,                               //Requestor data
       
  1673         aManagerUi,				                      //Manager UI
       
  1674         cond                                       //Trigger condition
       
  1675         );     
       
  1676         
       
  1677         iLog->Log(_L("Session trigger entry created ")); 	                         
       
  1678         
       
  1679     //Pop trigger condition object
       
  1680     CleanupStack::Pop( cond );
       
  1681     
       
  1682     //Push trigger object to cleanup stack
       
  1683     CleanupStack::PushL( trig );
       
  1684 
       
  1685     //Create the trigger in Location Triggering Server
       
  1686     TLbtTriggerId trigId;
       
  1687     TRequestStatus status;
       
  1688     
       
  1689      CMyObserver *ao;
       
  1690 	ao = CMyObserver::NewL();
       
  1691 	CActiveSchedulerWait *schedulerwait;
       
  1692 	schedulerwait= new CActiveSchedulerWait;
       
  1693 	ao->GiveHandle(schedulerwait);	
       
  1694     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
  1695     
       
  1696     //iLog->Log(_L("Session trigger created ")); 
       
  1697     ao->MySetActive();
       
  1698    	schedulerwait->Start();  
       
  1699     
       
  1700     TInt errorflag=0;
       
  1701 	if(ao->iStatus == KErrTriggerAreaTooSmall)
       
  1702 	{  
       
  1703          errorflag=1;
       
  1704 	}
       
  1705 	else
       
  1706 	{
       
  1707 		 errorflag=0;
       
  1708 	} 
       
  1709     iLog->Log(_L("Session trigger created ")); 
       
  1710     
       
  1711     //Delete the instance of trigger object
       
  1712    CleanupStack::PopAndDestroy( trig );
       
  1713    
       
  1714     
       
  1715    /* User::WaitForRequest( status );
       
  1716     User::LeaveIfError( status.Int() );*/
       
  1717     
       
  1718     //Close connection to Location Triggering Server.
       
  1719         
       
  1720     lbt.Close();
       
  1721     CleanupStack::Pop(&lbt); 
       
  1722     //Close connection to RLbtServer
       
  1723     lbtServ.Close(); 
       
  1724     CleanupStack::PopAndDestroy(&lbtServ);  
       
  1725     if(errorflag ==1)
       
  1726     {
       
  1727     	return KErrNone;
       
  1728     }
       
  1729     else
       
  1730     {
       
  1731     	return -10;
       
  1732     }   
       
  1733     
       
  1734     }
       
  1735   
       
  1736   
       
  1737    
       
  1738      // -----------------------------------------------------------------------------
       
  1739 // CCreateSessiontrigger::CreatesingleSessiontriggerL
       
  1740 // Testing the creation of single entry type session trigger.
       
  1741 // (other items were commented in a header).
       
  1742 // -----------------------------------------------------------------------------
       
  1743 //
       
  1744        
       
  1745     TInt CCreateSessiontrigger::ErrortriggerAreaRectangleL( CStifItemParser& aItem )
       
  1746     {
       
  1747         //Connect to Location Triggering Server
       
  1748     RLbtServer lbtServ;
       
  1749     User::LeaveIfError(lbtServ.Connect());
       
  1750     CleanupClosePushL(lbtServ);
       
  1751 
       
  1752     RLbt lbt;
       
  1753     User::LeaveIfError(lbt.Open(lbtServ));
       
  1754     CleanupClosePushL(lbt);
       
  1755         
       
  1756     TRealX nan;
       
  1757     nan.SetNaN();
       
  1758         
       
  1759     TRealX myLatitude=61.5;
       
  1760     TRealX myLongitude= 24.3;   
       
  1761     TRealX myAltitude =0; 
       
  1762     TRealX myradius =1; 
       
  1763     TCoordinate centre(myLatitude,myLongitude)  ;  
       
  1764     TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 6); 	   
       
  1765     //Define the triggering area
       
  1766         
       
  1767    CLbtGeoRect* trigArea = CLbtGeoRect::NewL(40,80,160,80);
       
  1768    							
       
  1769    /*	CLbtGeoCircle* trigArea = CLbtGeoCircle::NewL();
       
  1770    	trigArea->SetCenter(centre);
       
  1771    	trigArea->SetRadius(10);*/
       
  1772     CleanupStack::PushL( trigArea );
       
  1773 
       
  1774     //Construct trigger condition
       
  1775     CLbtTriggerConditionArea* cond = 
       
  1776         CLbtTriggerConditionArea::NewL( 
       
  1777         trigArea,
       
  1778         CLbtTriggerConditionArea::EFireOnEnter );
       
  1779         
       
  1780     CleanupStack::Pop( trigArea ); //ownership is transfered.
       
  1781     CleanupStack::PushL( cond );
       
  1782     
       
  1783     _LIT( KMyTriggerName, "Trigger name" );
       
  1784     _LIT( KMyRequestor , "Requestor" );
       
  1785    
       
  1786    	TUid aManagerUi;
       
  1787 	aManagerUi = TUid::Uid(0x87654321);
       
  1788     //Construct a startup trigger
       
  1789     CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL( 
       
  1790         KMyTriggerName,                             //Trigger name
       
  1791         CLbtTriggerEntry::EStateEnabled,       //Trigger state
       
  1792         CRequestorBase::ERequestorService,          //Requestor type
       
  1793         CRequestorBase::EFormatApplication,         //Requestor format
       
  1794         KMyRequestor,                               //Requestor data
       
  1795         aManagerUi,				                      //Manager UI
       
  1796         cond                                       //Trigger condition
       
  1797         );     
       
  1798         
       
  1799         iLog->Log(_L("Session trigger entry created ")); 	                         
       
  1800         
       
  1801     //Pop trigger condition object
       
  1802     CleanupStack::Pop( cond );
       
  1803     
       
  1804     //Push trigger object to cleanup stack
       
  1805     CleanupStack::PushL( trig );
       
  1806 
       
  1807     //Create the trigger in Location Triggering Server
       
  1808     TLbtTriggerId trigId;
       
  1809     TRequestStatus status;
       
  1810     
       
  1811      CMyObserver *ao;
       
  1812 	ao = CMyObserver::NewL();
       
  1813 	CActiveSchedulerWait *schedulerwait;
       
  1814 	schedulerwait= new CActiveSchedulerWait;
       
  1815 	ao->GiveHandle(schedulerwait);
       
  1816 	TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 6); 	
       
  1817     lbt.CreateTrigger( *trig, trigId, ETrue, ao->iStatus );
       
  1818     
       
  1819     //iLog->Log(_L("Session trigger created ")); 
       
  1820     ao->MySetActive();
       
  1821    	schedulerwait->Start();  
       
  1822     
       
  1823     TInt errorflag=0;
       
  1824 	if(ao->iStatus == KErrNotSupported)
       
  1825 	{  
       
  1826          errorflag=1;
       
  1827 	}
       
  1828 	else
       
  1829 	{
       
  1830 		 errorflag=0;
       
  1831 	}
       
  1832     iLog->Log(_L("Session trigger created ")); 
       
  1833     
       
  1834     //Delete the instance of trigger object
       
  1835    CleanupStack::PopAndDestroy( trig );
       
  1836    
       
  1837     
       
  1838    /* User::WaitForRequest( status );
       
  1839     User::LeaveIfError( status.Int() );*/
       
  1840     
       
  1841     //Close connection to Location Triggering Server.
       
  1842         
       
  1843     lbt.Close();
       
  1844     CleanupStack::Pop(&lbt); 
       
  1845     //Close connection to RLbtServer
       
  1846     lbtServ.Close(); 
       
  1847     CleanupStack::PopAndDestroy(&lbtServ);  
       
  1848     if(errorflag ==1)
       
  1849     {
       
  1850     	return KErrNone;
       
  1851     }
       
  1852     else
       
  1853     {
       
  1854     	return -10;
       
  1855     }     
       
  1856     
       
  1857     }
       
  1858   
       
  1859   
       
  1860   
       
  1861   
       
  1862 
       
  1863 // -----------------------------------------------------------------------------
       
  1864 // CCreateSessiontrigger::?member_function
       
  1865 // ?implementation_description
       
  1866 // (other items were commented in a header).
       
  1867 // -----------------------------------------------------------------------------
       
  1868 //
       
  1869 /*
       
  1870 TInt CCreateSessiontrigger::?member_function(
       
  1871    CItemParser& aItem )
       
  1872    {
       
  1873 
       
  1874    ?code
       
  1875 
       
  1876    }
       
  1877 */
       
  1878 
       
  1879 // ========================== OTHER EXPORTED FUNCTIONS =========================
       
  1880 // None
       
  1881 
       
  1882 //  End of File