diff -r 000000000000 -r 1f04cf54edd8 csxhelp/inc/CSXHAppUi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/csxhelp/inc/CSXHAppUi.h Tue Jan 26 15:15:23 2010 +0200 @@ -0,0 +1,272 @@ +/* +* 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: CCSXHAppUi class declaration +* +*/ + + +#ifndef INC_CSXHAPPUI_H_HEADER_INCLUDED_BC054CBF +#define INC_CSXHAPPUI_H_HEADER_INCLUDED_BC054CBF + +#include +#include "AppLauncherForCSXH.h" +#include "csxhruntimeappwatcher.h" + +//Forward declarations +class CCSXHHtmlTopicView; +class CCSXHLegacyTopicView; +class CCSXHGenericView; +#ifdef FF_HELP_TUTORIAL_MERGE +class CAiwGenericParamList; +class CAiwServiceHandler; +#endif // FF_HELP_TUTORIAL_MERGE + +// CLASS DECLARATION + +/** +* @class CCSXHAppUi +* Application UI class +* Provides support for the following features: +* - view architecture +*/ +class CCSXHAppUi : public CAknViewAppUi, + public MInstallationObserver + { + public: +/** + * @function ConstructL + * @since S60 3.2 + * Perform the second phase construction of a CCSXHAppUi object this needs + * to be public due to the way the framework constructs the AppUi + */ + void ConstructL(); +/** + * @function CCSXHAppUi + * @since S60 3.2 + * Perform the first phase of two phase construction. This needs to be + * public due to the way the framework constructs the AppUi + */ + CCSXHAppUi(); +/** + * @function ~CCSXHAppUi + * @since S60 3.2 + * Destroy the object and release all memory objects + */ + ~CCSXHAppUi(); + +/** + * @function ~CCSXHAppUi + * @since S60 3.2 + * From CEikAppUi, takes care of command handling. + * @param aCommand command to be handled + */ + void HandleCommandL(TInt aCommand); + +/** + * @function PropagateResourceChange + * @since S60 3.2 + * Propagates the resource change event to all views + * @param aType - Type of resource change event + */ + void PropagateResourceChange(TInt aType); + +/** + * @function GetInstance + * @since S60 3.2 + * returns Application UI class pointer + * @return Application UI class pointer + */ + static CCSXHAppUi* GetInstance(); + +/** + * @function GetWsSession + * @since S60 3.2 + * returns WsSession Pointer + * @return WsSession pointer + */ + static RWsSession& GetWsSession(); + +/** + * @function GetCoeEnv + * @since S60 3.2 + * returns Control Environment pointer + * @return Control Environment pointer + */ + static CCoeEnv* GetCoeEnv(); + +/** + * @function AppLaunchL + * @since S60 3.2 + * Launch the Application based on Uid & ViewId + * @param aAppId Application Uid + * aVId ViewId + */ + void AppLaunchL(TInt32 &aAppId,TInt32 &aVId); + +/** + * @function AppLaunchL + * @since S60 3.2 + * Launch the Application based on Uid,ViewId, MessageId & Message + * @param aAppId Application Uid + * aVId ViewId + * aMsgId MessageId + * aParams Message + */ + void AppLaunchL(TInt32 &aAppId,TInt32 &aVId,TInt32 &aMsgId, + const TBuf& aParams); + +/** + * @function ResetTOC2ViewContainer + * @since S60 3.2 + * Sets a flag in the View for recreating the container + */ + void ResetTOC2ViewContainer(); +/** +* From MInstallationObserver +* @function RuntimeUpdateIndex +* call back function once install/uninstall happens +* +* @since 5.0 +*/ + void RuntimeUpdateIndex(); + +#ifdef FF_HELP_TUTORIAL_MERGE + /** + * Generates parameter list for AIW calls + * @since S60 3.2 + * @param aContext The help content ready to Tutorial + * @return The Aiw Generic Param List + */ + CAiwGenericParamList* NewParamListLC(const TCoeHelpContext& aContext); + + /** + * If tutorial exists,call play presentation command + * @since S60 3.2 + * @param None + * @return None + */ + void CallTutorialAiwProviderL(); + + /** + * If tutorial exists,call play presentation command + * @since S60 3.2 + * @param aTCoeHelpContext The Help Content stored + * @return None + */ + void SetHelpContext(TCoeHelpContext aTCoeHelpContext); + + /** + * If the presentation requsted exist or not + * @since S60 3.2 + * @param None + * @return A boolean value to indicate the presentation exist or not + */ + TBool IsApplicationPresentInTutorialL(); + +#endif // FF_HELP_TUTORIAL_MERGE + protected: + // Functions from base calsses + /** + * Handles changes in keyboard focus when an application switches to, + * or from, the foreground. + * @param aForeground @c ETrue if the application is in the foreground, + * otherwise @c EFalse. + */ + void HandleForegroundEventL(TBool aForeground); +/** + * @function ProcessCommandParametersL + * From CEikAppUi. + * Take care of command parameter + * @since 3.2 + * @param aTail should be contexts in TDesC8& form + * @return whether or not processing was successful + */ + TBool ProcessCommandParametersL(TApaCommand aCommand, + TFileName& /* aDocumentName */, + const TDesC8& aTail); + +/** + * @function HandleMessageL + * From MCoeMessageObserver + * Take care of messages from other app. + * @since 3.2 + * @param aMessageParameters should be contexts in TDesC8& + * @return always EMessageHandled. + */ + MCoeMessageObserver::TMessageResponse HandleMessageL( + TUint32 aClientHandleOfTargetWindowGroup, + TUid aMessageUi, + const TDesC8& aMessageParameters); + private: +/** + * @function ActivateDisplayTopicViewL + * Take care of Recreating the Container Class for Specific Views + * @since 3.2 + * @param aMessageParameters should be contexts in TDesC8& + * @return always EMessageHandled. + */ + void ActivateDisplayTopicViewL(); + + void InitDisplayTopicViewL(TUid aViewID); +/** + * @function HandleContextSensitiveLaunchL + * Take care of Context Sensitive Launch. + * @since 3.2 + * @param aMessageParameters should be contexts in TDesC8& + * @return always EMessageHandled. + */ + void HandleContextSensitiveLaunchL(const TDesC8& aContext ); +#ifdef FF_HELP_TUTORIAL_MERGE + /** + * Load Service Handler and attach the interest + * @since S60 3.2 + * @param None + * @return None + */ + void LoadTutorialService(); +#endif + private: + + CCSXHGenericView* iTOC1View; + CCSXHGenericView* iKywdTOC1View; + + CCSXHLegacyTopicView* iLegacyTopicView; + CCSXHLegacyTopicView* iLegacyContextTopicView; + + //This class will be used for both normal and context html topics + CCSXHHtmlTopicView* iHtmlTopicView; + + CCSXHGenericView* iKywdTOC2View; + CCSXHGenericView* iTOC2View; + + static CCSXHAppUi* iInstance; + CCSXHRuntimeAppWatcher* iRuntimeWatcher; + +#ifdef FF_HELP_TUTORIAL_MERGE + + //AIW Service Handler + //Owned + CAiwServiceHandler* iServiceHandler; + + //Tutorial exist or not + TBool iTutorialExists; + + //Help Content Text + TCoeHelpContext iTCoeHelpContext; +#endif + }; + + + +#endif /* INC_CSXHAPPUI_H_HEADER_INCLUDED_BC054CBF */