serviceproviders/sapi_location/locationservice/inc/locationcoreimp.h
changeset 22 fc9cf246af83
parent 19 989d2f495d90
child 33 50974a8b132e
--- a/serviceproviders/sapi_location/locationservice/inc/locationcoreimp.h	Fri Jul 03 15:51:24 2009 +0100
+++ b/serviceproviders/sapi_location/locationservice/inc/locationcoreimp.h	Thu Aug 27 07:43:07 2009 +0300
@@ -53,13 +53,15 @@
 	     * @param aRequestorInfoStack requestor indenty
 	     * @param aList List of position fields that should be retrived
 	     * @param aLocationInfoCategory information type required(Basic, Generic)
-	     *
+	     * @param aModuleId the unique id of the module which should be used to 
+	     *         open the subsession with location server
 	     */
 	    								
 		IMPORT_C static CGetLoc* NewL( RPositionServer &aPositionServer , 
 									   TPositionFieldIdList aList ,
 									   TInt aRequestType,
-									   TInt aLocationInfoCategory  ) ;		
+            TInt aLocationInfoCategory,
+            TPositionModuleId aModuleId) ;		
 
 	    /**
 	     * Destructor.
@@ -68,28 +70,18 @@
 
 
 
-	    /**
-	     * Gets users current location Asynchronously calls the users callback 
-	     * function when updates are recived from location server
-	     *
-	     * @param aCallBackObj callback object for updates notification
-	     * @param aUpdatesOptions update options for asynchronous calls
-	     *
-	     */ 
-	    TInt GetLocation( MLocationCallBack* aCallBackObj ,
-	    					  const TPositionUpdateOptions* aUpdateOptions =NULL );
+    /**
+     * Gets users current location Asynchronously calls the users callback 
+     * function when updates are recived from location server
+     * @param aLocationService pointer to the CLocationService class used in RunL
+     * @param aCallBackObj callback object for updates notification
+     * @param aUpdatesOptions update options for asynchronous calls
+     *
+     * @see TPositionUpdateOptions in LbsCommon.h for details
+     */ 
+    TInt GetLocationUpdates( CLocationService* aLocationService, MLocationCallBack* aCallBackObj ,
+            const TPositionUpdateOptions* aUpdateOptions = NULL );
 
-	    /**
-	     * Traces users location change
-	     * Any location change is informed to user via callback function
-	     *
-	     * @param aCallBackObj callback handle for async trace call 
-	     * @param aUpdateOptions updateoptions for trace call
-	     *
-	     * @see TPositionUpdateOptions in LbsCommon.h for details
-	     */
-	    TInt GetLocationUpdates( MLocationCallBack* aCallBackObj ,
-	    						 const TPositionUpdateOptions* aUpdateOptions = NULL );
 		
 		void SetStatusComplete()
 	    {
@@ -102,9 +94,14 @@
 	    	else
 	    		return true;
 	    }	    						 
-	    						 
-    						 
-    	
+    /*
+     * Returns the MLocationCallBack object pointer stored by this class
+     */
+
+    MLocationCallBack* GetCallBackobj() const
+    {
+    return iCallBack;  
+    }					 
     				 
     protected:  
 
@@ -117,11 +114,19 @@
 
 	    private:  
 
-	   /**
-		* By default Symbian 2nd phase constructor is private.
-		*/
-	     
-	    void ConstructL();
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     * @param aPositionServer subsession to location server
+     * @param aList List of position fields that should be retrived
+     * @param aRequestType The type of request serviced by this Active object(GetLocation,Trace)          
+     * @param aModuleId aModuleId the unique id of the module which should be used to 
+	   *         open the subsession with location server
+     */
+
+    void ConstructL(RPositionServer &aPositionServer ,
+            TPositionFieldIdList aList ,
+            TInt aRequestType,	            
+            TPositionModuleId aModuleId);
 	    /**
 	     * Default constructor
 	     */
@@ -165,6 +170,10 @@
 	    
 	    TInt iRequestStatus;      
 
+    /**
+     * Pointer to CLocationService used in RunL()
+     */
+    CLocationService* iLocationService;
 
     };