--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/csxhelp/inc/AppLauncherForCSXH.h Tue Jan 26 15:15:23 2010 +0200
@@ -0,0 +1,234 @@
+/*
+* Copyright (c) 2006 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: AppLauncherForCSXH class declaration
+*
+*/
+
+
+#ifndef INC_APPLAUNCHERFORCSXH_H_HEADER_INCLUDED_BC03B1F7
+#define INC_APPLAUNCHERFORCSXH_H_HEADER_INCLUDED_BC03B1F7
+
+#include <e32std.h>
+#include <apgtask.h>
+
+class TApaTask;
+
+const TInt KMaxParamLength = 32;
+const TInt KMaxVSAPrefix = 32;
+const TInt KMaxVSAScheme = 88;
+const TInt KBackSlashLength = 1;
+/**
+ * AppLauncherForCSXH
+ * This class implements launching applications from help
+ * @since S60 v3.2
+ */
+class AppLauncherForCSXH
+ {
+ public:
+/**
+* @function NewL
+* @since S60 3.2
+* Construct a AppLauncherForCSXH
+* and return a pointer to the created object
+* @return a AppLauncherForCSXH Pointer
+*/
+ static AppLauncherForCSXH* NewL();
+
+/**
+* @function ~AppLauncherForCSXH
+* @since S60 3.2
+* Destroy the object and release all memory objects
+*/
+ ~AppLauncherForCSXH();
+/**
+* @function LaunchAppL
+* @since S60 3.2
+* Launches Application
+* @param aUrl - Buffer which contains iformation about Application Uid,MessageId, ViewID
+* aCurrentUrl - Currently displayed file path info
+* @return ETrue, if Application Launches Successfully, EFalse otherwise
+*/
+ TBool LaunchAppL(const TDesC& aUrl,const TDesC& aCurrentUrl);
+/**
+* @function LaunchBrowserNGL
+* @since S60 3.2
+* Launches BrowserNG Application
+* @param aUrl - external hyperlink info.
+* @return ETrue, if Application Launches Successfully, EFalse otherwise
+*/
+ void LaunchBrowserNGL(const TDesC& aUrl);
+ private:
+
+/**
+* @function AppLauncherForCSXH
+* @since S60 3.2
+* Perform the first phase of two phase construction
+*/
+ AppLauncherForCSXH();
+
+/**
+* @function ConstructL
+* @since S60 3.2
+* Perform the second phase construction of a legacytopicview object
+*/
+ void ConstructL();
+/**
+* @function GetAppLaunchModeL
+* @since S60 3.2
+* Get the Mode Application Launch Command / View Switch Architecture
+* @param aUrl - Buffer which contains iformation about Application Uid,MessageId, ViewID
+* aCurrentUrl - Currently displayed file path info
+* @return Mode of Launch
+*/
+ TInt GetAppLaunchModeL(const TDesC& aUrl,const TDesC& aCurrentUrl);
+/**
+* @function LaunchApp
+* @since S60 3.2
+* Launch the Application
+* @param aUrl - Buffer which contains iformation about Application Uid,MessageId, ViewID
+* aVSAMode - Etrue for View Switch Architecture - EFalse for Command Launch
+* @return ETrue, Application Launch Successful, EFalse otherwise
+*/
+ TBool LaunchApp(const TDesC& aUrl, TBool aVSAMode = ETrue);
+/**
+* @function LaunchCmdApp
+* @since S60 3.2
+* Launch the Application
+* @param aParamsMode - ETrue, If Application has to be launched with Message.
+* @return ETrue, Application Launch Successful, EFalse otherwise
+*/
+ TBool LaunchCmdApp(TBool aParamsMode = ETrue);
+/**
+* @function LaunchCmdAppL
+* @since S60 3.2
+* Launch the Application using Command line APIs with parameters
+* @param aParamsMode - ETrue, If Application has to be launched with Message.
+* @return ETrue, Application Launch Successful, EFalse otherwise
+*/
+ TBool LaunchCmdAppL(TBool aParamsMode);
+ /**
+* @function GetCmdAppTask
+* @since S60 3.2
+* Launch the Application using Command line APIs with parameters
+* @return Get the TApaTask of the Launched Application
+*/
+ TApaTask GetCmdAppTask();
+/**
+* @function SendMsgToCmdAppTaskL
+* @since S60 3.2
+* Send the Message to the Launched Application
+* @param aTask - TApaTask of the launched Application
+*/
+ void SendMsgToCmdAppTaskL(TApaTask &aTask);
+
+/**
+* @function HandleFailedAppLauchL
+* @since S60 3.2
+* Gives Information Note if Application Launch Failed.
+*/
+ void HandleFailedAppLauchL();
+
+/**
+* @function HandleAppLauchFromInternetL
+* @since S60 3.2
+* Gives Information Note if user try to Launch the application from the external link
+*/
+ void HandleAppLauchFromInternetL();
+/**
+* @function CheckAppLaunchFromInternetL
+* @since S60 3.2
+* Checks wether using is trying to launch the application from external link
+* @param aCurrentMode - VSA / Cmd
+* aCurrentUrl - Currently displayed file path info
+*/
+ TInt CheckAppLaunchFromInternetL(TInt aCurrentMode,const TDesC& aCurrentUrl );
+
+/**
+* @function CheckMsgParams
+* @since S60 3.2
+* Checks wether parameters are Valid / Invalid
+* @param Buffer which contains iformation about Application Uid,MessageId, ViewID
+* @return EParamsWithMsg / EParamsInvalid / EParamsNoMsg
+*/
+ TInt CheckMsgParams(const TDesC& aUrl);
+
+/**
+* @function CheckMsgParams
+* @since S60 3.2
+* Copies Uid & View Id into Variables
+* @param Buffer which contains information about Application Uid,ViewID
+*/
+ void ExtractTwoParams(const TDesC& aUrl);
+
+/**
+* @function ExtractFourParams
+* @since S60 3.2
+* Copies Uid, View Id, MessageId & Message into Variables
+* @param aUrl - Buffer which contains information about Application Uid,ViewID, MessageId &
+*/
+ void ExtractFourParams(const TDesC& aUrl);
+/**
+* @function GetUid
+* @since S60 3.2
+* Coverts Buffer Content to TInt
+* @param aUid - Application Uid
+* aResult - Application Uid
+*/
+ void GetUid(TPtrC aUid, TInt32 &aResult);
+
+/**
+* @function SendMsgToBrowserNGL
+* @since S60 3.2
+* Send the Message to the BrowserNG
+* @param aUrl - External Hyper Link
+* @return ETrue MessageSent Successfully, EFalse otherwise
+*/
+ TBool SendMsgToBrowserNGL(const HBufC* aUrl);
+/**
+* @function StartTimer
+* @since S60 3.2
+* Starts the timer
+* @param aCallBack - Callback function for timer
+*/
+ void StartTimer(TCallBack aCallBack);
+
+/**
+* @function Timer_Callback_to_TerminateApp
+* @since S60 3.2
+* Timer callback function
+* @param aPtr - AppLauncherForCSXH class pointer
+* @return 0
+*/
+ static TInt Timer_Callback_to_TerminateApp(TAny* aPtr);
+
+/**
+* @function SendMsgToApplication
+* @since S60 3.2
+* SendMessage to BrowserNG Application
+* @return 0
+*/
+ TInt SendMsgToApplication();
+
+ private:
+ CPeriodic* iTimer;
+ TInt iCount;
+ TBuf<KMaxFileName> iUrl;
+ TBuf<KMaxParamLength> iParam1;
+ TBuf<KMaxParamLength> iParam2;
+ TBuf<KMaxParamLength> iParam3;
+ TBuf<KMaxParamLength> iParam4;
+ };
+
+
+#endif /* INC_APPLAUNCHERFORCSXH_H_HEADER_INCLUDED_BC03B1F7 */