apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/inc/testpositioner.h
changeset 2 0cb2248d0edc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/inc/testpositioner.h	Thu Apr 22 17:15:08 2010 +0530
@@ -0,0 +1,335 @@
+/*
+* Copyright (c) 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 Class For RPositioner
+*
+*/
+
+
+#ifndef CTESTPOSITIONER_H
+#define CTESTPOSITIONER_H
+
+// System Includes
+#include <StifLogger.h>
+#include <StifParser.h>
+#include <StifTestModule.h>
+#include <e32base.h>
+#include <e32std.h>
+#include <bautils.h>
+#include <f32file.h>
+
+#include <lbs.h>
+#include <LbsPositionInfo.h>
+#include <LbsCommon.h>
+#include <LbsRequestor.h>
+#include <lbssatellite.h>
+#include <lbsclasstypes.h>
+#include <LbsCriteria.h>
+
+// Constants
+
+// CLASS DECLARATION
+/**
+ *  Test Class to invoke the RPositioner methods
+ *
+ *  This class is a helper class. The status variable of this active obect is 
+ *  used to provide the asynchronous method Calls.
+ *
+ *  @lib testlbslocacquisition.lib
+ *  @since S60 v3.2
+ */
+
+class CTestPositioner :public CActive,public RPositioner
+    {
+    public:  
+    	//Enumerators
+		enum TRequsted
+			{
+			/** GetLastKnownPosition Requested */
+			EGetLastKnownPosition		= 0,
+			/** GetPositionInfo Requested */
+			EPositionInfo	= 1,
+			/** No Requests */
+			ENone	= 2
+			};
+    
+    	// Constructors and destructor
+        /**
+        * C++ default constructor.
+        */
+        CTestPositioner(CStifLogger* aLog);
+
+        /**
+        * Destructor. 
+        */
+        ~CTestPositioner();
+
+    public:         
+        
+        //From CActive
+          void RunL();
+          void DoCancel();
+		  TInt RunError(TInt aError);          
+
+		  TInt CancelRequest();
+
+        // New functions  
+	    /**
+	     * Test Case for Connect to Position Sever 
+	     * This will test for Successful Connect
+	     *
+	     * @since S60 v3.2
+	     * Returns KErrNone if successful. 
+	     *
+	     */        
+		  TInt Connect();
+		  
+	    /**
+	     * Test Case for Disconnect to Position Sever 
+	     * This will test for Successful Disconnect
+	     *
+	     * @since S60 v3.2
+	     *
+	     */   		  
+		  void Disconnect();
+		  		  
+	    /**
+	     * Test Case for Resolving Which Open has to be called
+	     * for Opening Position Module 
+	     * This will redirect the call to Open Positioner method.
+	     *
+	     * @since S60 v3.2
+	     *
+	     */   	
+		  TInt OpenPositionerResolver(RPositionServer& aPosServer, CStifItemParser& aItem );
+	    
+	    /**
+	     * Test Case for Opening a Positioning Module 
+	     * This will test for Successful Open
+	     *
+	     * @since S60 v3.2
+	     * Returns KErrNone if successful. 
+	     *
+	     */ 		  
+		  TInt OpenPositioner(RPositionServer& aPosServer);
+
+	    /**
+	     * Test Case for Opening a Positioning Module by Id
+	     * This will test for Successful Open
+	     *
+	     * @since S60 v3.2
+	     * Returns KErrNone if successful. 
+	     *
+	     */		  
+		  TInt OpenPositionerById(RPositionServer& aPosServer, const TUid aPsyUid);
+
+	    /**
+	     * Test Case for Opening a Positioning Module by Id
+	     * This will test for Successful Open
+	     *
+	     * @since S60 v3.2
+	     * Returns KErrNone if successful. 
+	     *
+	     */	
+		  TInt OpenPositionerByCriteria(RPositionServer& aPosServer);
+
+	    /**
+	     * Test Case for Closing a Positioning Module 
+	     * This will test for Successful Disconnect
+	     *
+	     * @since S60 v3.2
+	     *
+	     */   		  
+		  void ClosePositioner();
+
+	    /**
+	     * Method to set the Request State(GetLastKnown/GetPositionInfo)
+	     * Helper method
+	     *
+	     * @since S60 v3.2
+	     *
+	     */  	  
+		  void SetRequestStateL( CStifItemParser& aItem );
+
+	    /**
+	     * Method for Closing Position Sever/Positioning Module 
+	     * This will test for Panic on Closing Position Sever/Positioning Module
+	     * while the request in Pending(Not Cancelled)
+	     *
+	     * @since S60 v3.2
+	     *
+	     */  	  
+		  void ClosePosServerPanic(TPositionInfoBase *aPosInfo);
+
+	    /**
+	     * Test Case for setting the Requestor 
+	     * This will test for Successful Set
+	     *
+	     * @since S60 v3.2
+	     *
+	     */		  
+		  TInt SetRequestor( TInt aType,
+		  	TInt aFormat,const TDesC &  aData );  
+		  	
+	    /**
+	     * Test Case for setting the Requestor Stack
+	     * This will test for Successful Set
+	     *
+	     * @since S60 v3.2
+	     *
+	     */	   
+		  TInt SetRequestorStackL( CStifItemParser& aItem );
+
+	    /**
+	     * Test Case for Setting Update Options 
+	     * This will test for Successful Setting of Update Options
+	     *
+	     * @since S60 v3.2
+	     *
+	     */		  
+		  TInt SetUpdateOp(TInt aInterval,TInt aTimeOut,TInt aAge);	
+		  
+	    /**
+	     * Test Case for Getting Update Options 
+	     * This will test for Successful Getting of Update Options
+	     *
+	     * @since S60 v3.2
+	     *
+	     */		  
+		  TInt GetUpdateOp(TInt aInterval,TInt aTimeOut,TInt aAge);	
+		  
+	    /**
+	     * Method for Resolving the call to Get Last Known Position 
+	     * This will redirect to correct Get Last Known Position method
+	     *
+	     * @since S60 v3.2
+	     *
+	     */	
+		  TInt GetLastKnownPostionResolverL( CStifItemParser& aItem );
+	    
+	    /**
+	     * Method for Getting the Last Known Position
+	     * This will fetch the Position Info from Cache
+	     *
+	     * @since S60 v3.2
+	     *
+	     */		  	  
+		  TInt GetLastKnownPostionL(TPositionInfoBase *aPosInfo);	   
+		  
+	    /**
+	     * Method for Resolving the call to Cancel 
+	     * Get Last Known Position 
+	     * This will redirect to correct Cancel method
+	     *
+	     * @since S60 v3.2
+	     *
+	     */	
+		  TInt GetLastKnownPostionCancelResolverL( CStifItemParser& aItem );
+	    
+	    /**
+	     *  
+	     * Method to Cancel the Get Last Known Position
+	     *
+	     * @since S60 v3.2
+	     *
+	     */		  	  
+		  TInt GetLastKnownPostionCancel(TPositionInfoBase *aPosInfo);
+		  
+	    /**
+	     * Method for Resolving the call to Get Position Info
+	     * This will redirect to correct Get Position Info method
+	     *
+	     * @since S60 v3.2
+	     *
+	     */	
+		  TInt GetPositionInfoResolverL( CStifItemParser& aItem );
+	    
+	    /**
+	     * Method to Get the Position Info from Positioning Module 
+	     * Gets the Notification on Successfull.
+	     *
+	     * @since S60 v3.2
+	     *
+	     */		  	  
+		  TInt GetPositionInfoL(TPositionInfoBase *aPosInfo);
+		 
+	    /**
+	     * Method to Handle Duplicate Panic 
+	     * on Get Position Info from Positioning Module 
+	     *
+	     * @since S60 v3.2
+	     *
+	     */		  	  
+		  void GetPositionInfoPanicDuplicate(TPositionInfoBase *aPosInfo); 	  
+		  	    
+	    /**
+	     * Method for Resolving the call to Cancel Get Position Info
+	     * This will redirect to correct Cancel method
+	     *
+	     * @since S60 v3.2
+	     *
+	     */	
+		  TInt GetPositionInfoCancelResolverL( CStifItemParser& aItem );
+	    
+	    /**
+	     * Method for Cancelling the Get Position Info Request
+	     *
+	     * @since S60 v3.2
+	     *
+	     */		  	  
+		  TInt GetPositionInfoCancelL(TPositionInfoBase *aPosInfo);
+		  
+	    /**
+	     * Method for Testing ExtendedInterface
+	     *
+	     * @since S60 v3.2
+	     *
+	     */	   
+		  TInt TestExtendedInterface();
+	
+	    /**
+	     * Utility Method to Delete the Cache
+	     *
+	     * @since S60 v3.2
+	     *
+	     */	
+		  TInt DeleteLastKnownPostionCacheL();
+		  		  	   
+    private:  //data
+	    /**
+	     * Session for Postion Server
+	     */     		 
+    	RPositionServer         iPosServer;
+	    /**
+	     * Sub Session for Postion Server
+	     */      	
+        RPositioner             iPositioner;  
+	    /**
+	     * Pointer to Stif Logger - Does not Own
+	     */           
+        CStifLogger* 			iLog;
+	    /**
+	     * ModuleEvent with Event on Request Complete
+	     */           
+		TPositionModuleStatusEvent iModuleEvent;
+		
+	    /**
+	     *  Requested Service
+	     */  
+		TRequsted iState;
+	        
+     };     
+
+#endif      // CTESTPOSITIONER_H
+
+// End of File