loc_plat/location_centre_api/inc/lcservice.h
branchRCL_3
changeset 16 4721bd00d3da
parent 14 3a25f69541ff
child 21 e15b7f06eba6
--- a/loc_plat/location_centre_api/inc/lcservice.h	Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,841 +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:  Location Centre API interface.
-*
-*/
-/**
- *  @file lcservice.h
- *
- *  This file provides the interface class to Location Centre. Using this interface
- *  the client application can operate upon components which have registered with
- *  Location Centre.
- *  The components which can register with Location Centre are of two types
- *  - Applications
- *  - Location based services / contents.
- *
- *  These Client Applications or Services/Contents which register with Location
- *  Centre will be called Location based Application henceforth.
- *
- *  @lib lcservice.lib
- *  @since S60 v5.0
- */
-
-#ifndef C_LCSERVICE_H
-#define C_LCSERVICE_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// USER INCLUDES
-#include "lclocationappinfo.h"
-
-// FORWARD DECLARATIONS
-class CLcServiceImpl;
-class MLcAppExitObserver;
-class MLcNotification;
-class TLcLocationAppFilter;
-
-/**
- *  @class CLcService
- *  Interface to Location Centre.
- *
- *  This class allows the Client application to incorporate Location Centre
- *  and Location Centre related functionalities into their application.
- *  The following are the functionalities exposed by this API.
- *
- *  - Get the list of Location based Applications registered with Location Centre.
- *
- *  - Launch Location Centre with a customized set of Location based Application.
- *
- *  - Launch a particular Location based Application.
- *
- *  - Register for notification of changes to the state of the Location
- *    based Applications.
- *
- *  In additon to the above functions, the user can also customize the list
- *  of Location based Applications using the @ref TLcLocationAppFilter filter.
- *
- *  Since, this class acts as a Client side interface to the Location Centre
- *  server, it is recommended that the Client application creates the
- *  instance of this class during its construction and delete it only on
- *  Exit.
- *  @lib lcservice.lib
- *  @since S60 v5.0
- */
-class CLcService : public CBase
-    {
-public:
-    /**
-     * @class CLcLaunchParam
-     * Contains additional parameters for customized Location Centre
-     * launching. It specifies the Location based Application that needs to be
-     * displayed in Location Centre and the mode of launching for each of
-     * these Location based Application when a User selects any of them. This
-     * array of these structures is to be passed as an input to the 
-     * overloaded @ref LaunchLocationCentreL function
-     */
-    class CLcLaunchParam : public CBase
-        {
-        public:
-            /**
-             * Constructs a new instance of Launch parameter object.
-             *
-             * @since S60 v5.0              
-             * @param[in] aAppId        Identifier for the Location based Application.
-             *                          The identifier string is copied.
-             * @param[in] aLaunchMode   Launch mode when the terminal user selects
-             *                          this Location based Application. The values
-             *                          which this parameter can assume is defined
-             *                          by the @ref CLcLocationAppInfo::TLcLaunchMode
-             *                          enumeration.
-             *                          If the user doesn't define a value for this
-             *                          parameter then @ref CLcLocationAppInfo::EDefaultMode
-             *                          is assumed. 
-             * @return The new instance of Launch parameter object.
-             * @leave System wide error code if the object creation fails.         
-             */        
-            IMPORT_C static CLcLaunchParam* NewL
-                ( const TDesC&     aAppId,
-                        CLcLocationAppInfo::TLcLaunchMode aLaunchMode = 
-                                                CLcLocationAppInfo::EDefaultMode );
-            
-            /**
-             * Constructs a new instance of Launch parameters object.
-             * Leaves the created instance on the cleanup stack.
-             *
-             * @since S60 v5.0             
-             * @param[in] aAppId        Identifier for the Location based Application.
-             *                          The identifier string is copied.             
-             * @param[in] aLaunchMode   Launch mode when the terminal user selects
-             *                          this Location based Application. The values
-             *                          which this parameter can assume is defined
-             *                          by the @ref CLcLocationAppInfo::TLcLaunchMode
-             *                          enumeration.
-             *                          If the user doesn't define a value for this
-             *                          parameter then @ref CLcLocationAppInfo::EDefaultMode
-             *                          is assumed. 
-             * @return The new instance of Launch parameter object.
-             * @leave System wide error code if the object creation fails.         
-             */                                                
-            IMPORT_C static CLcLaunchParam* NewLC
-                ( const TDesC&     aAppId,
-                        CLcLocationAppInfo::TLcLaunchMode aLaunchMode = 
-                                                CLcLocationAppInfo::EDefaultMode );
-                                                
-            /**
-             * Virtual Destructor
-             */
-            virtual ~CLcLaunchParam();
-                                                            
-       	public: // Non Exported Methods                 
-            /**
-             * @internal 
-             * Gets the Unique identifier identifying the Location Application.
-             * This identifier is defined by the Location Application on registration
-             * with Location Centre.
-             * This is the identifier that must be used by the client of this API for 
-             * any operation on the particular Location Application.
-             * A reference to the object's internal string is returned.     
-             *
-             * @since S60 v5.0     
-             * @return Unique identifier identifying the Location Application. If the
-             *         value of the identifier has not been set then a NULL string
-             *         is returned.
-             */                                   
-            TPtrC  Id() const;
-            
-            /**
-             * @internal
-             * Mode in which the Location Application would be launched. 
-             * If the mode defined is @ref CLcLocationAppInfo::EDefaultMode, then
-             * the default mode specified by the application when registering with
-             * Location Centre is used.
-             *
-             * @since S60 v5.0     
-             * @return Mode in which the Location Application would be launched.       
-             */            
-            CLcLocationAppInfo::TLcLaunchMode  LaunchMode() const;
-        
-        private:
-        	/**
-        	 * C++ Default Constructor
-        	 */
-        	CLcLaunchParam( CLcLocationAppInfo::TLcLaunchMode aLaunchMode );
-        	
-        	/**
-        	 * Second phase of the Symbian two phase construction.
-        	 */
-        	void ConstructL( const TDesC& 	aAppId );        	
-        	     
-        private:
-	        /**
-	         * System wide unique identifier identifying the Location based
-	         * Application. This identifier is defined by the Location based
-	         * Application on registration with Location Centre.
-	         * Owns
-	         */               
-	        HBufC*                               iId;
-	        
-	        /**
-	         * Mode in which the Location based Application would be launched. If
-	         * the mode defined is @ref CLcLocationAppInfo::EDefaultMode, then
-	         * the mode specified by the Location based Application when
-	         * registering with Location Centre is used.
-	         * If no value is specified for this paramter then it takes 
-	         * @ref CLcLocationAppInfo::EDefaultMode as its value.
-	         */            
-	        CLcLocationAppInfo::TLcLaunchMode     iLaunchMode;
-        
-        };
-
-public: // Exported Functions
-    /**
-     * Constructs a new instance of Location Centre interface.
-     *
-     * @return The new instance of Location Centre interface object.
-     * @leave System wide error code if the object creation fails.         
-     */
-    IMPORT_C static CLcService* NewL();
-    
-    /**
-     * Constructs a new instance of Location Centre interface.
-     * Leaves the created instance on the cleanup stack.
-     *
-     * @return The new instance of Location Centre interface object.
-     * @leave System wide error code if the object creation fails.         
-     */
-    IMPORT_C static CLcService* NewLC();        
-
-    /**
-     * C++ Destructor.
-     * Frees all the resources associated with this Location Centre
-     * interface.
-     */
-    virtual ~CLcService();
-
-    /**
-     * Launches Location Centre as a pop-up dialog with a list of
-     * Location based Application.
-     *
-     * All Location based Applications which can be launched in the
-     * specified mode are displayed in the Location Centre pop-up
-     * dialog. The user can select any of the Location based
-     * Applications displayed in the pop-up list and the
-     * corresponding Location based Application would be launched
-     * in the specified launching mode.
-     *
-     * @since S60 v5.0      
-     * @param [in] aLaunchMode Mode in which the the Location based
-     *                         Applications displayed in the pop-up
-     *                         must be launched. The default mode for
-     *                         launching is the mode in which the
-     *                         corresponding Location based Application 
-     *                         has registered with Location Centre.       
-     * @param[in] aChainedAppExitObserver Observer for notifications of
-     *                                    chained application termination
-     *                                    incase, the user launches any
-     *                                    Location based Application from the
-     *                                    pop-up in the chained mode. If
-     *                                    the user doesn't specify any value
-     *                                    for the observer then no callback
-     *                                    would be given on chained
-     *                                    application termination.
-     * @leave KErrInUse - If there is an outstanding request present on Location Centre.     
-     * @leave KErrNotFound - If no Location based Applications were found
-     *                       with the required configuration.
-     * @leave KErrNotSupported - If Location Centre cannot be launched. This
-     *                           generally occurs when the Client application
-     *                           does not have a UI context.
-     * @leave KErrServerTerminated - If the Location Centre server terminates
-     *                               prematurely. In this case, all future
-     *                               requests to Location Centre would also
-     *                               fail with the same error code.
-     * @leave System wide error code if the operation fails due to some other
-     *        reason.
-     */                        
-    IMPORT_C void LaunchLocationCentreL(
-        CLcLocationAppInfo::TLcLaunchMode   aLaunchMode = CLcLocationAppInfo::EDefaultMode,
-        MLcAppExitObserver*                 aChainedAppExitObserver = NULL );
-                    
-    /**
-     * Launches Location Centre as a pop-up dialog with a filtered list of
-     * Location based Application.
-     *
-     * The Client application can configure Location Centre to display 
-     * only a subset of Location based Applications. This can be achieved
-     * by passing an object of type @ref TLcLocationAppFilter as the
-     * parameter to this function. Only those Location based Applications
-     * which satisfy the filter conditions and can be launched in the 
-     * specified mode are displayed in Location Centre. 
-     * The user can select any of the Location based Applications displayed
-     * in the pop-up list and the  Location based Application would be
-     * launched in the specified launching mode.
-     *
-     * The ownership of the filter is not transferred to Location Centre.        
-     *
-     * @since S60 v5.0      
-     * @param[in] aLocationAppFilter Filter that needs to be applied 
-     *                               to customize the list of Location
-     *                               based Applications to be displayed in
-     *                               Location Centre.
-     * @param [in] aLaunchMode Mode in which the the Location based
-     *                         Applications displayed in the pop-up
-     *                         must be launched. The default mode for
-     *                         launching is the mode in which the
-     *                         corresponding Location based application has
-     *                         registered with Location Centre.         
-     * @param[in] aChainedAppExitObserver Observer for notifications of
-     *                                    chained application termination
-     *                                    incase, the user launches any
-     *                                    Location based Application from the
-     *                                    pop-up in the chained mode. Incase,
-     *                                    the user doesn't specify any value
-     *                                    for the observer then no callback
-     *                                    would be given on ahained
-     *                                    application termination.
-     * @leave KErrInUse - If there is an outstanding request present on Location Centre.     
-     * @leave KErrNotFound - If no Location based Applications were found
-     *                       with the required configuration.
-     * @leave KErrNotSupported - If Location Centre cannot be launched. This
-     *                           generally occurs when the Client application
-     *                           does not have a UI context.
-     * @leave KErrServerTerminated - If the Location Centre server terminates
-     *                               prematurely. In this case, all future
-     *                               requests to Location Centre would also
-     *                               fail with the same error code.     
-     * @leave System wide error code if the operation fails due to some other
-     *        reason.
-     */                        
-    IMPORT_C void LaunchLocationCentreL( 
-        const TLcLocationAppFilter&         aLocationAppFilter,
-        CLcLocationAppInfo::TLcLaunchMode   aLaunchMode = CLcLocationAppInfo::EDefaultMode,
-        MLcAppExitObserver*                 aChainedAppExitObserver = NULL );
-                            
-    /**
-     * Launches Location Centre with the specified array of Location
-     * based Applications in a pop-up dialog.
-     *
-     * The items of the array are first validated for their registration
-     * with Location Centre and only those Location based Applications which are
-     * registered with Location Centre and which can be launched in the
-     * specified launch mode are displayed.
-     * The user can select any of the Location based Application displayed in the 
-     * pop-up list and the corresponding Location based Application would be opened
-     * the mode defined in the corresponding @ref TLcLaunchParam
-     * object.
-     *
-     * The ownership of the specified array is not tranferred to Location
-     * Centre.
-     *
-     * @since S60 v5.0         
-     * @param[in] aIncludeAppArray  Array of Location based Applications which
-     *                              are to be displayed in Location Centre.
-     * @param[in] aChainedAppExitObserver Observer for notifications of
-     *                                    chained application termination
-     *                                    incase, the user launches any
-     *                                    Location based Application from the
-     *                                    pop-up in the chained mode. Incase,
-     *                                    the user doesn't specify any value
-     *                                    for the observer then no callback
-     *                                    would be given on chained
-     *                                    application termination.
-     * @leave KErrInUse - If there is an outstanding request present on Location Centre.     
-     * @leave KErrNotFound - If none of the specified Location based
-     *                       Applications were found registered with 
-     *                       Location Centre.
-     * @leave KErrNotSupported - If Location Centre cannot be launched. This
-     *                           generally occurs when the Client application
-     *                           does not have a UI context.
-     * @leave KErrServerTerminated - If the Location Centre server terminates
-     *                               prematurely. In this case, all future
-     *                               requests to Location Centre would also
-     *                               fail with the same error code.     
-     * @leave System wide error code if the operation fails due to some other
-     *        reason.
-     */                        
-    IMPORT_C void LaunchLocationCentreL(
-                  const RPointerArray<CLcLaunchParam>& aIncludeAppArray,
-                  MLcAppExitObserver*                  aChainedAppExitObserver = NULL );
-  
-    /**
-     * Launches Location Centre without the specified array of
-     * Location based Applications in a pop-up dialog.
-     *
-     * Only those Location based Applications which are not a part of the
-     * specified array and which can be launched in the specified mode
-     * are displayed in Location Centre. 
-     * The user can select any of the Location based Application displayed in the 
-     * pop-up list and the corresponding Location based Application would be opened
-     * the mode defined in the specified mode.
-     *
-     * The ownership of the specified array is not tranferred to Location
-     * Centre.
-     *
-     * @since S60 v5.0     
-     * @param[in] aExcludeAppArray Array of identifiers of Location based
-     *                             Application which are not to be displayed
-     *                             in Location Centre.
-     *                             These identifiers are to be defined by the
-     *                             Location based Application on registration with
-     *                             Location Centre.
-     * @param [in] aLaunchMode Mode in which the all the Location
-     *                         applications displayed in the pop-up
-     *                         must be launched. The default mode for
-     *                         launching is the mode in which the
-     *                         corresponding application has registered
-     *                         with Location Centre.         
-     * @param[in] aChainedAppExitObserver Observer for notifications of
-     *                                    chained application termination
-     *                                    incase, the user launches any
-     *                                    Location based Application from the
-     *                                    pop-up in the chained mode. Incase,
-     *                                    the user doesn't specify any value
-     *                                    for the observer then no callback
-     *                                    would be given on chained
-     *                                    application termination.
-     * @leave KErrInUse - If there is an outstanding request present on Location Centre.     
-     * @leave KErrNotFound - If no Location based Applications were found
-     *                       with the required configuration.
-     * @leave KErrNotSupported - If Location Centre cannot be launched. This
-     *                           generally occurs when the Client application
-     *                           does not have a UI context.
-     * @leave KErrServerTerminated - If the Location Centre server terminates
-     *                               prematurely. In this case, all future
-     *                               requests to Location Centre would also
-     *                               fail with the same error code.        
-     * @leave System wide error code if the operation fails due to some other
-     *        reason.
-     */                        
-    IMPORT_C void LaunchLocationCentreL(
-        const RArray<TPtrC>&              aExcludeAppArray,
-        CLcLocationAppInfo::TLcLaunchMode aLaunchMode = CLcLocationAppInfo::EDefaultMode,
-        MLcAppExitObserver*               aChainedAppExitObserver = NULL );
- 
-    /**
-     * Launches Location Centre as a pop-up dialog with a list of
-     * Location based Applications and the user can select a Location
-     * based Application from the pop-up list displayed.
-     * 
-     * @since S60 v5.0
-     * @return If the terminal User has selected a Location based Application,
-     *         Unique identifier identifying the Location based Application
-     *         which was selected.
-     *         NULL string incase the terminal User cancelled the pop-up dialog.
-     *         The string returned is a reference to this object's internal string. Hence,
-     *         the Client Application must copy the string if it expects to retain
-     *         it.
-     * @leave KErrInUse - If there is an outstanding request present on Location Centre.     
-     * @leave KErrNotFound - If no Location based Applications were found.
-     * @leave KErrNotSupported - If Location Centre cannot be launched. This
-     *                           generally occurs when the Client application
-     *                           does not have a UI context.
-     * @leave KErrServerTerminated - If the Location Centre server terminates
-     *                               prematurely. In this case, all future
-     *                               requests to Location Centre would also
-     *                               fail with the same error code.    
-     * @leave System wide error code if the operation fails due to some other
-     *        reason.
-     */     
-    IMPORT_C TPtrC SelectLocationApplicationL();
- 
-     /**
-     * Launches Location Centre as a pop-up dialog with a filtered list of
-     * Location based Applications and the user can select a Location
-     * based Application from the pop-up list displayed.
-     * 
-     * The Client application can configure Location Centre to display 
-     * only a subset of Location based Applications. This can be achieved
-     * by passing an object of type @ref TLcLocationAppFilter as the
-     * parameter to this function. Only those Location based Applications
-     * which satisfy the filter conditions are displayed in Location Centre. 
-     * The user can select any of the Location based Applications displayed
-     * in the pop-up list and the identifier corresponding to the selected
-     * Location based Application would be returned back to the user.
-     *
-     * The ownership of the filter is not transferred to Location Centre.   
-     *     
-     * @since S60 v5.0
-     * @param[in] aLocationAppFilter Filter that needs to be applied 
-     *                               to customize the list of Location
-     *                               based Applications to be displayed in
-     *                               Location Centre.     
-     * @return If the terminal User has selected a Location based Application,
-     *         Unique identifier identifying the Location based Application
-     *         which was selected.
-     *         NULL string incase the terminal User cancelled the pop-up dialog.
-     *         The string returned is a reference to this object's internal string. Hence,
-     *         the Client Application must copy the string if it expects to retain
-     *         it.     
-     * @leave KErrInUse - If there is an outstanding request present on Location Centre.     
-     * @leave KErrNotFound - If no Location based Applications were found.
-     * @leave KErrNotSupported - If Location Centre cannot be launched. This
-     *                           generally occurs when the Client application
-     *                           does not have a UI context.
-     * @leave KErrServerTerminated - If the Location Centre server terminates
-     *                               prematurely. In this case, all future requests
-     *                               to Location Centre would also fail with
-     *                               the same error code.    
-     * @leave System wide error code if the operation fails due to some other
-     *        reason.
-     */     
-    IMPORT_C TPtrC SelectLocationApplicationL( 
-                const TLcLocationAppFilter&         aLocationAppFilter );
-       
-    /**
-     * Launches Location Centre with based Applications in a pop-up
-     * dialog and the user can select a Location based Application
-     * from the pop-up list displayed.
-     *
-     * The Client application can configure Location Centre to either
-     * display only those Location based Applications specified in
-     * the array or to display all Location based Applications other
-     * than those specified in the array.
-     * The user can select any of the Location based Application displayed
-     * in the pop-up list and the identifier corresponding to the selected
-     * Location based Application would be returned back to the user.
-     *
-     * The ownership of the specified array is not tranferred to Location
-     * Centre.
-     *
-     * @since S60 v5.0         
-     * @param[in] aArray  Array of Location based Applications which
-     *                    are to be displayed in Location Centre.
-     * @param[in] aIncludeFlag If the flag value is
-     *                         - ETrue, then only those Location based
-     *                           Applications specified in the array would
-     *                           be displayed in Location Centre.
-     *                         - EFalse, then all Location based Applications
-     *                           other than those specified in the array
-     *                           would be displayed in Location Centre.
-     * @return If the terminal User has selected a Location based Application,
-     *         Unique identifier identifying the Location based Application
-     *         which was selected.
-     *         The string returned is a reference to this object's internal string. Hence,
-     *         the Client Application must copy the string if it expects to retain
-     *         it.     
-     *         NULL string incase the terminal User cancelled the pop-up dialog.
-     * @leave KErrInUse - If there is an outstanding request present on Location Centre.     
-     * @leave KErrNotFound - If none of the specified Location based
-     *                       Applications were found registered with 
-     *                       Location Centre.
-     * @leave KErrNotSupported - If Location Centre cannot be launched. This
-     *                           generally occurs when the Client application
-     *                           does not have a UI context.
-     * @leave KErrServerTerminated - If the Location Centre server terminates
-     *                               prematurely. In this case, all future
-     *                               requests to Location Centre would also
-     *                               fail with the same error code.         
-     * @leave System wide error code if the operation fails due to some other
-     *        reason.
-     */                        
-    IMPORT_C TPtrC SelectLocationApplicationL(
-                  const RArray<TPtrC>&      aAppArray,
-                  TBool                     aIncludeFlag );
-
-    /**
-     * Gets a list of all Location based Applications.
-     *
-     * This function returns a list of all Location based Applications 
-     * to the caller. 
-     *
-     * The ownership of the list of Location based Applications is
-     * transferred to the caller.
-     *       
-     * @since S60 v5.0     
-     * @param[in] aLocationAppFilter Filter that needs to be applied 
-     *                               to customize the list of Location
-     *                               Applications to be retrieved from
-     *                               Location Centre.
-     * @return CLcLocationAppInfoArray object containing a list
-     *         of applications registered with Location Centre.
-     * @leave KErrNotFound, If there are no Location based Applications
-     *                      available.
-     * @leave KErrInUse - If there is an outstanding request present on Location Centre.     
-     * @leave KErrServerTerminated - If the Location Centre server terminates
-     *                               prematurely. In this case, all future
-     *                               requests to Location Centre would also
-     *                               fail with the same error code.    
-     * @leave System wide error code if the array retrieval fails for
-     *        any other reason. 
-     */
-    IMPORT_C  CLcLocationAppInfoArray* GetLocationApplicationsL();
-    
-    /**
-     * Gets a list of all Location based Applications.
-     *
-     * This is an asynchronous version and at any instant of time there
-     * can be only one such request outstanding.
-     *
-     * The ownership of the list of Location based Applications is
-     * transferred to the caller.     
-     * 
-     * @since S60 v5.0     
-     * @param[out] aStatus Status variable on which the completion of the 
-     *                     request would be communicated. The following
-     *                     are the values which the variable can assume
-     *                     on completion of the request.
-     *                     Since, the CLcService class will use its internal
-     *                     Active object for interacting with the Location
-     *                     Centre server and not this aStatus directly, the
-     *                     Client application must not use User::WaitforRequest
-     *                     on this status variable.
-     *                     - KErrNone, If the list of applications was
-     *                                 successfully retrieved.
-     *                     - KErrInUse, If there is an outstanding
-     *                                  request present on Location Centre.
-     *                     - KErrNotFound, If there are no Location
-     *                                  based Applications available.
-     *                     - KErrCancel, If an outstanding request is
-     *                                  Cancelled.
-     *                     - KErrServerTerminated - If the Location Centre
-     *                                   server terminates prematurely. In this
-     *                                   case, all future requests to Location
-     *                                   Centre would also fail with the same
-     *                                   error code.    
-     *                     - System wide error code if the array retrieval
-     *                       fails for any other reason.
-     * @param[out] aAppInfoArray Reference to the pointer of Application
-     *                           information array. This pointer would be
-     *                           updated with the @ref CLcLocationAppInfoArray
-     *                           object containing a list of applications
-     *                           registered with Location Centre on the
-     *                           asynchronous completion of this function.   
-     */
-    IMPORT_C  void GetLocationApplications( 
-                            TRequestStatus&             aStatus,
-                            CLcLocationAppInfoArray*&   aAppInfoArray );
- 
-     /**
-     * Gets a filtered list of Location based Applications.
-     *
-     * The Client application can configure the list of Location based
-     * Applications returned. This can be achieved by passing an object
-     * of type @ref TLcLocationAppFilter as the parameter to this function.
-     *
-     * The ownership of the filter is not transferred to Location Centre.
-     *   
-     * The ownership of the list of Location based Applications is
-     * transferred to the caller.
-     *       
-     * @since S60 v5.0     
-     * @param[in] aLocationAppFilter Filter that needs to be applied 
-     *                               to customize the list of Location
-     *                               Applications to be retrieved from
-     *                               Location Centre.
-     * @return CLcLocationAppInfoArray object containing a list
-     *         of applications registered with Location Centre.
-     * @leave KErrNotFound If there are no Location based Applications
-     *                     corresponding to the filter paramter.    
-     * @leave KErrServerTerminated - If the Location Centre server terminates
-     *                               prematurely. In this case, all future
-     *                               requests to Location Centre would also
-     *                               fail with the same error code.      
-     * @leave System wide error code if the array retrieval fails for
-     *        any other reason. 
-     */
-    IMPORT_C  CLcLocationAppInfoArray* GetLocationApplicationsL(
-                     const TLcLocationAppFilter&         aLocationAppFilter );
-    
-    /**
-     * Gets a filted list of Location based Applications.
-     *
-     * The Client application can configure the list of Location based
-     * Applications returned. This can be achieved by passing an object
-     * of type @ref TLcLocationAppFilter as the parameter to this function.     
-     * This is an asynchronous version and at any instant of time there
-     * can be only one such request outstanding.
-     *
-     * The ownership of the filter is not transferred to Location Centre.
-     *     
-     * The ownership of the list of Location based Applications is
-     * transferred to the caller.     
-     * 
-     * @since S60 v5.0     
-     * @param[out] aStatus Status variable on which the completion of the 
-     *                     request would be communicated. The following
-     *                     are the values which the variable can assume
-     *                     on completion of the request.
-     *                     Since, the CLcService class will use its internal
-     *                     Active object for interacting with the Location
-     *                     Centre server and not this aStatus directly, the
-     *                     Client application must not use User::WaitforRequest
-     *                     on this status variable.     
-     *                     - KErrNone, If the list of applications was
-     *                                 successfully retrieved.
-     *                     - KErrInUse, If there is an outstanding
-     *                                  request present.
-     *                     - KErrCancel, If an outstanding request is
-     *                                  Cancelled.
-     *                     - KErrServerTerminated - If the Location Centre
-     *                                   server terminates prematurely. In 
-     *                                   this case, all future requests to
-     *                                   Location Centre would also fail with
-     *                                   the same error code.    
-     *                     - System wide error code if the array retrieval
-     *                       fails for any other reason.
-     * @param[in] aLocationAppFilter Filter that needs to be applied 
-     *                               to customize the list of Location
-     *                               Applications to be retrieved from
-     *                               Location Centre.     
-     * @param[out] aAppInfoArray Reference to the pointer of Application
-     *                           information array. This pointer would be
-     *                           updated with the @ref CLcLocationAppInfoArray
-     *                           object containing a list of applications
-     *                           registered with Location Centre on the
-     *                           asynchronous completion of this function.   
-     */
-    IMPORT_C  void GetLocationApplications( 
-                            TRequestStatus&             aStatus,
-                      const TLcLocationAppFilter&       aLocationAppFilter,
-                            CLcLocationAppInfoArray*&   aAppInfoArray );
-    
-    /**
-     * Cancels an outstanding @ref GetLocationApplications request.
-     */
-    IMPORT_C void CancelGetLocationApplications();
-    
-    /**
-     * Launches a Location based Application in the desired mode. 
-     * 
-     * The identifier passed to te function is first validated for 
-     * existence and registration with Location Centre. Incase, the 
-     * Location based Application exists and its has already registered with
-     * Location Centre, then the function launches the Location
-     * Application in the desired mode.
-     *
-     * @since S60 v5.0     
-     * @param[in] aAppIdentifier Unique identifier identifying the 
-     *                           Location based Application.
-     * @param [in] aLaunchMode Mode in which the all the Location based
-     *                         Applications displayed in the pop-up
-     *                         must be launched. The default mode for
-     *                         launching is the mode in which the
-     *                         corresponding Location based Application
-     *                         has registered with Location Centre.         
-     * @param[in] aChainedAppExitObserver Observer for notifications of
-     *                                    chained application termination
-     *                                    incase, the user launches any
-     *                                    Location based Application from the
-     *                                    pop-up in the chained mode. Incase,
-     *                                    the user doesn't specify any value
-     *                                    for the observer then no callback
-     *                                    would be given on chained
-     *                                    application termination. If a value
-     *                                    is specified for the observer for
-     *                                    Stand alone lauunching then the
-     *                                    Observer value would be ignored.        
-     * @leave KErrNotFound, If there is no Location based Application
-     *                      corresponding to the identifer or if the Location
-     *                      based Application cannot be launched in the
-     *                      specified mode.
-     * @leave KErrInUse - If there is an outstanding request present on Location
-     *                    Centre.     
-     * @leave KErrServerTerminated - If the Location Centre server terminates
-     *                               prematurely. In this case, all future
-     *                               requests to Location Centre would also fail
-     *                               with the same error code.    
-     * @leave System wide error code if the operation fails for any other
-     *        reason.
-     */
-    IMPORT_C void LaunchLocationApplicationL( 
-                const TDesC&                      aAppIdentifier,
-                CLcLocationAppInfo::TLcLaunchMode aLaunchMode = CLcLocationAppInfo::EDefaultMode,
-                MLcAppExitObserver*               aChainedAppExitObserver = NULL );
- 
-    /**
-     * Sets an observer for notifying changes to the Location Centre server.
-     * 
-     * The notification can occur under the following conditions
-     * - When a new Location based Application registers into Location Centre.
-     * In this case, the Location based Application would be immediately available
-     * for all Location Centre operations.
-     * - When an already registered Location based Application de-registers.
-     * In this case, the Location based Application will be removed from Location
-     * Centre. Hence, it would not be available for any further Location Centre
-     * operations.
-     * - When a Location based Application is present on a removable media
-     * (like Memory card) and the media is removed. In this case, for all practical
-     * purposes the Location based Application behaves as in the previous context.
-     * The difference being that the Location based Application does not get removed
-     * from Location Centre but is marked as an Absent application. When the
-     * removable media is re-inserted, the Location based Application immediately 
-     * becomes available for all Location Centre operations.
-     * - When an removable media containing an Absent Application is re-inserted. In
-     * this case, the Location based Application would be immediately available for
-     * all Location Centre operations.
-     * - When the Location Centre server terminates pre-maturely. In this case, no
-     * further notifications would be given to the Client application and all 
-     * further requests to the Location Centre server would fail with 
-     * @p KErrServerTerminated.
-     *
-     * @since S60 v5.0     
-     * @param[in] aObserver Observer to which notification would be issued.
-     * @leave KErrAlreadyExists If the observer has already been set.
-     * @leave KErrServerTerminated - If the Location Centre server terminates
-     *                               prematurely. In this case, all future requests to
-     *                               Location Centre would also fail with the same
-     *                               error code.    
-     */
-    IMPORT_C void SetObserverL( MLcNotification&     aObserver );
-                                            
-    /**
-     * Removes the observer that has already been set using the @ref SetObserverL method.
-     *
-     * @since S60 v5.0   
-     * @return KErrNone, If the observer removal was successful.
-     *         KErrNotFound, If no observer was set previously.
-     */
-    IMPORT_C TInt RemoveObserver();
-        
-private:
-    /**
-     * Default C++ Constructor.
-     */
-    CLcService();
-
-    /**
-     * Overloaded Copy Constructor. By default, prohibit copy constructor
-     *
-     * @param[in] aLocationCentre Location Centre interface object from which the new
-     * object should be constructed.
-     */
-    CLcService( const CLcService&     aLocationCentre );
-    
-    /**
-     * Overloaded Assignment operator. By default, prohibit assignment
-     * operator
-     *
-     * @param[in] aLocationCentre Location Centre interface object from which the new
-     * object should be assigned.
-     * @return the Location Centre interface object after assigment.
-     */
-    CLcService& operator= ( 
-                const CLcService&   aLCAppInfo );
-                           
-    /**
-     * Second phase of the two phase constructor.
-     */
-    void ConstructL();
-    
-private: // Data
-    /**
-     * Location Centre Implementation. Hides the actual implementation
-     * of the Location Centre API.
-     *
-     * Owns
-     */
-    CLcServiceImpl*             iImplementation;
-    };
-
-#endif // C_LCSERVICE_H