diff -r a36b1e19a461 -r 989d2f495d90 serviceproviders/sapi_applicationmanager/appmanagerservice/inc/appmanagerservice.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/sapi_applicationmanager/appmanagerservice/inc/appmanagerservice.h Fri Jul 03 15:51:24 2009 +0100 @@ -0,0 +1,157 @@ +/* +* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: This Class provides the core functionality to Application Manager +* SAPI +* +*/ + + + +#ifndef __APPMANAGERSERVICE_H +#define __APPMANAGERSERVICE_H + + +#include + +#include "appobserver.h" +#include "appmanagercommon.h" + + +class CLauncherObserver; +class CLauncher; +class CAsynchRequestManager; + +/** +* This Class provides the core functionality of +* Application Manager SAPI +* +* @since Series60 v3.2 +*/ +class CAppManagerService : public CBase + { + + public: + + /** + * Returns the instance of CAppManagerService. + * @since Series60 v3.2 + * @param void + * @return CAppManagerService* return the instance of CAppManagerService class + */ + IMPORT_C static CAppManagerService* NewL(); + + /** + * Destructor. + */ + virtual ~CAppManagerService(); + + /** + * This function Launch the given Application + * @since Series60 v3.2 + * @param aAppId String to identify the application + * @param aCmdLine command line argument to send to launching application + * @param aOptions specify the various attribut of application e.g its launching mode,document and postion + * @param aObserver callback for getting the notifaction when the launched application dies + */ + IMPORT_C void LaunchApplicationL( const TDesC& aAppId, + const TDesC8& aCmdLine, + const TOptions& aOptions, + MAppObserver* aObserver = NULL, + TInt32 aTransactionID = 0 ); + + /** + * This function Launch the given content + * succeed. + * @since Series60 v3.2 + * @param aCriteria structure for identifying the application(it can contain Handle or Path of the doc) + * @param aMimeType MimeType of Document + * @param aOptions specify the various attribute of application e.g its launching mode + * @param aFileName Filled by the api if creates the new document + * @param aObserver callback for getting the notifaction when the launched application dies. + * @return void + */ + IMPORT_C void LaunchDocumentL( TDocument& aCriteria, + const TDesC8& aMimeType, + const TOptions& aOptions , + TDesC& aFileName, + MAppObserver* aObserver = NULL, + TInt32 aTransactionID = 0 ); + + /** + * This function gives the list of all application or installed packages + * as per content type and filter parameter. + * @since Series60 v3.2 + * @param aContent It contains the Content type. + * @param aFilterParam Filter parameter for finding the handler application + * @return MIterator Iterator interface provided by dll + */ + IMPORT_C void GetListL( MIterator*& aIterator, + const TDesC& aContent, + const CFilterParam* aFilterParam =NULL ); + + + + + /** + * Cancel the pending asynchronous request + * @since Series60 v3.2 + * @param aTransactionID Unique number to identify the request + * @return TInt System wide error code + */ + IMPORT_C TInt Cancel( TInt32 aTransactionID ); + + + /** + * Validates the given filepath, this will leave if the file path is not valid + * @param aFilePath a file path to validate + */ + static void ValidateFilePathL(const TDesC& aFilePath); + + + + private: + + + /** + * Two-phased constructor + * @since Series60 v3.2 + * @param void + * @return void + */ + void ConstructL(); + + + private: + /** + * session for application architecture + */ + RApaLsSession iApaLsSession; + + /** + * instance of class which handles all launching request + */ + CLauncher* iLauncher; + + + /** + * instance of class which handles Trans ID of all Asynch request + */ + CAsynchRequestManager* iAsynchReqMngr; + + + + + }; + +#endif __APPMANAGERSERVICE_H \ No newline at end of file