locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/inc/AsynOperationAO.h
changeset 0 667063e416a2
child 16 380473e13443
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/inc/AsynOperationAO.h	Tue Feb 02 01:06:48 2010 +0200
@@ -0,0 +1,193 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:    Test module to implement Cell based triggering test cases
+*
+*/
+
+
+
+
+
+#ifndef T_TRIGGERFIREOBSERVER_H
+#define T_TRIGGERFIREOBSERVER_H
+
+  //  INCLUDES
+
+  #include <lbtcommon.h>
+  #include <lbttriggerfiringeventobserver.h>
+  #include <lbttriggerfiringeventnotifier.h>
+  #include <lbtsessiontrigger.h>
+  #include <lbtstartuptrigger.h>
+  #include <lbttriggerentry.h>		
+	#include <lbtgeocell.h>
+	
+	#include "lbtcidchangenotifier.h"
+  // FORWARD DECLARATIONS
+  
+  class RLbt; 
+  class CLbtTriggerFiringEventNotifier;
+  class CLbtTriggerEntry;
+  class CLbtTriggerInfo;
+//  class CLBTOperation;
+  const TUid KPSUidTriggerIdInfo = { 0xA0000196 };  
+  const TUint32 KLbttesttriggerid = 0x00000001; 
+  
+  class CTriggerFireObserver: public CTimer,MLbtTriggerFiringEventObserver
+    
+    {
+    
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CTriggerFireObserver* NewL( RLbt& aLbt);
+
+        /**
+        * Destructor.
+        */
+        ~CTriggerFireObserver();
+        
+        
+        void TriggerFiredL( const TLbtTriggerFireInfo& aFireInfo );
+        
+        void StartNotification( CActiveSchedulerWait* aWait );
+        
+        void CancelNotification( );
+        
+        void CreateTrigger( );
+        
+        void CheckPositionInfoL( const TLbtTriggerFireInfo& aFireInfo );
+        
+               
+        void CreateTriggers( RLbt& aLbt,
+                             CLbtTriggerEntry& aEntry,
+                             TLbtTriggerId& aId,
+                             TBool aFireOnCreation,
+                             CActiveSchedulerWait* aWait
+                           );
+                           
+        void GetTriggersList(RLbt& aLbt, RPointerArray < CLbtTriggerInfo >& aTriggerList,
+           CActiveSchedulerWait* aWait ,CLbtListTriggerOptions* aListOptions=NULL) ;  
+       void ListTriggerIdsList(RLbt& aLbt, RArray < TLbtTriggerId >& aTriggerIdList,
+            CActiveSchedulerWait* aWait,CLbtListTriggerOptions* aListOptions=NULL);                          
+        void CreateIterator(RLbt& aLbt,CActiveSchedulerWait* aWait,CLbtListTriggerOptions* aListOptions=NULL);   
+        void CTriggerFireObserver::DeleteFilteredTriggers( RLbt& aLbt,CLbtTriggerFilterBase* aFilter,CActiveSchedulerWait* aWait ); 
+        TInt GetFireCount( ) ; 
+        TInt GetError( ) ; 
+        
+        TLbtTriggerFireInfo GetFiredTrigger( ) ; 
+        void UpdateTriggersState(RLbt& aLbt, CLbtTriggerEntry::TLbtTriggerState aState, 
+            CActiveSchedulerWait* aWait,CLbtTriggerFilterBase *  aFilter=NULL) ;
+        void UpdateTrigger(RLbt& aLbt,CLbtTriggerEntry& aTrigger,TLbtTriggerAttributeFieldsMask aFieldMask,CActiveSchedulerWait* aWait,
+                    TLbtFireOnUpdate aFireOnUpdate) ;       
+        void CTriggerFireObserver::PopulateFromCurrentCell(CLbtGeoCell& cell,CActiveSchedulerWait* aWait )  ;             
+        
+        void RunL( );
+        
+	    void DoCancel( );
+	    
+//	    CLBTOperation * CreateGeoAreaForCurrentLocationL(CLbtGeoAreaBase::TGeoAreaType aTechType,CLbtGeoAreaBase** aArea,CActiveSchedulerWait* aWait);
+	    
+
+	//	  RTimer iTimer;
+        TRequestStatus iWaitStatus;
+        TInt iTriggerFireCount ;  
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CTriggerFireObserver( );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL( RLbt& aLbt );
+        
+    private:
+    
+        CLbtTriggerFiringEventNotifier* iNotifier;
+        
+        CActiveSchedulerWait* iWait;  
+        
+        
+        TLbtTriggerFireInfo iFireInfo;
+        TInt error;     
+
+    };
+    
+    class CLbtEventObserver : public CTimer,MLbtCidChangeObsrvr
+    
+    {
+    
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CLbtEventObserver* NewL( RLbt& aLbt );
+
+              
+        /**
+        * Destructor.
+        */
+        ~CLbtEventObserver();
+        
+        
+       void CreateTriggers( RLbt& aLbt,
+                             CLbtTriggerEntry& aEntry,
+                             TLbtTriggerId& aId,
+                             TBool aFireOnCreation,
+                             CActiveSchedulerWait* aWait
+                           );
+       
+        
+        void NotifyTriggerChangeEvent( RLbt& aLbt,TLbtTriggerChangeEvent  &aEvent ,CActiveSchedulerWait* aWait )   ;
+        
+        void RunL( );
+        
+	    void DoCancel( );
+	    
+	    void HandleCIDChangeL(const CTelephony::TNetworkInfoV1 &aNwInfo);
+	    void StartCidNotification( CActiveSchedulerWait* aWait );
+
+
+    
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+    CLbtEventObserver(  );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL( RLbt& aLbt );
+        
+    private:
+    
+        CLbtCidChangeNotifier* iCidchangenotifier; 
+        CActiveSchedulerWait* iWait;
+        
+       
+       
+
+    };
+
+
+#endif      // T_TRIGGERFIREOBSERVER_H
+
+// End of File