locationtriggering/tsrc/lbtengine_test/Additionaltests/CreateTest/src/CreateTest.cpp
branchRCL_3
changeset 45 6b6920c56e2f
parent 44 2b4ea9893b66
equal deleted inserted replaced
44:2b4ea9893b66 45:6b6920c56e2f
    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 TInt createtriggerL();
    39 void 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 	 TInt id = KLbtNullTriggerId;
    48 	 TRAP_IGNORE(createtriggerL());
    49 	 TRAPD( error,id = createtriggerL() );
    49 	 RProcess::Rendezvous(KErrNone);
    50 	 if( error == KErrNone )
    50     return 0;
    51 	     RProcess::Rendezvous(id);
    51   }
    52 	 else
       
    53 	     RProcess::Rendezvous(KLbtNullTriggerId);
       
    54      return 0;
       
    55      }
       
    56   
    52   
    57   TInt createtriggerL()
    53   void createtriggerL()
    58   {
    54   {
    59   	RLbtServer lbtserver;
    55   	RLbtServer lbtserver;
    60  	 RLbt lbt;
    56  	 RLbt lbt;
    61  	 
    57  	 
    62  	 User::LeaveIfError( lbtserver.Connect() );
    58  	 User::LeaveIfError( lbtserver.Connect() );
   109     
   105     
   110     CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
   106     CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
   111         
   107         
   112     notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
   108     notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
   113     wait->Start( );	
   109     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 	
   114 
   130 
   115     CleanupStack::PopAndDestroy(4,&lbtserver);
   131 	User::LeaveIfError( property.Attach(KPSUidTriggerIdInfo, 
   116     return trigId;
   132 										KLbttesttriggerid) );
   117     }
   133 										
       
   134 	User::LeaveIfError( property.Set(KPSUidTriggerIdInfo, 
       
   135 									 KLbttesttriggerid, 
       
   136 									 trigId));
       
   137     CleanupStack::PopAndDestroy(5,&lbtserver);
       
   138 }