--- a/locationcentre/lcutils/inc/lcapplauncher.h Tue Feb 02 00:16:03 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,320 +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: Utility class which provides the Application, Service and File
-* launching services to Location Centre.
-*
-*/
-
-
-#ifndef LCAPPLAUNCHER_H
-#define LCAPPLAUNCHER_H
-
-// SYSTEM INCLUDES
-#include <e32std.h>
-#include <aknserverapp.h>
-
-// USER INCLUDES
-
-// FORWARD DECLARATIONS
-class CEikonEnv;
-class MLcAppExitObserver;
-class CSchemeHandler;
-class CDocumentHandler;
-
-/**
- * Lc Launch Application Service class. This class provides the return path
- * for the Application termination call issued from an application launched
- * in the chanied mode
- */
-class RLcLaunchAppService : public RAknAppServiceBase
- {
-public: // Inherited from Base classes
-
- /**
- * Imherited from RAknAppServiceBase
- */
- TUid ServiceUid() const;
- };
-
-/**
- * Chained Application launcher for Location Centre. This class almost acts
- * like a duplication for CAknLaunchAppService class. This is required because
- * CAknLaunchAppService doesnt take any command line arguments.
- */
-class CLcLaunchAppService : public CBase
- {
-public:
- /**
- * Static two phases constructor
- */
- static CLcLaunchAppService* NewL();
-
- /**
- * C++ Destructor
- */
- ~CLcLaunchAppService();
-
- /**
- * Launches an Application in the chained mode.
- *
- * @since S60 v5.0
- * @param aApplicationUid UID of the application that needs to be
- * launched.
- * @param aExitObserver Application Exit Observer
- * @param aCmdLineArg Command line arguments which needs to be passed
- * when the application is launched.
- */
- void LaunchAppL( const TUid& aAppUid,
- MAknServerAppExitObserver& aObserver,
- const TDesC& aExitObserver );
-
-
-private:
- /**
- * Generates a Server name. This function has been duplicated
- * from CAknLaunchAppService
- *
- * @since S60 v5.0
- * @param[out] aServerName Application Server name
- * @param[in] aAppServerUid Application server UID
- * @param[in] aServerDifferentiator Server differentiator
- */
- void ServerName( TName& aServerName, TUid aAppServerUid, TUint aServerDifferentiator );
-
- /**
- * Generates a Server name and a differentiator. This function has been duplicated
- * from CAknLaunchAppService
- *
- * @since S60 v5.0
- * @param[in] aServerName Application Server name
- * @param[in] aAppServerUid Application server UID
- * return Server differentiator
- */
- TUint GenerateServerDifferentiatorAndName( TName& aServerName, TUid aAppServerUid );
-
-private: // Data members
- /**
- * App Server exit monitor
- * Owns
- */
- CApaServerAppExitMonitor* iMonitor;
-
- /**
- * Service class for establishing communication with the Application server
- */
- RLcLaunchAppService iService;
- };
-
-/**
- * Utility class which provides Application, Content and Services
- * launch functionality to Location Centre.
- *
- * @lib lcutils.lib
- * @since S60 v5.0
- */
-class CLcAppLauncher : public CBase,
- public MAknServerAppExitObserver
- {
-public:
- /**
- * Constructs a new instance of Location Centre Application launcher.
- *
- * @return The new instance of Location Centre Application launcher object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcAppLauncher* NewL();
-
- /**
- * Constructs a new instance of Location Centre Application launcher.
- * Leaves the created instance on the cleanup stack.
- *
- * @return The new instance of Location Centre Application launcher object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcAppLauncher* NewLC();
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * interface.
- */
- virtual ~CLcAppLauncher();
-
- /**
- * Launchers an S60 Application or a Content/Service.
- *
- * This function acts a generic interface which the Location Centre
- * Utility class provides to the Location Centre Client Library. Using
- * this class Location Centre Client library can request the launch
- * of an S60 Application, a Java based Application, Location based
- * Content / Service.
- *
- * @since v5.0
- * @param aAppType Application Type
- * @param aIdentifier Application Identifier
- * @param aStandAlone Boolen value indicating whether the Application
- * is Launched in the Stand-alone mode or in the
- * Chained mode.
- * @param aCmdLineArg Command line arguments which needs to be passed
- * when the application is launched.
- * @param aExitObserver The observer to notify the termination of the
- * Launched application.
- */
- IMPORT_C void LaunchLocationApplicationL(
- TInt aAppType,
- const TDesC& aIdentifer,
- TBool aStandAlone,
- const TDesC& aCmdLineArg,
- MLcAppExitObserver* aExitObserver );
-
-private:
- /**
- * Launches an S60 Application as a stand-alone application.
- *
- * This function launches an S60 application using the S60 Application
- * architecture. Each S60 application is identified by a Unique
- * identifier ( the UID of the application ). This function launches the
- * application corresponding to the UID passed to it as a standalone
- * application.
- *
- * @since S60 v5.0
- * @param aApplicationUid UID of the application that needs to be
- * launched.
- * @param aCmdLineArg Command line arguments which needs to be passed
- * when the application is launched.
- */
- void LaunchAppL( TUid aApplicationUid,
- const TDesC& aCmdLineArg );
-
-
- /**
- * Launches an S60 Application as a chained application.
- *
- * This function launches an S60 application using the S60 Application
- * architecture. Each S60 application is identified by a Unique
- * identifier ( the UID of the application ). This function launches the
- * application corresponding to the UID passed to it as a chained
- * application. In addition to that the caller function can also register
- * an observer to notify the termination of the launched application.
- *
- * @since S60 v5.0
- * @param aApplicationUid UID of the application that needs to be
- * launched.
- * @param aCmdLineArg Command line arguments which needs to be passed
- * when the application is launched.
- * @param aExitObserver Application Exit Observer
- */
- void LaunchAppAsChainedL( TUid aApplicationUid,
- const TDesC& aCmdLineArg,
- MLcAppExitObserver* aExitObserver );
-
- /**
- * Launches a Web URL using the S60 Web browser.
- *
- * This function launched a Web URL as specified by the argument in
- * the S60 Web browser. This function invokes the existing instance
- * of the browser with the URL if the browser is already running. In case
- * the browser is not running, it launches the browser in the stand alone
- * mode with the specified URL. Incase, the Chained mode is requested, then
- * the browser is launched in the Embedded mode.
- *
- * @since S60 v5.0
- * @param aUrl The URL which needs to be launched in the browser.
- * @param aStandAlone Boolen value indicating whether the Application
- * is Launched in the Stand-alone mode or in the
- * Chained mode.
- * @param aObserver Observer to notify the termination of the
- * Web browser.
- */
- void LaunchWebBroserL( const TDesC& aUrl,
- TBool aStandAlone,
- MLcAppExitObserver* aObserver );
-
- /**
- * Launches content present in a file using an appropriate Application.
- *
- * This function launches the content using an appropriate S60 application. It
- * uses the S60 Document handler to load the corresponding application
- * with the specified file name.
- *
- * @since S60 v5.0
- * @param aFileName The name with full path of the file containing the content.
- * @param aStandAlone Boolen value indicating whether the Application
- * is Launched in the Stand-alone mode or in the
- * Chained mode.
- * @param aObserver The observer to notify the termination of the launched
- * application.
- */
- void LaunchContentL( const TDesC& aFileName,
- TBool aStandAlone,
- MLcAppExitObserver* aObserver );
-
-public: // Inherited from Base classes
- /**
- * Inherited from MAknServerAppExitObserver
- * Notifies the termination of the Chained Application.
- *
- * @param aReason Reason for the application termination.
- */
- void HandleServerAppExit( TInt aReason );
-
-private:
- /**
- * Default C++ Constructor.
- */
- CLcAppLauncher();
-
- /**
- * Second phase of the two phase constructor.
- */
- void ConstructL();
-
-private:
- /**
- * Pointer to the Eikon Environment.
- */
- CEikonEnv* iEnv;
-
- /**
- * Observer to notify the termination of the Location Application.
- */
- MLcAppExitObserver* iExitObserver;
-
- /**
- * Launcher class used to launch the S60 browser as a chained
- * application.
- * Owns.
- */
- CSchemeHandler* iBrowserLauncher;
-
- /**
- * Document handler used for launching documents.
- * Owns
- */
- CDocumentHandler* iDocHandler;
-
- /**
- * Application Service class. This class is used to launch an application
- * as an embedded application
- */
- CLcLaunchAppService* iAppService;
-
- /**
- * Flag to check whether an Embedded launch is outstanding
- */
- TBool isEmbeddedLaunchOutstanding;
-
- };
-
-#endif // LCAPPLAUNCHER_H