--- a/locationcentre/lcservice/inc/lcserviceimpl.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,324 +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 implementation.
-*
-*/
-
-
-#ifndef C_LCSERVICEIMPL_H
-#define C_LCSERVICEIMPL_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// USER INCLUDES
-#include "lcservice.h"
-#include "lclocationappinfo.h"
-#include "lcclientsession.h"
-#include "lcnotification.h"
-#include "lcasyncoperation.h"
-
-// FORWARD DECLARATIONS
-class MLcAppExitObserver;
-class TLcLocationAppFilter;
-class CLcAppLauncher;
-class CBufFlat;
-class CLcAppInfo;
-class CLcNotificationAO;
-class CLcBasicAppInfo;
-class CLcLocationAppInfoArray;
-class CAknPopupList;
-class CLcPopupListBox;
-
-/**
- * Implementation of Location Centre Interface class CLcService.
- *
- * This class provides the implementation of Location Centre API.
- * This is needed to ensure that the implementation details of Location
- * Centre API is completely abstracted from CLcService.
- */
-NONSHARABLE_CLASS( CLcServiceImpl ) : public CBase,
- public MLcNotification,
- public MLcAsynOperationObserver
- {
-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.
- */
- static CLcServiceImpl* 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.
- */
- static CLcServiceImpl* NewLC();
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * interface.
- */
- virtual ~CLcServiceImpl();
-
- /**
- * Launches Location Centre as a pop-up dialog with a list of
- * Location based Application.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- 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.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- void LaunchLocationCentreL(
- const RPointerArray<CLcService::CLcLaunchParam>& aIncludeAppArray,
- MLcAppExitObserver* aChainedAppExitObserver = NULL );
-
- /**
- * Launches Location Centre without the specified array of
- * Location based Applications in a pop-up dialog.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- void LaunchLocationCentreL(
- const RArray<TPtrC>& aExcludeAppArray,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode = CLcLocationAppInfo::EDefaultMode,
- MLcAppExitObserver* aChainedAppExitObserver = NULL );
-
- /**
- * 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.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- 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.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- TPtrC SelectLocationApplicationL( const RArray<TPtrC>& aAppArray,
- TBool aIncludeFlag );
-
- /**
- * Gets a filtered list of Location based Applications.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- CLcLocationAppInfoArray* GetLocationApplicationsL(
- const TLcLocationAppFilter& aLocationAppFilter );
-
- /**
- * Gets a filted list of Location based Applications.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- void GetLocationApplications(
- TRequestStatus& aStatus,
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfoArray*& aAppInfoArray );
-
- /**
- * Cancels an outstanding @ref GetLocationApplications request.
- */
- void CancelGetLocationApplications();
-
- /**
- * Launches a Location based Application in the desired mode.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- void LaunchLocationApplicationL(
- const TDesC& aAppIdentifier,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode = CLcLocationAppInfo::EDefaultMode,
- MLcAppExitObserver* aChainedAppExitObserver = NULL );
-
- /**
- * Sets an observer for notifying changes to the Location Centre server.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- void SetObserverL( MLcNotification& aObserver );
-
- /**
- * Removes the observer that has already been set using the @ref SetObserverL method.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- TInt RemoveObserver();
-
-public: // Inherited from the base classes
- /**
- * Inherited from MLcNotification
- */
- void LcStatusChangedL( TInt aErrorCode );
-
- /**
- * Inherited from MLcAsynOperationObserver
- */
- void OperationComplete( TInt aError );
-
-private:
- /**
- * Default C++ Constructor.
- */
- CLcServiceImpl();
-
- /**
- * Second phase of the two phase constructor.
- */
- void ConstructL();
-
- /**
- * Leaving form of GetLocationApplications. This is needed because the API
- * does not leave whereas we need certain leaving operations to be performed
- * in the GetLocationApplications asynchronous version.
- */
- void GetLocationApplicationsL(
- TRequestStatus& aStatus,
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfoArray*& aAppInfoArray );
-
- /**
- * Launches Location Centre with the supplied Applications in a pop-up
- * dialog and the user can select a Location based Application from the pop-up
- * list displayed.
- *
- * @param[in] aAppInfoArray Application Information array. The ownership of this
- * array is transferred to the pop-up.
- * @return TPtrC, Identifier corresponding to the element that has been selected.
- */
- TPtrC SelectLocationApplicationL( CLcLocationAppInfoArray* aAppInfoArray );
-
-private:
- /**
- * Enumeration for the outstanding Pop-up operation.
- */
- enum TLcPopUpOutStanding
- {
- /**
- * Filtered based Applications
- */
- ELcPopupWithFiltering,
- ELcPopupWithSpecifiedApps,
- ELcPopupWithoutSpecifedApps
- };
-
-private: // Data
- /**
- * Location Centre server client side session handle
- */
- RLcClientSession iSession;
-
- /**
- * Location based Application's launcher.
- * This object can be used to launch all Location based Applications,
- * contents and services in the standalone mode or in the chained mode.
- * Owns
- */
- CLcAppLauncher* iAppLauncher;
-
- /**
- * Observer for notifications
- */
- MLcNotification* iObserver;
-
- /**
- * Active Object for notification requests
- *
- * Owns
- */
- CLcNotificationAO* iNotificationAO;
-
- /**
- * Request Status on which the Asynchronous request would be completed.
- */
- TRequestStatus* iStatus;
-
- /**
- * Location Centre Asynchronous operation handler.
- *
- * Owns
- */
- CLcAsyncOperation* iAsyncOperation;
-
- /**
- * Location Centre pop-up.
- *
- * Owns.
- */
- CAknPopupList* iPopUp;
-
- /**
- * Location Centre pop-up list box.
- *
- * Owns.
- */
- CLcPopupListBox* iPopUpListBox;
-
- /**
- * Idenfier of the Selected Application.
- */
- HBufC* iSelectedAppId;
-
- /**
- * Pop-up Operation outstanding
- */
- TLcPopUpOutStanding iPopupOutStanding;
-
- /**
- * Filter conditions.
- * Owns.
- */
- TLcLocationAppFilter* iFilter;
-
- /**
- * Array of applications which need to be included/excluded in the filtering
- * operation.
- *
- * Owns.
- */
- RArray<TPtrC> iAppArray;
- };
-
-
-#endif // C_LCSERVICEIMPL_H