locationtriggering/tsrc/lbtengine_test/Additionaltests/CreateTest/src/CreateTest.cpp
changeset 39 3efc7a0e8755
parent 0 667063e416a2
child 45 6b6920c56e2f
equal deleted inserted replaced
37:e175e2ba2fb0 39:3efc7a0e8755
    34 #include <lbttriggerdynamicinfo.h>
    34 #include <lbttriggerdynamicinfo.h>
    35 #include <lbttriggerentry.h>
    35 #include <lbttriggerentry.h>
    36 
    36 
    37 
    37 
    38 #include "t_triggerfireobserver.h"	 
    38 #include "t_triggerfireobserver.h"	 
    39 void createtriggerL();
    39 TInt createtriggerL();
    40 GLDEF_C	 TInt E32Main()
    40 GLDEF_C	 TInt E32Main()
    41 	 {
    41 	 {
    42 	 CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
    42 	 CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
    43 	 if (!CActiveScheduler::Current())
    43 	 if (!CActiveScheduler::Current())
    44 		{
    44 		{
    45 		   TRAP_IGNORE(CActiveScheduler* scheduler=new(ELeave) CActiveScheduler;CActiveScheduler::Install(scheduler););
    45 		   TRAP_IGNORE(CActiveScheduler* scheduler=new(ELeave) CActiveScheduler;CActiveScheduler::Install(scheduler););
    46 		   
    46 		   
    47 		}
    47 		}
    48 	 TRAP_IGNORE(createtriggerL());
    48 	 TInt id = KLbtNullTriggerId;
    49 	 RProcess::Rendezvous(KErrNone);
    49 	 TRAPD( error,id = createtriggerL() );
    50     return 0;
    50 	 if( error == KErrNone )
    51   }
    51 	     RProcess::Rendezvous(id);
       
    52 	 else
       
    53 	     RProcess::Rendezvous(KLbtNullTriggerId);
       
    54      return 0;
       
    55      }
    52   
    56   
    53   void createtriggerL()
    57   TInt createtriggerL()
    54   {
    58   {
    55   	RLbtServer lbtserver;
    59   	RLbtServer lbtserver;
    56  	 RLbt lbt;
    60  	 RLbt lbt;
    57  	 
    61  	 
    58  	 User::LeaveIfError( lbtserver.Connect() );
    62  	 User::LeaveIfError( lbtserver.Connect() );
   105     
   109     
   106     CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
   110     CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
   107         
   111         
   108     notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
   112     notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
   109     wait->Start( );	
   113     wait->Start( );	
   110     RProperty property;
       
   111 	CleanupClosePushL(property);
       
   112 	
       
   113 	//Allow all to ready from status information
       
   114 	_LIT_SECURITY_POLICY_PASS(EReadPolicyAlwaysPass);
       
   115 	//Delete the property if already exists
       
   116 	/*
       
   117 	 User::LeaveIfError(property.Delete(
       
   118         KPSUidTriggerIdInfo, 
       
   119         KLbttesttriggerid 
       
   120         ));*/
       
   121 	
       
   122 	// Read policy is always pass and write device data capability
       
   123 	// is required to write to the status information P&S key
       
   124 	property.Define(KPSUidTriggerIdInfo,
       
   125 									   KLbttesttriggerid,
       
   126 									   RProperty::EInt,
       
   127 									   EReadPolicyAlwaysPass,
       
   128 									   TSecurityPolicy(ECapabilityWriteDeviceData) );
       
   129 	
       
   130 
   114 
   131 	User::LeaveIfError( property.Attach(KPSUidTriggerIdInfo, 
   115     CleanupStack::PopAndDestroy(4,&lbtserver);
   132 										KLbttesttriggerid) );
   116     return trigId;
   133 										
   117     }
   134 	User::LeaveIfError( property.Set(KPSUidTriggerIdInfo, 
       
   135 									 KLbttesttriggerid, 
       
   136 									 trigId));
       
   137     CleanupStack::PopAndDestroy(5,&lbtserver);
       
   138 }