locationcentre/lcservice/inc/lcasyncoperation.h
branchRCL_3
changeset 16 4721bd00d3da
parent 14 3a25f69541ff
child 21 e15b7f06eba6
--- a/locationcentre/lcservice/inc/lcasyncoperation.h	Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
-* 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:  Handles all the Asynchronous operations with the Location
-*                Centre Client Session
-*
-*/
-
-
-#ifndef C_LCASYNCOPERATION_H
-#define C_LCASYNCOPERATION_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// USER INCLUDES
-#include "lclocationappfilter.h"
-
-// FORWARD DECLARATIONS
-class RLcClientSession;
-class CLcBasicAppInfo;
-class CLcLocationAppInfoArray;
-class TLcLocationAppFilter;
-class RLcClientSession;
-class CBufFlat;
-
-/**
- * Observer class to notify the completion of the Asynchronous operation
- * @lib lcservice.lib
- * @since v5.0
- */
-class MLcAsynOperationObserver
-	{
-public:
-	/**
-	 * Notification for the Completion of the Asynchronous operation.
-	 *
-	 * @param[in] aError Error code for the completion of the Asynchronous
-	 *                   Operation.
-	 */		
-	virtual void OperationComplete( TInt aError ) =0;
-	};
-	
-/**
- *  Handles all the Asynchronous operations to the Location Centre Server.
- *
- *  @lib lcservice.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CLcAsyncOperation ) : public CActive
-    {
-public:
-    /**
-     * Constructs a new instance of Location Centre interface.
-     *
-     * @param[in] aSession  Reference to the Location Centre Client Session.
-     * @param[in] aObserver Observer to notify the Completion of the Asynchronous
-     *                      Operation.
-     * @return The new instance of Location Centre interface object.
-     * @leave System wide error code if the object creation fails.         
-     */
-    static CLcAsyncOperation* NewL( RLcClientSession&  			aSession,
-    								MLcAsynOperationObserver&	aObserver );     
-
-    /**
-     * C++ Destructor.
-     * Frees all the resources associated with this Location Centre
-     * interface.
-     */
-    virtual ~CLcAsyncOperation();
-
-    /**
-     * Gets a filtered list of Location based Applications.
-     *
-     * @param[in] aLocationAppFilter	Filtering parameters.
-     * @param[in] CLcLocationAppInfoArray* Array of Location based Applications and
-     *                                  Contents/Services.
-     */
-    void GetLocationApplicationsL(
-                     const TLcLocationAppFilter&        aLocationAppFilter,
-                           CLcLocationAppInfoArray*&    aAppInfoArray );
-    /**
-     * Cancels an outstanding @ref GetLocationApplications request.
-     */
-    void CancelGetLocationApplications();
-                           
-private:
-    /**
-     * Default Constructor
-     */                               
-    CLcAsyncOperation( RLcClientSession&  		    aSession,
-    				   MLcAsynOperationObserver&	aObserver );
-
-	void ConstructL();
-	
-	/**
-	 * Issues a self request to this Active Object.
-	 */
-	void GetLengthL();
-	
-    /**
-     * Re-issues a request to the Location Centre Server. The request which will be re-issued
-     * will be the last request which was issued.
-     */
-    void ReIssueRequestL();	
-	    
-private: // Inherited from Base classes
-    /**
-     * Inherited from CActive
-     */
-    void RunL();
-    
-    /**
-     * Inherited from CActive
-     */
-    void DoCancel();
-    
-    /**
-     * Inherited from CActive
-     */
-    TInt RunError( TInt aError );
-    
-private: // Member Variables
-	/**
-	 * Class declaration for holding the Location Application Information
-	 * array.
-	 */
-	class TLcAppInfoContainer
-		{
-	public:
-		/**
-		 * Overloaded constructor which takes the reference of the
-		 * Application Information array.
-		 */
-		TLcAppInfoContainer( CLcLocationAppInfoArray*&    aAppInfoArray );
-		
-	public:
-		/**
-		 * Reference to the Application Information array.
-		 */
-		CLcLocationAppInfoArray*&    iAppInfoArray;	
-		};
-		
-    /**
-     * Enumeration for the State of Asynchronous operation
-     */
-    enum TASyncOperation
-        {
-        ELcNoOperation,
-        ELcGetAppLength,
-        ELcGetApp
-        };
-    
-    /**
-     * Reference to the Client session to the Location Centre Server.
-     */
-    RLcClientSession&           	iClientSession;
-    
-    /**
-     * Observer to notify the completion of the Asynchronous request.
-     */
-    MLcAsynOperationObserver&		iObserver;
-        
-    /**
-     * Current State of operation
-     */
-    TASyncOperation					iOperation;
-            
-    /** 
-     * Location Application filter for this Application.
-     */
-    TLcLocationAppFilter        	iAppFilter;
-    
-    /**
-     * Buffer for exchanging information with the Location Centre Server.
-     *
-     * Owns 
-     */
-    CBufFlat* 						iBuffer;
-    
-    /**
-     * Pointer to the above buffer
-     */
-    TPtr8							iBufferPtr;
-    
-    /**
-     * Place holder for the Location Centre Application Information
-     * Array.
-     */
-    TLcAppInfoContainer*			iAppInfoArrayContainer;
-    
-    /**
-     * IPC arguments
-     */
-    TIpcArgs						iIpcArgs;
-    
-    /**
-     * Package buffer containing the Application Filter options.
-     */
-    TPckg< TLcLocationAppFilter >*  iFilterBuffer;
-    };
-
-#endif // C_LCASYNCOPERATION_H