# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1268983654 -7200 # Node ID 2cd891dccbbe05cdcce03d32fa748a51cdf4d13f # Parent 27f5851bd5a585c83780310ffd3539c491a5fe96 Revision: 201011 Kit: 201011 diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/AiwHelpProvider/group/AiwHelpProvider.mmp --- a/csxhelp/AiwHelpProvider/group/AiwHelpProvider.mmp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -/* -* Copyright (c) 2002 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: Project specfication file. -* Write all source and resource files, all using libraries, -* all bitmaps. -* -*/ - - -#include -#include - -TARGET AiwHelpProvider.dll -TARGETTYPE PLUGIN - -// MAGIC Dll recognition UID followed by the unique UID for this dll -UID 0x10009D8D 0x10207464 -VENDORID VID_DEFAULT - -CAPABILITY CAP_ECOM_PLUGIN - -USERINCLUDE ../inc -APP_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/ECom - -SOURCEPATH ../src -SOURCE AiwHelpProvider.cpp - -// Published to /resource/plugins -START RESOURCE 10207464.rss -LANGUAGE_IDS -TARGET AiwHelpProvider.rsc -END - -// Published to /resource -START RESOURCE AiwHelpProvider.rss -HEADER -TARGET AiwHelpProviderPlugin.rsc -TARGETPATH APP_RESOURCE_DIR -LANGUAGE_IDS -END - -LIBRARY euser.lib -LIBRARY fbscli.lib -LIBRARY gdi.lib -LIBRARY bafl.lib -LIBRARY cone.lib -LIBRARY estlib.lib -LIBRARY ServiceHandler.lib -LIBRARY eikcore.lib -LIBRARY hlplch.lib -LIBRARY ws32.lib diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/AiwHelpProvider/group/bld.inf --- a/csxhelp/AiwHelpProvider/group/bld.inf Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -/* -* Copyright (c) 2002 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: -* The build information -* -* -*/ - -#include - -PRJ_EXPORTS -// export localised loc file -../loc/aiwxhelpprovider.loc APP_LAYER_LOC_EXPORT_PATH(aiwxhelpprovider.loc) - -PRJ_MMPFILES -AiwHelpProvider.mmp diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/AiwHelpProvider/inc/AiwHelpProvider.h --- a/csxhelp/AiwHelpProvider/inc/AiwHelpProvider.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -/* -* Copyright (c) 2002 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: header file. -* -*/ - - - -#ifndef _AIW_HELP_PROVIDER_H -#define _AIW_HELP_PROVIDER_H - -#include - -class CAiwHelpProvider : public CAiwServiceIfMenu - { - public: - static CAiwHelpProvider* NewL(); - ~CAiwHelpProvider(); - - public: - virtual void InitialiseL( - MAiwNotifyCallback& aFrameworkCallback, - const RCriteriaArray& aInterest); - - virtual void HandleServiceCmdL( - const TInt& aCmdId, - const CAiwGenericParamList& aInParamList, - CAiwGenericParamList& aOutParamList, - TUint aCmdOptions = 0, - const MAiwNotifyCallback* aCallback = NULL); - - virtual void InitializeMenuPaneL( - CAiwMenuPane& aMenuPane, - TInt aIndex, - TInt aCascadeId, - const CAiwGenericParamList& aInParamList); - - virtual void HandleMenuCmdL( - TInt aMenuCmdId, - const CAiwGenericParamList& aInParamList, - CAiwGenericParamList& aOutParamList, - TUint aCmdOptions = 0, - const MAiwNotifyCallback* aCallback = NULL); - - private: - CAiwHelpProvider(); - }; -#endif diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/AiwHelpProvider/inc/AiwHelpProvider.rh --- a/csxhelp/AiwHelpProvider/inc/AiwHelpProvider.rh Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -/* -* Copyright (c) 2002 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: resource header file -* Declare all the enums used here in this file. -* -*/ - - -#ifndef _AIW_PROVIDER_EXAMPLE1_RH -#define _AIW_PROVIDER_EXAMPLE1_RH - -enum - { - EAiwShowHelpCmd=1 - }; - -#endif diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/AiwHelpProvider/loc/aiwxhelpprovider.loc --- a/csxhelp/AiwHelpProvider/loc/aiwxhelpprovider.loc Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -/* -* Copyright (c) 2002 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: -* This is a localisation file for AiwHelpProvider -* A .loc file is the one and only place where the logical strings -* to be localised are defined. -* -* -*/ - - -// LOCALISATION STRINGS - -//d: help application name in selection grid window -//l: list_single_pane_t1_cp2 -// -#define qtn_options_help_sm_help "Show Help" - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/AiwHelpProvider/src/10207464.rss --- a/csxhelp/AiwHelpProvider/src/10207464.rss Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* -* Copyright (c) 2002 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: resource file -* Write all resources used here. -* -*/ - - - -#include -#include "RegistryInfoV2.rh" -#include "AiwHelpProvider.rh" -#include - -RESOURCE REGISTRY_INFO theInfo - { - resource_format_version = RESOURCE_FORMAT_VERSION_2; - dll_uid = 0x10207464; // dll uid - interfaces = - { - INTERFACE_INFO - { - // Menu service class (offers menu based services) - interface_uid = 0x101F8652; // KAiwClassMenu - implementations = - { - IMPLEMENTATION_INFO - { - implementation_uid = 0x10207465;// The implementation uid - version_no = 1; - display_name = "AIW Help Provider"; - default_data ="*"; - opaque_data =KAiwCmdHelpStr; // from AiwCommon.hrh - } - }; - } - }; - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/AiwHelpProvider/src/AiwHelpProvider.cpp --- a/csxhelp/AiwHelpProvider/src/AiwHelpProvider.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,236 +0,0 @@ -/* -* Copyright (c) 2002 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: source file. -* Write all source code here, all the implementations -* -*/ - - -#include -#include "AiwHelpProvider.h" -#include -#include -#include -#include -#include -#include "AiwHelpProvider.rh" -#include -#include -#include -#include -#include - - -_LIT(KResFileName, "\\resource\\apps\\AiwHelpProviderPlugin.rsc"); - -#define KImplementationId 0x10207465 - - - -/****************************************************************** -=================================================================== - NewL of the Provider -=================================================================== -*******************************************************************/ -CAiwHelpProvider* CAiwHelpProvider::NewL() - { - return new (ELeave) CAiwHelpProvider(); - } - - - -/****************************************************************** -=================================================================== - Constructor of the Provider -=================================================================== -*******************************************************************/ -CAiwHelpProvider::CAiwHelpProvider() - { - } - - - -/****************************************************************** -=================================================================== - Destructor of the Provider -=================================================================== -*******************************************************************/ -CAiwHelpProvider::~CAiwHelpProvider() - { - } - - - -/** - * Called by the Handler framework to initialise provider with - * necessary information from Handler. - * @param aFrameworkCallback Framework provided callback for - * provider to send events to framework - * @param aInterest List of criteria items which invoked the provider. - * @exception Symbian OS error code - */ -void CAiwHelpProvider::InitialiseL(MAiwNotifyCallback& /*aFrameworkCallback*/, - const RCriteriaArray& /*aInterest*/) - { - - } - - -/** - * Executes generic service commands included in criteria. - * @param aCmdId Command to be executed - * @param aInParamList Input parameters, can be an empty list - * @param aOutParamList Output parameters, can be an empty list - * @param aCmdOptions Options for the command, see KAiwOpt* constants in AiwCommon.hrh. - * @param aCallback callback for asynchronous command handling, parameter checking, etc. - * @see enum TAiwServiceCmdOptions in AiwCommon.hrh - * @exception KErrArgument if callback is missing when required. - * @exception KErrNotSupported if no provider support service - */ -void CAiwHelpProvider::HandleServiceCmdL(const TInt& /*aCmdId*/, - const CAiwGenericParamList& /*aInParamList*/, - CAiwGenericParamList& /*aOutParamList*/, - TUint aCmdOptions, - const MAiwNotifyCallback* /*aCallback*/) - { - // Cancel bit must always be checked. - if(aCmdOptions & KAiwOptCancel) - { - return; - } - } -/** - * Initialises menu pane by adding provider specific menu items. - * The AIW Framework gives the parameters to be used in addition. - * @param aMenuPane Menu pane handle - * @param aIndex position of item where to add menu items. - * @param aCascadeId ID of cascade menu item. - * @param aInParamList input parameter list for provider's parameters checking - */ - -void CAiwHelpProvider::InitializeMenuPaneL(CAiwMenuPane& aMenuPane, - TInt aIndex, - TInt /*aCascadeId*/, - const CAiwGenericParamList& /*aInParamList*/) - { - TFileName resFile(KResFileName); - TFileName dllName; - Dll::FileName(dllName); - TBuf<2> drive = dllName.Left(2); - resFile.Insert(0, drive); - aMenuPane.AddMenuItemsL(resFile, R_AIWHELPPROVIDER_MENU, KAiwCmdHelp, aIndex); - } - -/** - * Handle a menu command invoked by the Handler. - * @param aMenuCmdId Command ID for the menu command, - * defined by the provider when adding the menu commands. - * @param aInParamList Input parameters, could be empty list - * @param aOutParamList Output parameters, could be empty list - * @param aCmdOptions Options for the command, see KAiwCmdOpt* constants. - * @param aCallback callback if asynchronous command handling is wanted by consumer. - * The provider may or may not support this, leaves with KErrNotSupported, it not. - */ -void CAiwHelpProvider::HandleMenuCmdL(TInt aMenuCmdId, - const CAiwGenericParamList& aInParamList, - CAiwGenericParamList& /*aOutParamList*/, - TUint aCmdOptions, - const MAiwNotifyCallback* /*aCallback*/) - { - // Cancel bit must always be checked. - if(aCmdOptions & KAiwOptCancel) - { - return; - } - - switch (aMenuCmdId) - { - case EAiwShowHelpCmd: - case EAknCmdHelp: - { - TCoeHelpContext helpContext; - TInt index; - - // Get the UID of the Help context i.e. the UID of the CS Help file containing - // the topic information. - - index = 0; - const TAiwGenericParam* uidParam = aInParamList.FindFirst(index, EGenericParamHelpItem, - EVariantTypeTUid); - - if(index >= 0) - { - // Get the data. - const TAiwVariant& val = uidParam->Value(); - helpContext.iMajor = val.AsTUid(); - } - else - { - // UID param not found. Error handling could be added here. - } - - // Get the context of Help i.e. the name of the help context. This is the literal - // descriptor generated from a context string by the CSHelp compiler. - - index = 0; - const TAiwGenericParam* contextParam = aInParamList.FindFirst(index, EGenericParamHelpItem, - EVariantTypeDesC); - - if(index >= 0) - { - // Get the data. - const TAiwVariant& val = contextParam->Value(); - helpContext.iContext = val.AsDes(); - } - else - { - // Context param not found. Error handling could be added here. - } - - CArrayFix* contextList = new (ELeave) CArrayFixFlat(1); - contextList->AppendL(helpContext); - - //Get the Window server session - RWsSession wsSession; - User::LeaveIfError(wsSession.Connect()); - CleanupClosePushL(wsSession); - HlpLauncher::LaunchHelpApplicationL(wsSession,contextList); - CleanupStack::PopAndDestroy(); - break; - } - default: - break; - } - } - -// -// Rest of the file is for ECom initialization. -// - -// Map the interface UIDs to implementation factory functions -const TImplementationProxy ImplementationTable[] = - { - IMPLEMENTATION_PROXY_ENTRY(KImplementationId, CAiwHelpProvider::NewL) - }; - -// --------------------------------------------------------- -// Exported proxy for instantiation method resolution -// --------------------------------------------------------- -// -EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) - { - aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); - return ImplementationTable; - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/AiwHelpProvider/src/AiwHelpProvider.rss --- a/csxhelp/AiwHelpProvider/src/AiwHelpProvider.rss Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -/* -* Copyright (c) 2002 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: resource file -* Write the menu resources here. -* -*/ - - - -#include -#include "RegistryInfoV2.rh" -#include "AiwHelpProvider.rh" -#include -#include -#include - -RESOURCE MENU_PANE r_aiwhelpprovider_menu - { - items = - { - MENU_ITEM { command = AIW_SUBMENU_TITLE; txt = qtn_options_help; }, - MENU_ITEM { command = EAiwShowHelpCmd; txt = qtn_options_help;extratxt = qtn_options_help_sm_help; } - - }; - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHContextTopic.h --- a/csxhelp/HelpEngine/inc/CSXHContextTopic.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -/* -* 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: CCSXHContextTopic class declaration -* -*/ - - -#ifndef INC_CSXHCONTEXTTOPIC_H_HEADER_INCLUDED_BC050AFE -#define INC_CSXHCONTEXTTOPIC_H_HEADER_INCLUDED_BC050AFE - -#include "CSXHHelpContentBase.h" - -class CCSXHHelpDataBase; -/** -* @class CCSXHContextTopic -* This class is used for Context Sensitivity -*/ -class CCSXHContextTopic : public CCSXHHelpContentBase - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHContextTopic -* and return a pointer to the created object -* @param aToc2 - a toc2 class pointer type casted to database -* @return a CCSXHContextTopic Pointer -*/ - static CCSXHContextTopic* NewL(CCSXHHelpContentBase* aToc2); -/** - * @function ~CCSXHContextTopic - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - ~CCSXHContextTopic(); -/** -* @function GetViewID -* @since S60 3.2 -* Get ViewId to activate the View -* @return View Id -*/ - TUid GetViewID() const; -/** -* @function GetTopic -* @since S60 3.2 -* Get the Object HTML / Legacy type cast to Database -* @return View Id -*/ - IMPORT_C CCSXHHelpContentBase* GetTopic(); - - protected: -/** -* @function CCSXHContextTopic -* @since S60 3.2 -* Construct a CCSXHContextTopic -* @param aToc2object - a toc2 class pointer type casted to database -*/ - CCSXHContextTopic(CCSXHHelpContentBase *aToc2object); - - protected: - CCSXHHelpContentBase *iToc2; - - }; - - - -#endif /* INC_CSXHCONTEXTTOPIC_H_HEADER_INCLUDED_BC050AFE */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHGenericTOC1.h --- a/csxhelp/HelpEngine/inc/CSXHGenericTOC1.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,123 +0,0 @@ -/* -* 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: CCSXHGenericTOC1 class declaration -* -*/ - - -#ifndef INC_CSXHGENERICTOC1_H_HEADER_INCLUDED_BC050AFE -#define INC_CSXHGENERICTOC1_H_HEADER_INCLUDED_BC050AFE - -#include "CSXHHelpContentBase.h" -#include - - -class CCSXHHelpDataBase; -/** -* @class CCSXHGenericTOC1 -* This class has the information of TOC1 -*/ -class CCSXHGenericTOC1 : public CCSXHHelpContentBase - { - public: -/** - * @function ~CCSXHGenericTOC1 - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - ~CCSXHGenericTOC1(); -/** - * @function FillChildDataL - * @since S60 3.2 - * Fill the array - * @param aArray - A pointer to a Descriptor Array - */ - IMPORT_C virtual void FillChildDataL(CDesCArray* aArray); -/** - * @function GetChildL - * @since S60 3.2 - * Fill the array - * @param aName - toc1 Name - * @return pointer to toc2 type casted to database class - */ - IMPORT_C virtual CCSXHHelpContentBase* GetChildL(const TDesC& aName); - -/** - * @function InsertChild - * @since S60 3.2 - * Insert toc2 objects - * @param atoc2 - toc2 objects - * @param aDeleteObject - boolean, default True - * @return ETrue Successful, EFalse otherwise - */ - TBool InsertChild(CCSXHHelpContentBase* atoc2,TBool aDeleteObject = ETrue); - -/** - * @function ResetChildList - * @since S60 3.2 - * clear Array, delete the objects - * @return ETrue Successful, EFalse otherwise - */ - virtual void ResetChildList(); - - - protected: -/** -* @function CCSXHGenericTOC1 -* @since S60 3.2 -* Construct a CCSXHGenericTOC1 -* @param aName - TOC1 Name -*/ - CCSXHGenericTOC1(const TDesC& aName); - -/** -* @function InitChildList -* @since S60 3.2 -* Allocate the Memory for Array -*/ - virtual void InitChildList(); -/** -* @function CopyChildListL -* @since S60 3.2 -* Copy the content to Descriptor Array -* @param aArray - Descriptor Array -*/ - virtual void CopyChildListL(CDesCArray* aArray); - -/** -* @function ConstructChildList -* @since S60 3.2 -* Fill the toc2 objects in the array -* calls ConstructChildListL internally -* @return ETrue on Success, EFalse otherwise -*/ - TBool ConstructChildList(); - - private: -/** -* @function ConstructChildListL -* @since S60 3.2 -* Fill the toc2 objects in the array -*/ - void ConstructChildListL(); - - protected: - - RPointerArray *iChildList; - - }; - - - -#endif /* INC_CSXHGENERICTOC1_H_HEADER_INCLUDED_BC050AFE */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHGenericTOC2.h --- a/csxhelp/HelpEngine/inc/CSXHGenericTOC2.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -/* -* 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: CCSXHGenericTOC2 class declaration -* -*/ - -#ifndef INC_CSXHGENERICTOC2_H_HEADER_INCLUDED_BC05356D -#define INC_CSXHGENERICTOC2_H_HEADER_INCLUDED_BC05356D - -#include "CSXHHelpContentBase.h" - -class CCSXHGenericTOC1; -/** -* @class CCSXHGenericTOC2 -* This class has the information of TOC2 -*/ -class CCSXHGenericTOC2 : public CCSXHHelpContentBase - { - public: -/** - * @function GetParent - * @since S60 3.2 - * Get the Parent object - * @return pointer to toc1 class object - */ - IMPORT_C CCSXHGenericTOC1* GetParent(); -/** - * @function GetTopicContentL - * @since S60 3.2 - * Get topic to display - * @return pointer to Buffer - */ - virtual TAny* GetTopicContentL() = 0; - - protected: -/** -* @function CCSXHGenericTOC2 -* @since S60 3.2 -* Construct a CCSXHGenericTOC2 -* @param aParent - TOC1 object -* aName - toc2 Name -*/ - CCSXHGenericTOC2(CCSXHGenericTOC1* aParent, const TDesC& aName); - CCSXHGenericTOC1* iParent; - - }; - - - -#endif /* INC_CSXHGENERICTOC2_H_HEADER_INCLUDED_BC05356D */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHHTMLContentParser.h --- a/csxhelp/HelpEngine/inc/CSXHHTMLContentParser.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,338 +0,0 @@ -/* -* 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: CCSXHHTMLContentParser class declaration -* -*/ - - -#ifndef __CCSXHHTMLCONTENTPARSER_H__ -#define __CCSXHHTMLCONTENTPARSER_H__ - -#include "CSXHGenericTOC1.h" -#include -#include -#include - - -class TAppUid; -class CSenXmlReader; -class CCSXHXMLParseHandler; -class CCSXHHtmlTOC1; -class CCSXHHelpDataBase; -class CCSXHKywdTOC1; -class CCoeEnv; -class CCSXHHelpContentBase; -class CCSXHGenericTOC2; -class MSenContentHandlerClient; -class CCSXHXMLParseHandler_Kywd; -class CCSXHRuntimeIndexing; -/** -* CCSXHHTMLContentParser class. -* This class is used to parse XML files & generate Html data -* @lib euser.lib SenXml.lib XMLFRAMEWORK.lib ezip.lib HLPMODEL.LIB -* @since 3.2 -*/ -class CCSXHHTMLContentParser : public CBase -{ - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHHTMLContentParser -* and return a pointer to the created object -* @param aCoeEnv - Control Environment -* @return a CCSXHHTMLContentParser Pointer -*/ - static CCSXHHTMLContentParser* NewL(CCoeEnv* aCoeEnv); -/** -* @function NewLC -* @since S60 3.2 -* Construct a CCSXHLegacyContentParser -* and return a pointer to the created object using two phase construction -* @param aCoeEnv - Control Environment -* @return a CCSXHLegacyContentParser Pointer -*/ - static CCSXHHTMLContentParser* NewLC(CCoeEnv *aCoeEnv); -/** -* @function GenerateTOC1ListL -* @since S60 3.2 -* Generate Html TOC1 Objects -* @param aDataBase - Database class pointer -*/ void GenerateTOC1ListL(CCSXHHelpDataBase* aDataBase); -/** -* @function GenerateTOC2ListL -* @since S60 3.2 -* Generate Html TOC2 Objects -* @param atoc1 - generic toc1 class pointer -* aArray - Database class pointer's array pointer -*/ - void GenerateTOC2ListL(CCSXHGenericTOC1& atoc1, RPointerArray* aArray); -/** -* @function GetTopicContentL -* @since S60 3.2 -* Get the Buffer for a selected toc2 -* @param atoc2 - generic toc2 class pointer -* @return pointer to a buffer -*/ - TAny* GetTopicContentL(CCSXHGenericTOC2* atoc2); -/** -* @function GetContentsFromFileL -* @since S60 3.2 -* Get the Buffer from a html file -* @param htmlFile - html file path -* aCoeEnv - Control Environment -* @return pointer to a buffer -*/ - static HBufC8* GetContentsFromFileL(const TDesC& htmlFile,CCoeEnv* aCoeEnv,RFeatureControl &aFeatureControl); - -/** -* @function GetHtmlFileL -* @since S60 3.2 -* Get the html file path -* @param aCoeEnv - Control Environment -* aDir - Directory -* TAppUid - UID -* aFileName - FileName(IN/OUT Argument) -*/ - static void GetHtmlFileL(CCoeEnv* aCoeEnv,const short& aDir, - const TAppUid& aUid,TBuf& aFileName); -/** - * @function ~CCSXHHTMLContentParser - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - ~CCSXHHTMLContentParser(); - -/** -* @function GenerateKywdTOC1ListL -* @since S60 3.2 -* Generate Html Keyword TOC1 Objects -* @param aDataBase - Database class pointer -*/ - void GenerateKywdTOC1ListL(CCSXHHelpDataBase* aDataBase); -/** -* @function GenerateTOC2ListForKeywordSearchL -* @since S60 3.2 -* Generate Html Keyword TOC2 Objects -* @param aDataBase - Database class pointer -* @param akywdtoc1 - keyword toc1 class pointer -*/ - void GenerateTOC2ListForKeywordSearchL(CCSXHHelpDataBase* aDataBase, - CCSXHKywdTOC1* akywdtoc1); -/** -* @function GetContextTopic -* @since S60 3.2 -* Get the help Context object -* @param aContext - Help context object -* @return database class pointer -*/ - CCSXHHelpContentBase* GetContextTopic(const TUid &aUid, const TDesC &contextName); -/** -* @function GetHtmlTopicForUrlL -* @since S60 3.2 -* Get the toc2 object in order to get Content -* @param aurl - Full File Path -* @return pointer to database -*/ - CCSXHHelpContentBase* GetHtmlTopicForUrlL(const TDesC& aurl); - -/** -* @function IsUidCategoryPresent -* @since S60 3.2 -* Check for Existance of Appication Uid -* @param aUid - Application Uid -* @return ETrue if exists, EFalse otherwise -*/ - TBool IsUidCategoryPresent(const TUid& aUid); - - - void InsertHTMLToc1L(const TDesC &appUidName,const TDesC &appName,const TInt& aDrive, - CCSXHHelpDataBase* aDataBase,const TDesC &FeatureIds ); - -/** -* @function GetHTMLToc1 -* @since S60 3.2 -* Get the HTML TOC1 object -* @param aUid - Application Uid -* aCurrentHtmlToc1 - HTMLTOC1 pointer -* @return ETrue if present, EFalse otherwise -*/ - TBool GetHTMLToc1(const TDesC& aUid,CCSXHXMLParseHandler* aParser); - - TBool CheckFeatureIDL(const TDesC& aFeatueIds); - private: -/** -* @function CCSXHHTMLContentParser -* @since S60 3.2 -* Construct a CCSXHHTMLContentParser -* @param aCoeEnv - Control Environment -*/ - CCSXHHTMLContentParser(CCoeEnv* aCoeEnv); -/** -* @function InitializeReaderL -* @since S60 3.2 -* Create XMLParse Objects -* @param aXMLParser - Pointer to XML parse Handler -*/ - void InitializeReaderL(CCSXHXMLParseHandler* aXMLParser); -/** -* @function InitializeParserAndReaderL -* @since S60 3.2 -* Delete XMLParse Objects -* @param aXMLParser - Pointer to XML parse Handler -*/ - void ClearReader(); -/** -* @function ConstructL -* @since S60 3.2 -* perform the second phase construction -*/ - void ConstructL(); -/** -* @function ScanAndParseXMLfileToCreateTOC1ObjectL -* @since S60 3.2 -* perform the second phase construction -* @param aFileSession - FileSession -* ascanner - CDirScan pointer -* aDatabase - Database pointer -* aDrive - Drive Number -* aXMLParser - XMLParserhandler pointer -*/ - void ScanAndParseXMLfileToCreateTOC1ObjectL(RFs& aFileSession,CDirScan* ascanner, - CCSXHHelpDataBase* aDataBase, - const TInt& aDrive,CCSXHXMLParseHandler* aXMLParser); -/** -* @function HandleMasterMetaFileL( -* @since S60 3.2 -* perform the second phase construction -* @param aFileSession - FileSession -* aDatabase - Database pointer -* aRootDir - Root directory -* aPrevHandler - Previous Content Handler -* @return ETrue if handled, EFalse otherwise -*/ - TBool HandleMasterMetaFileL(CCSXHHelpDataBase* aDataBase, - TChar& aDrive, MSenContentHandlerClient *aPrevHandler); -/** -* @function HandleMasterKeywordFileL( -* @since S60 3.2 -* parse makster keywords file -* @param aDatabase - Database pointer -* @return ETrue if handled, EFalse otherwise -*/ TBool HandleMasterKeywordFileL(CCSXHHelpDataBase* aDataBase); - - - static TBool GetHTMLContentPathForDriveL(TBuf* aContentDrive,CCoeEnv *aCoeEnv); - -/** -* @function IsAppUIdPresentAlready( -* @since S60 3.2 -* Check duplicate Uids -* @param aUid - Application Uid -* @return ETrue if dupicate is identified, EFalse otherwise -*/ - TBool IsAppUIdPresentAlready(const TDesC& aUid); - -/** -* @function GetCorrespondingTOC1FromMainArray( -* @since S60 3.2 -* Get TOC1 object from the main array, which is used to display Main topic view. -* @param aApplicationName - Application Name -* @return pointer to HTML toc1. -*/ - CCSXHHtmlTOC1* GetCorrespondingTOC1FromMainArray(const TDesC& aApplicationName); - -/** -* @function ParseKeywdFileAndCreatekywdTOC1Objects -* @since S60 3.2 -* Parse keyword.xml file and Create kywd TOC1 objects. -* @param aTOC1ObjectsArray - Array of HTMLToc1Objects -* XMLParser - pointer to XML parse handler. -* bMasterKeywordFilePresent - Boolean parameter -*/ - - void ParseKeywdFileAndCreatekywdTOC1ObjectsL(RPointerArray& aTOC1ObjectsArray, - CCSXHXMLParseHandler_Kywd* XMLParser, TBool bMasterKeywordFilePresent); - -/** -* @function ParseKeywdFileAndCreatekywdTOC1Objects -* @since S60 3.2 -* Parse keyword.xml file and Create kywd TOC1 objects. -* @param aTOC1ObjectsArray - Array of HTMLToc1Objects -* aUrl - html file path -*/ - - CCSXHHelpContentBase* CCSXHHTMLContentParser::GetObjectBasedonUrlL(RPointerArray& aTOC1ObjectsArray, - const TDesC& aUrl,TBool aMainArrayList); - -/** -* @function GetSupportedFeatureListL -* @since S60 3.2 -* Get enabled featureIds in the current build -*/ - void GetSupportedFeatureListL(); - -/** -* @function CreateBufferForCSSContentL -* @since S60 3.2 -* Create CSS Content using enabled featureIds -* @param aFeatureControl - RFeatureControl instance -*/ - static HBufC8* CreateBufferForCSSContentL(RFeatureControl& aFeatureControl); - -/** -* @function GetContentsFromHTMLFileL -* @since S60 3.2 -* Read the contents from HTML file -* @param htmlFile - HTML file name -* aCoeEnv - Control Environment -*/ - - static HBufC8* GetContentsFromHTMLFileL(const TDesC& htmlFile, CCoeEnv* aCoeEnv); - -/** -* @function MergeCssAndHTMLContentL -* @since S60 3.2 -* Merge CSS and HTML Content -* @param aHTMLBuffer - HTML file content -* aCssContent - CSS content -*/ - - static HBufC8* MergeCssAndHTMLContentL(HBufC8* aHTMLBuffer, HBufC8* aCssContent); - - static void AppendStyleSheetContent_listitem(TPtr8& abufferptr,TInt aFeatureIdCount, - RFeatureUidArray& aSupportedFeatures,CArrayFix& alanguageCodeArray); - static void AppendStyleSheetContent_paragraph(TPtr8& abufferptr,TInt aFeatureIdCount, - RFeatureUidArray& aSupportedFeatures,CArrayFix& alanguageCodeArray); - static void AppendStyleSheetContent_ahref(TPtr8& abufferptr,TInt aFeatureIdCount, - RFeatureUidArray& aSupportedFeatures,CArrayFix& alanguageCodeArray); - static void AppendStyleSheetContent_none(TPtr8& abufferptr,TInt aFeatureIdCount, - RFeatureUidArray& aSupportedFeatures); - private: - CSenXmlReader *iXmlReader; - - //Store all the created HTML TOC1 objects for future reference. - RPointerArray iHtmlTOC1List,iDuplicateHelpTopicList; - CCoeEnv *iCoeEnv; - - RFeatureUidArray iSupportedFeatures; - RFeatureControl iFeatureControl; - //Input Language variation changes - CDesCArray* iSupportedInputLanguages; - CDesCArray* iFeatureManager_FeatureIds; - CCSXHRuntimeIndexing* iIndexing; - -}; - -#endif diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHHelpContentBase.h --- a/csxhelp/HelpEngine/inc/CSXHHelpContentBase.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -/* -* 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: CCSXHHelpContentBase class declaration -* -*/ - - -#ifndef INC_CSXHHELPCONTENTBASE_H_HEADER_INCLUDED_BC0553D0 -#define INC_CSXHHELPCONTENTBASE_H_HEADER_INCLUDED_BC0553D0 - -#include -#include - -const TInt KMaxHelpTopicName = 30; -/** -* @class CCSXHGenericTOC1 -* This class is the base class for GenericTOC1 & GenericTOC2 -*/ -class CCSXHHelpContentBase : public CBase - { - public: - /** - * @function ~CCSXHHelpContentBase - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - virtual ~CCSXHHelpContentBase(); - -/** -* @function GetViewID -* @since S60 3.2 -* Get ViewId to activate the View -* @return View Id -*/ - IMPORT_C virtual TUid GetViewID() const = 0; - -/** -* @function GetName -* @since S60 3.2 -* Get the name -* @return Pointer which contains Name -*/ - IMPORT_C TPtr GetName() const; - - protected: -/** -* @function CCSXHHelpContentBase -* @since S60 3.2 -* Construct a CCSXHHelpContentBase -* @param aName - Name -*/ - CCSXHHelpContentBase(const TDesC& name); - - private: - // 1. For Generic TOC1: The TOC1 entry name - // 2. For Generic TOC2: The TOC2 entry name - // 3. For help database: Unused - //TBuf iName; - //typedef TBuf<30> TCoeContextName; - - HBufC *iName; - - template - friend TInt Orderer(const T& left, const T& right); - - }; -/** -* @function Orderer -* @since S60 3.2 -* template function used to compare between two objects -* @param left - template object -* right - template object -* @return 0 if both are same, +ve or -ve Values as per Comparision -*/ -template -TInt Orderer(const T& left, const T& right) - { - //return left.GetName().CompareC(right.GetName()); - return (left.iName)->CompareC(*right.iName); - } - -#endif /* INC_CSXHHELPCONTENTBASE_H_HEADER_INCLUDED_BC0553D0 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHHelpDataBase.h --- a/csxhelp/HelpEngine/inc/CSXHHelpDataBase.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,262 +0,0 @@ -/* -* 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: CCSXHHelpDataBase class declaration -* -*/ - - -#ifndef INC_CSXHHELPDATABASE_H_HEADER_INCLUDED_BC054F58 -#define INC_CSXHHELPDATABASE_H_HEADER_INCLUDED_BC054F58 - -#include "CSXHHelpContentBase.h" -#include "CSXHGenericTOC1.h" -#include -#include -class CAknProgressDialog; - -class CCSXHHelpDataBase; -class CCSXHHTMLContentParser; -class CCSXHLegacyContentParser; -class CCSXHGenericTOC2; -class CCSXHKywdTOC1; -class CCSXHHtmlTOC1; -class CCoeEnv; -class CCSXHMainTopics; -class CCSXHKywdTopics; -class MCSXHKywdBuilder; - -/** -* @class CCSXHHelpDataBase -* This class has all pointers & used to generate the required data from Application -*/ -class CCSXHHelpDataBase : public CBase - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHHelpDataBase -* and return a pointer to the created object -* @param aCoeEnv - Control Environment -* @return a CCSXHHelpDataBase Pointer -*/ - IMPORT_C static CCSXHHelpDataBase* NewL(CCoeEnv* aCoeEnv,const TApaAppCaption& aAppCaption); -/** -* @function NewLC -* @since S60 3.2 -* Construct a CCSXHHelpDataBase -* and return a pointer to the created object using two phase construction -* @param aCoeEnv - Control Environment -* @return a CCSXHHelpDataBase Pointer -*/ - static CCSXHHelpDataBase* NewLC(CCoeEnv *aCoeEnv,const TApaAppCaption& aAppCaption); - -/** -* @function GetInstance -* @since S60 3.2 -* Get the instance of database class -* @return database pointer -*/ - static CCSXHHelpDataBase* GetInstance(); - - /** - * @function ~CCSXHHelpDataBase - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - IMPORT_C ~CCSXHHelpDataBase(); -/** -* @function GetMainTopics -* @since S60 3.2 -* Get the instance of Main toc1 -* @return toc1 pointer -*/ - IMPORT_C CCSXHGenericTOC1* GetMainTopics(); -/** -* @function GetKywdTopics -* @since S60 3.2 -* Get the instance of keyword toc1 -* @return toc1 pointer -*/ - IMPORT_C CCSXHGenericTOC1* GetKywdTopics(); -/** -* @function ClearAllTOC1Contents -* @since S60 3.2 -* Delete all the objects from the Array -*/ - IMPORT_C void ClearAllTOC1Contents(); -/** -* @function GetContextTopic -* @since S60 3.2 -* Delete all the objects from the Array -* @param aContextMessage - Message Sent by other Application -* @return Database pointer -*/ - IMPORT_C CCSXHHelpContentBase* GetContextTopic(const TDesC8& aContextMessage); -/** -* @function GetHtmlTopicForUrlL -* @since S60 3.2 -* Delete all the objects from the Array -* @param aurl - Html file path -* @return Database pointer -*/ - IMPORT_C CCSXHHelpContentBase* GetHtmlTopicForUrlL(const TDesC& aurl); - -/** -* @function IncrementProgressBar -* @since S60 3.2 -* Increments the progress info -* @return progress info pointer -*/ - void IncrementKeywordSearchCount(TInt aUnits = 1); -/** -* @function GetLegacyParser -* @since S60 3.2 -* Get LegacyContentparser -* @return LegacyContentParser pointer -*/ - CCSXHLegacyContentParser* GetLegacyParser(); -/** -* @function GetHtmlParser -* @since S60 3.2 -* Get htmlContentparser -* @return HtmlContentParser pointer -*/ - CCSXHHTMLContentParser* GetHtmlParser(); -/** -* @function InsertKeywordL -* @since S60 3.2 -* Insert into array -* @param aKywdName - Keyword Name -* aToc1 - Toc1 Object -*/ - void InsertKeywordL(const TDesC& aKywdName, CCSXHHtmlTOC1* aToc1); -/** -* @function InsertKeywordL -* @since S60 3.2 -* Insert into Array -* @param aKywdName - Keyword Name -* aLegacyKywdIndex - Position -* aCatUid - Application Uid -*/ - void InsertKeywordL(const TDesC& aKywdName, TInt aLegacyKywdIndex, const TUid& aCatUid); - - -/** -* @function InitGenerateKeywordTOC2ListL -* @since S60 3.2 -* Initializes the generation of kywd toc2 objects -* @param aKywdToc1 - Keyword toc1 object -*/ - IMPORT_C TInt InitGenerateKeywordTOC2ListL(CCSXHKywdTOC1* aKywdToc1); - -/** -* @function GenerateKeywordTOC2ListL -* @since S60 3.2 -* Generate the toc2 objects,InitGenerateKeywordTOC2ListL has to be called first -* @param aKywdToc1 - Keyword toc1 object -*/ - void GenerateKeywordTOC2ListL(CCSXHKywdTOC1* aKywdToc1); - -/** -* @function InsertKeywordTopicL -* @since S60 3.2 -* The caller should allocate memory for the aTOC2 object, if it is not successfully -* added to the topic, then this function will free the memory -* @param -* aToc2 - toc2 object -*/ - CCSXHKywdTOC1* InsertKeywordTopicL(CCSXHGenericTOC2* aToc2); - -/** -* @function InsertKeywordTopic -* @since S60 3.2 -* The caller should allocate memory for the aTOC2 object, if it is not successfully -* added to the topic, then this function will free the memory -* @param aToc1 - toc1 object -* aToc2 - toc2 object -*/ - void InsertKeywordTopic(CCSXHKywdTOC1* aToc1, CCSXHGenericTOC2* aToc2); - -/** -* @function FillKeywordTopicsL -* @since S60 3.2 -* Fills Keyword objects -* @param aBuilder - MCSXHKywdBuilder object -*/ - void FillKeywordTopicsL(MCSXHKywdBuilder* aBuilder); - -/** -* @function GetCoeEnv -* @since S60 3.2 -* Get the Control Environment -* @return pointer to control environment -*/ - CCoeEnv* GetCoeEnv(); -/** -* @function GetKeywordSearchCount -* @since S60 3.2 -* Gets the current count of keywords for search result view -* @return TInt count -*/ -IMPORT_C TInt GetKeywordSearchCount(); - - private: -/** -* @function ConstructL -* @since S60 3.2 -* perform the second phase construction -*/ - void ConstructL(); -/** -* @function CCSXHHelpDataBase -* @since S60 3.2 -* Construct a CCSXHHelpDataBase -* @param aCoeEnv - Control Environment -*/ - CCSXHHelpDataBase(CCoeEnv* aCoeEnv,const TApaAppCaption& aAppCaption); - -/** -* @function GetContextTopicL -* @since S60 3.2 -* Get the topic for the Context -* @param aContextMessage - Message sent by other Application -* @return Database pointer -*/ - CCSXHHelpContentBase* GetContextTopicL(const TDesC8& aContextMessage); - - // List of TOC1 entries - CCSXHMainTopics *iMainTOC1; - // List of keyword entries - CCSXHKywdTopics *iKywdTOC1; - - - CCSXHHTMLContentParser *iHTMLContentParser; - CCSXHLegacyContentParser *iLegacyContentParser; - - CCoeEnv *iCoeEnv; - - CCSXHHelpContentBase *iLastContextTopic; - - MCSXHKywdBuilder *iKwydBuilder; - - TApaAppCaption iAppCaption; - - TInt iKeywordSearchCount; - - }; - - - -#endif /* INC_CSXHHELPDATABASE_H_HEADER_INCLUDED_BC054F58 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHHtmlTOC1.h --- a/csxhelp/HelpEngine/inc/CSXHHtmlTOC1.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,147 +0,0 @@ -/* -* 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: CCSXHHtmlTOC1 class declaration -* -*/ - - -#ifndef INC_CSXHHTMLTOC1_H_HEADER_INCLUDED_BC0568C5 -#define INC_CSXHHTMLTOC1_H_HEADER_INCLUDED_BC0568C5 - -#include "CSXHGenericTOC1.h" - -class CCSXHHelpDataBase; - -/** -* @class TAppUid -* This class stores the required information to store a folder name in string -* as integer and converts it back to a string when required. This class is mainly -* to save RAM space -*/ - -class TAppUid - { - public: - TAppUid(const TDesC& aFolder); - const TUid& GetUid() const; - TBool IsValid() const; - void AppendUid(TBuf& aStr) const; - private: - TUid iUid; - TUint8 iLength; - }; - - -/** -* @class CCSXHHtmlTOC1 -* This class has the information of html TOC1 -*/ -class CCSXHHtmlTOC1 : public CCSXHGenericTOC1 - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHHtmlTOC1 -* and return a pointer to the created object -* @param aName - TOC1 Name -* aUid - Application Uid -* aDrive - Drive Number -* @return a CCSXHHtmlTOC1 Pointer -*/ - static CCSXHHtmlTOC1* NewL(const TDesC& aName,const TDesC& aFolder, - const TInt& aDrive); -/** - * @function ~CCSXHHtmlTOC1 - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - ~CCSXHHtmlTOC1(); - -/** -* @function GetViewID -* @since S60 3.2 -* Get ViewId to activate the View -* @return View Id -*/ - TUid GetViewID() const; - -/** -* @function GetAppUid -* @since S60 3.2 -* Get Application uid -* @return Application UId -*/ - const TUid& GetAppUid() const; -/** -* @function GetContextTopic -* @since S60 3.2 -* Get content for Context Name -* @param acontextName - Context Name -* @return pointer to database class -*/ - CCSXHHelpContentBase* GetContextTopic(const TDesC& acontextName); -/** -* @function GetHelpFileL -* @since S60 3.2 -* Get the file path -* @param aFilePath - File Path -*/ - void GetHelpFileL(TBuf& aFilePath) const; -/** -* @function GetHtmlTopicForFile -* @since S60 3.2 -* Get the toc2 object in order to get Content -* @param aFile - toc2 Name -*/ - CCSXHHelpContentBase* GetHtmlTopicForFile(const TDesC& aFile); - -/** -* @function GetHelpFileL -* @since S60 3.2 -* Get the file path -* @return ETrue, if it part of ROMdrive, EFalse otherwise -*/ - TBool IsROMDrive(); - - protected: -/** -* @function CCSXHHtmlTOC1 -* @since S60 3.2 -* Construct a CCSXHHtmlTOC1 -* @param aName - TOC1 Name -* aUid - Application Uid -* aDrive - Drive Number -*/ - CCSXHHtmlTOC1(const TDesC& aName,const TDesC& aFolder,const TInt& aDriveName); -/** -* @function InitChildList -* @since S60 3.2 -* Allocate Memory to the array -*/ - void InitChildList(); - - TBool IsValid() const; - - - private: - - - TAppUid iAppUid; - short iDrive; - }; - - - -#endif /* INC_CSXHHTMLTOC1_H_HEADER_INCLUDED_BC0568C5 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHHtmlTOC2.h --- a/csxhelp/HelpEngine/inc/CSXHHtmlTOC2.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,172 +0,0 @@ -/* -* 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: CCSXHHtmlTOC2 class declaration -* -*/ - - -#ifndef INC_CSXHHTMLTOC2_H_HEADER_INCLUDED_BC052432 -#define INC_CSXHHTMLTOC2_H_HEADER_INCLUDED_BC052432 - -#include "CSXHGenericTOC2.h" - -class CCSXHGenericTOC1; -class CCSXHKywdTOC1; -class CCoeEnv; -class TCoeHelpContext; -class RFeatureControl; -/** -* @class CCSXHHtmlTOC2 -* This class has the information of html TOC2 -*/ -class CCSXHHtmlTOC2 : public CCSXHGenericTOC2 - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHHtmlTOC2 -* and return a pointer to the created object -* @param aparent - TOC1 object -* aName - toc2 Name -* aHtmlFileName - FileName -* aKey - ETrue for Keyword toc2, EFalse otherwise -* @return a CCSXHHtmlTOC2 Pointer -*/ -static CCSXHHtmlTOC2* NewL(CCSXHGenericTOC1* aparent,const TDesC& aName, -const TDesC& aHtmlFileName,TBool aKey=EFalse); -/** -* @function NewLC -* @since S60 3.2 -* Construct a CCSXHHtmlTOC2 -* and return a pointer to the created object using two phase construction -* @param aparent - TOC1 object -* aName - toc2 Name -* aHtmlFileName - FileName -* aKey - ETrue for Keyword toc2, EFalse otherwise -* @return a CCSXHHtmlTOC2 Pointer -*/ -static CCSXHHtmlTOC2* NewLC(CCSXHGenericTOC1*aparent,const TDesC& aName, -const TDesC& aHtmlFileName,TBool aKey=EFalse); - -/** - * @function ~CCSXHHtmlTOC2 - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - ~CCSXHHtmlTOC2(); - -/** - * @function ~CCSXHHtmlTOC2 - * @since S60 3.2 - * Get the full path of the HTML file - * @param aFileUrl - Buffer in order to get the file path - */ - IMPORT_C void GetHtmlUrlL(TBuf& aFileUrl) const; - -/** -* @function GetViewID -* @since S60 3.2 -* Get ViewId to activate the View -* @return View Id -*/ - TUid GetViewID() const; -/** -* @function GetTopicContentL -* @since S60 3.2 -* Get the content to display in the browser -* @return Pointer to the buffer -*/ - TAny* GetTopicContentL(); - -/** -* @function GetFileName -* @since S60 3.2 -* Get html file Name -* @return buffer which contains html file Name -*/ - const TBuf& GetFileName() const; - -/** -* @function GetHelpContext -* @since S60 3.2 -* Constructs a Help Context corresponding to the topic -* @returns true on success -*/ - IMPORT_C TBool GetHelpContext(TCoeHelpContext& aContext) const; - -/** -* @function GetContentsFromUrlL -* @since S60 3.2 -* Get content from a html file -* @param aUrl - Full file path -* aCoeEnv - Control Environment -* @return pointer to buffer which contains HTML file content -*/ - IMPORT_C static HBufC8* GetContentsFromUrlL(const TDesC& aUrl, - CCoeEnv* aCoeEnv,RFeatureControl& aFeatureControl); - -/** -* @function SetKywdParent -* @since S60 3.2 -* Set the parent object -* @param aParent - keyword toc1 class pointer -*/ - void SetKywdParent(CCSXHKywdTOC1* aParent); -/** -* @function GetKywdParent -* @since S60 3.2 -* Get the parent -* @return poniter to keywordtoc1 (parent) class -*/ - IMPORT_C CCSXHKywdTOC1* GetKywdParent(); - -/** -* @function SetHtmlFilePath -* @since S60 3.2 -* Set Html file path -* @param aFilePath - Html file path -*/ - void SetHtmlFilePath(const TDesC& aFilePath); - -/** -* @function GetHtmlFileName -* @since S60 3.2 -* Get html file -* @param aFileName - Full path with html file name -*/ - void GetHtmlFileName(TBuf& aFileName); - - private: -/** -* @function CCSXHHtmlTOC2 -* @since S60 3.2 -* Construct a CCSXHHtmlTOC2 -* @param aparent - TOC1 object -* aName - toc2 Name -* aHtmlFileName - FileName -* aKey - ETrue for Keyword toc2, EFalse otherwise -*/ - CCSXHHtmlTOC2(CCSXHGenericTOC1* aparent,const TDesC& aName, - const TDesC& aHtmlFileName,TBool aKeyWord = false); - - private: - TBuf iHTMLFileName,iHTMLFilePath; - TBool iKeyWordTopic; - CCSXHKywdTOC1 *iKywdParent; - }; - - - -#endif /* INC_CSXHHTMLTOC2_H_HEADER_INCLUDED_BC052432 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHKywdTOC1.h --- a/csxhelp/HelpEngine/inc/CSXHKywdTOC1.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -/* -* 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: CCSXHKywdTOC1 class declaration -* -*/ - - -#ifndef INC_CSXHKYWDTOC1_H_HEADER_INCLUDED_BC0568C5 -#define INC_CSXHKYWDTOC1_H_HEADER_INCLUDED_BC0568C5 - -#include "CSXHGenericTOC1.h" - -class CCSXHHtmlTOC1; -/** -* @class CCSXHLegacyTOC1 -* This class has the information of keyword TOC1 -*/ -class CCSXHKywdTOC1 : public CCSXHGenericTOC1 - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHKywdTOC1 -* and return a pointer to the created object -* @param aName - Name of the TOC1 -* @return a CCSXHKywdTOC1 Pointer -*/ - static CCSXHKywdTOC1* NewL(const TDesC& aName); -/** -* @function NewLC -* @since S60 3.2 -* Construct a CCSXHKywdTOC1 -* and return a pointer to the created object using two phase contruction -* @param aName - Name of the TOC1 -* @return a CCSXHKywdTOC1 Pointer -*/ - static CCSXHKywdTOC1* NewLC(const TDesC& aName); -/** - * @function ~CCSXHKywdTOC1 - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - ~CCSXHKywdTOC1(); -/** -* @function GetViewID -* @since S60 3.2 -* Get ViewId to activate the View -* @return View Id -*/ - TUid GetViewID() const; -/** -* @function LegacyIndex -* @since S60 3.2 -* Get the position -* @return position -*/ - TInt& LegacyIndex(); -/** -* @function AppendHtmlTOC1L -* @since S60 3.2 -* Insert html toc1 object -* @param atoc1 - html toc1 class pointer -*/ - void AppendHtmlTOC1L(CCSXHHtmlTOC1* aToc1); - -/** -* @function GetHtmlTOC1List -* @since S60 3.2 -* Get the Array -* @return pointer to the Array of html toc1 objects -*/ - RPointerArray* GetHtmlTOC1List(); - - protected: -/** -* @function CCSXHKywdTOC1 -* @since S60 3.2 -* Construct a CCSXHKywdTOC1 -* @param aName - kywd toc1 name -*/ - CCSXHKywdTOC1(const TDesC& aName); -/** -* @function InitChildList -* @since S60 3.2 -* Allocate Memory for toc1htmllist array -*/ - void InitChildList(); - private: - TInt iLegacyIndex;//Needed for getting the TOC2 kywd legacy contents - RPointerArray *iTOC1HtmlList; //Needed for getting the TOC2 kywd HTML contents - - }; - - - -#endif /* INC_CSXHKYWDTOC1_H_HEADER_INCLUDED_BC0568C5 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHKywdTopics.h --- a/csxhelp/HelpEngine/inc/CSXHKywdTopics.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,150 +0,0 @@ -/* -* 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: CCSXHKywdTopics class declaration -* -*/ - - -#ifndef INC_CSXHKYWDTOPICS_H_HEADER_INCLUDED_BC0568C5 -#define INC_CSXHKYWDTOPICS_H_HEADER_INCLUDED_BC0568C5 - -#include "CSXHGenericTOC1.h" -#include - -class CCSXHHelpDataBase; -class CCSXHHtmlTOC1; -class CCSXHKywdTOC1; - -/** -* @class CCSXHKywdTopics -* This class has the information of Keyword Objects -*/ -class CCSXHKywdTopics : public CCSXHGenericTOC1 - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHKywdTopics -* and return a pointer to the created object -* @param aDataBase - database class pointer -* @return a CCSXHKywdTopics Pointer -*/ - static CCSXHKywdTopics* NewL(const TApaAppCaption& aAppCaption); -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHKywdTopics -* and return a pointer to the created object using two phase construction -* @param aDataBase - database class pointer -* @return a CCSXHKywdTopics Pointer -*/ - static CCSXHKywdTopics* NewLC(const TApaAppCaption& aAppCaption); -/** -* @function ~CCSXHKywdTopics -* @since S60 3.2 -* Destroy the object and release all memory objects -*/ - ~CCSXHKywdTopics(); -/** -* @function GetViewID -* @since S60 3.2 -* Get ViewId to activate the View -* @return View Id -*/ - TUid GetViewID() const; -/** -* @function InsertKywdL -* @since S60 3.2 -* Insert into an array -* @param aKywd - Keyword Name -*/ - void InsertKywdL(const TDesC& aKywd); -/** -* @function GetChildL -* @since S60 3.2 -* Get objects for keyword -* @param aKywd - Keyword Name -* @return database class pointer -*/ - CCSXHHelpContentBase* GetChildL(const TDesC& aName); - -/** -* @function GetSelectedTopic -* @since S60 3.2 -* Get the pointer for a selected Keyword -* @return keyword toc1 class pointer -*/ - CCSXHKywdTOC1* GetSelectedTopic(); - - protected: -/** -* @function CCSXHKywdTopics -* @since S60 3.2 -* Construct a CCSXHKywdTopics -* @param aName - keyword Name -*/ - CCSXHKywdTopics(const TDesC& aName); - -/** -* @function InitChildList -* @since S60 3.2 -* Allocate Memory for the Array -*/ - void InitChildList() {} -/** -* @function CopyChildListL -* @since S60 3.2 -* Copies content to Descriptor Array -* @param aArray - Descriptor Array -*/ - void CopyChildListL(CDesCArray* aArray); - - private: - CDesCArray *iKywdTopics; - CCSXHKywdTOC1 *iCurrentTopic; - }; - - - -/** -* @class MCSXHKywdBuilder -* The HTML content parser operates on this class for inserting keywords -*/ -class MCSXHKywdBuilder - { - public: // New functions -/** -* @function InsertKeywordL -* @since S60 3.2 -* Insert keywords into an array, pure virtual function -* @param aKwdTopics - keyword topics class pointer -* aKwd - keyword Name -* aToc1 - html toc1 class pointer -*/ - virtual void InsertKeywordL(CCSXHKywdTopics* aKwdTopics, const TDesC& aKwd, - CCSXHHtmlTOC1* aToc1) = 0; -/** -* @function InsertKeywordL -* @since S60 3.2 -* Insert keywords into an array, pure virtual function -* @param aKwdTopics - keyword topics class pointer -* aKwd - keyword Name -* aLegacyIndex - position of the object -*/ - virtual void InsertKeywordL(CCSXHKywdTopics* aKwdTopics, const TDesC& aKwd, - const TInt& aLegacyIndex) = 0; - }; - -#endif /* INC_CSXHKYWDTOPICS_H_HEADER_INCLUDED_BC0568C5 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHLegacyContentParser.h --- a/csxhelp/HelpEngine/inc/CSXHLegacyContentParser.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ -/* -* 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: CCSXHLegacyContentParser class declaration -* -*/ - - -#ifndef __CCSXHLEGACYCONTENTPARSER_H__ -#define __CCSXHLEGACYCONTENTPARSER_H__ - -#include -#include - -class CHlpModel; -class CHlpTopic; -class CCSXHGenericTOC1; -class CCSXHGenericTOC2; -class CCSXHLegacyTOC2; -class CCSXHHelpDataBase; -class CCSXHKywdTOC1; -class CCSXHLegacyTOC1; -class CCoeEnv; -class CCSXHHelpContentBase; -class TCoeHelpContext; - -/** -* CCSXHLegacyContentParser class. -* This class is used to retrive Legacy content from .hlp file -* @lib euser.lib -* @since 3.2 -*/ - -class CCSXHLegacyContentParser: public CBase , public MHlpModelObserver - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHLegacyContentParser -* and return a pointer to the created object -* @param aDataBase - Database class Pointer -* @return a CCSXHLegacyContentParser Pointer -*/ - static CCSXHLegacyContentParser* NewL(CCSXHHelpDataBase* aDataBase); -/** -* @function NewLC -* @since S60 3.2 -* Construct a CCSXHLegacyContentParser -* and return a pointer to the created object using two phase construction -* @param aDataBase - Database class pointer -* @return a CCSXHLegacyContentParser Pointer -*/ - static CCSXHLegacyContentParser* NewLC(CCSXHHelpDataBase* aDataBase); - -/** -* @function GenerateTOC1ListL -* @since S60 3.2 -* Generate Legacy TOC1 Objects -* @param aDataBase - Database class pointer -*/ - void GenerateTOC1ListL(CCSXHHelpDataBase* aDataBase); -/** -* @function GenerateTOC2ListL -* @since S60 3.2 -* Generate Legacy TOC2 Objects -* @param atoc1 - generic toc1 class pointer -* aArray - Database class pointer's array pointer -*/ - void GenerateTOC2ListL(CCSXHGenericTOC1& atoc1,RPointerArray* aArray); -/** -* @function GetTopicContentL -* @since S60 3.2 -* Get the richtext for a selected toc2 -* @param atoc2 - generic toc2 class pointer -* @return richtext pointer -*/ - TAny* GetTopicContentL(CCSXHGenericTOC2* atoc2); -/** -* @function GenerateKywdTOC1ListL -* @since S60 3.2 -* Generate Legacy Keyword TOC1 Objects -* @param aDataBase - Database class pointer -*/ - void GenerateKywdTOC1ListL(CCSXHHelpDataBase *aDataBase); - -/** -* @function InitGenerateTOC2ListForKeywordSearchL -* @since S60 3.2 -* Generate Legacy Keyword TOC2 Objects -* @param akywdtoc1 - keyword toc1 class pointer -* @return TInt the number of keyword sub topics -*/ - TInt InitGenerateTOC2ListForKeywordSearchL(CCSXHKywdTOC1* akywdtoc1); - -/** -* @function GenerateTOC2ListForKeywordSearchL -* @since S60 3.2 -* Generate Legacy Keyword TOC2 Objects,InitGenerateTOC2ListForKeywordSearchL -* has to be called first -* @param akywdtoc1 - keyword toc1 class pointer -*/ - void GenerateTOC2ListForKeywordSearchL(CCSXHKywdTOC1* akywdtoc1); -/** -* @function GetTOC1ForTOC2 -* @since S60 3.2 -* Get Legacy TOC1 Object -* @param atoc2 - keyword toc2 class pointer -* @return legacy toc1 class pointer -*/ - CCSXHLegacyTOC1* GetTOC1ForTOC2(CCSXHLegacyTOC2* atoc2); -/** - * @function ~CCSXHLegacyContentParser - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - ~CCSXHLegacyContentParser(); - -/** -* @function GetContextTopic -* @since S60 3.2 -* Get the help Context object -* @param aContext - Help context object -* @param database class pointer -*/ - CCSXHHelpContentBase* GetContextTopic(TCoeHelpContext &aContext); - - private: -/** -* @function CCSXHLegacyContentParser -* @since S60 3.2 -* Construct a CCSXHLegacyContentParser -* @param aDataBase - Database class pointer -*/ - CCSXHLegacyContentParser(CCSXHHelpDataBase *aDataBase); -/** -* @function ConstructL -* @since S60 3.2 -* perform the second phase construction -* @param aDataBase - Database class pointer -*/ - void ConstructL(); -/** -* From MHlpModelObserver class -* @function HandleModelEventL -* @since S60 3.2 -* handle event from CHlpModel -* @param aEvent from CHlpModel -*/ - void HandleModelEventL(TInt aEvent); -/** -* @function LoadContextTopicL -* @since S60 3.2 -* Get the Richtext for context sensitive help -* @param aContext Help context class object -*/ - void LoadContextTopicL(TCoeHelpContext &aContext); - - private: - CHlpModel* iModel; - CHlpTopic* iTopic; - CCSXHHelpDataBase* iDataBase; - CHlpList* iHlpList; - TInt iStatus; - //Store all the created Legacy TOC1 objects for future reference. - RPointerArray iLegacyTOC1List; - }; - -#endif \ No newline at end of file diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHLegacyTOC1.h --- a/csxhelp/HelpEngine/inc/CSXHLegacyTOC1.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -/* -* 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: CCSXHLegacyTOC1 class declaration -* -*/ - - -#ifndef INC_CSXHLEGACYTOC1_H_HEADER_INCLUDED_BC050894 -#define INC_CSXHLEGACYTOC1_H_HEADER_INCLUDED_BC050894 - -#include "CSXHGenericTOC1.h" - -class CCSXHGenericContentParser; -class CCSXHHelpDataBase; -/** -* @class CCSXHLegacyTOC1 -* This class has the information of Legacy TOC1 -*/ -class CCSXHLegacyTOC1 : public CCSXHGenericTOC1 - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHLegacyTOC1 -* and return a pointer to the created object -* @param aName - Name of the TOC1 -* @return a CCSXHLegacyTOC1 Pointer -*/ - static CCSXHLegacyTOC1* NewL(const TDesC& aName); - -/** -* @function NewLC -* @since S60 3.2 -* Construct a CCSXHLegacyTOC1 -* and return a pointer to the created object using two phase contruction -* @param aName - Name of the TOC1 -* @return a CCSXHLegacyTOC1 Pointer -*/ - static CCSXHLegacyTOC1* NewLC(const TDesC& aName); - -/** -* @function GetViewID -* @since S60 3.2 -* Get ViewId to activate the View -* @return View Id -*/ - TUid GetViewID() const; - -/** -* @function GetContextTopic -* @since S60 3.2 -* Get toc2 Object -* @return CCSXHHelpContentBase (Leagcytoc2) class Pointer -*/ - CCSXHHelpContentBase* GetContextTopic(const TDesC &aContextName); - - private: -/** -* @function CCSXHLegacyTOC1 -* @since S60 3.2 -* Construct a CCSXHLegacyTOC1 -*/ - CCSXHLegacyTOC1(const TDesC& aName); - -/** -* @function InitChildList -* @since S60 3.2 -* Allocates Memory in order to store Objects -*/ - void InitChildList(); - - }; - - - -#endif /* INC_CSXHLEGACYTOC1_H_HEADER_INCLUDED_BC050894 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHLegacyTOC2.h --- a/csxhelp/HelpEngine/inc/CSXHLegacyTOC2.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,100 +0,0 @@ -/* -* 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: CCSXHLegacyTOC2 class declaration -* -*/ - - -#ifndef INC_CSXHLEGACYTOC2_H_HEADER_INCLUDED_BC0535B9 -#define INC_CSXHLEGACYTOC2_H_HEADER_INCLUDED_BC0535B9 - -#include "CSXHGenericTOC2.h" - -class CCSXHGenericTOC1; -class CCSXHLegacyTOC1; -/** -* @class CCSXHLegacyTOC2 -* This class has the information of Legacy TOC2 Info -*/ -class CCSXHLegacyTOC2 : public CCSXHGenericTOC2 - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHLegacyTOC2 -* and return a pointer to the created object -* @param aParent - TOC1 Object -* aName - Name of the TOC2 -* aKey - ETrue for KeywordTopic, EFalse otherwise -* @return a CCSXHLegacyTOC2 Pointer -*/ - static CCSXHLegacyTOC2* NewL(CCSXHGenericTOC1 *aParent,const TDesC& - aName,TBool aKey=EFalse); - -/** -* @function NewLC -* @since S60 3.2 -* Construct a CCSXHLegacyTOC2 -* and return a pointer to the created object using two phase constuction -* @param aParent - TOC1 Object -* aName - Name of the TOC2 -* aKey - ETrue for KeywordTopic, EFalse otherwise -* @return a CCSXHLegacyTOC2 Pointer -*/ - static CCSXHLegacyTOC2* NewLC(CCSXHGenericTOC1 *aParent,const TDesC& - aName,TBool aKey=EFalse); - -/** -* @function GetTopicContentL -* @since S60 3.2 -* Get the topic to be displayed in Richtext format -* @return RichText Pointer -*/ - IMPORT_C TAny* GetTopicContentL(); - -/** -* @function GetViewID -* @since S60 3.2 -* Get ViewId to activate the View -* @return View Id -*/ - TUid GetViewID() const; - -/** -* @function GetLegacyParent -* @since S60 3.2 -* Get Parent Object -* @return TOC1 Object(Parent) for present TOC2 Object -*/ - IMPORT_C CCSXHLegacyTOC1* GetLegacyParent(); - - private: -/** -* @function CCSXHLegacyTOC2 -* @since S60 3.2 -* Construct a CCSXHLegacyTOC2 -* @param aRect - TRect Object -* @param aParent - TOC1 Object -* aName - Name of the TOC2 -* aKey - ETrue for KeywordTopic, EFalse otherwise -*/ - CCSXHLegacyTOC2(CCSXHGenericTOC1 *aParent, const TDesC& aName,TBool aKey); - - TBool iKeyWordTopic; - }; - - - -#endif /* INC_CSXHLEGACYTOC2_H_HEADER_INCLUDED_BC0535B9 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHMainTopics.h --- a/csxhelp/HelpEngine/inc/CSXHMainTopics.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ -/* -* 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: CCSXHMainTopics class declaration -* -*/ - - -#ifndef INC_CSXHMAINTOPICS_H_HEADER_INCLUDED_BC0568C5 -#define INC_CSXHMAINTOPICS_H_HEADER_INCLUDED_BC0568C5 - -#include "CSXHGenericTOC1.h" -#include - -class CCSXHHelpDataBase; -/** -* @class CCSXHMainTopics -* This class has info of TOC1 Objects -*/ -class CCSXHMainTopics : public CCSXHGenericTOC1 - { - public: -/** -* @function CCSXHMainTopics -* @since S60 3.2 -* Construct a CCSXHMainTopics -* @param aCoeEnv - Control Environment -* @retrun a CCSXHMainTopics pointer -*/ - static CCSXHMainTopics* NewL(const TUid&, const TApaAppCaption& aAppCaption); -/** -* @function CCSXHMainTopics -* @since S60 3.2 -* Construct a CCSXHMainTopics using two phase construction -* @param aCoeEnv - Control Environment -* @retrun a CCSXHMainTopics pointer -*/ - static CCSXHMainTopics* NewLC(const TUid&,const TApaAppCaption& aAppCaption); - -/** - * @function ~CCSXHMainTopics - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - ~CCSXHMainTopics(); -/** -* @function GetViewID -* @since S60 3.2 -* Get ViewId to activate the View -* @return View Id -*/ - TUid GetViewID() const; -/** -* @function ResetChildList -* @since S60 3.2 -* Delete Objects from the Array -*/ - void ResetChildList(); - - protected: - -/** -* @function CCSXHMainTopics -* @since S60 3.2 -* Construct a CCSXHMainTopics -* @param aUid - Application Uid -* aName - TOC1 Object Name -*/ - CCSXHMainTopics(const TUid& aUid, const TDesC& aName); - - const TUid &iUid; - }; - -#endif /* INC_CSXHMAINTOPICS_H_HEADER_INCLUDED_BC0568C5 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHRuntimeIndexing.h --- a/csxhelp/HelpEngine/inc/CSXHRuntimeIndexing.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +0,0 @@ -/* -* 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: This is a utility class that provides functionality -* for scanning app help folder, generate index XML -* at runtime, and also update it if any install/uninstall -* -*/ - -#ifndef CSXHRUNTIMEINDEXING_H -#define CSXHRUNTIMEINDEXING_H - -// INCLUDES -#include -#include - -// CONSTANTS -// the help content folder doesn't exist -const TInt KNoDirExist = -3; -// there is no changes in help content folder (like install/uninstall) -const TInt KNoChange = -2; -// there is no index.xml file (due to no help content at previous time) -const TInt KNoIndexExist = -1; - -// FORWARD CLASS DECLARATION -class CCSXHHtmlTOC1; -class CCSXHKywdTOC1; -class CCoeEnv; - -/* - * runtime indexing handling class - * responsible for generating index file, maintaining it. - * this class also create CS X Help private folder if not exist - * - */ -class CCSXHRuntimeIndexing : public CBase - { -public: - - /* - * constructor - */ - CCSXHRuntimeIndexing(); - /* - - * destructor - */ - ~CCSXHRuntimeIndexing(); - - /* - * Two-phase constructor - */ - static CCSXHRuntimeIndexing* NewL(); - - /* - * Generate the master index file content - * @param aToc1: TOC1 object which contains main topic information - * @param aFeature: Feature information, supported by Feature Mgr - */ - void RuntimeGenerateIndexL( const CCSXHHtmlTOC1& aToc1, const TDesC& aFeature ); - - /* - * Check whether master index exist - * Since Z based helps must exist - * Usage: to determine Help was launched before - */ - TBool IndexFileExists(); - - /* - * create temporary index file - * this file will be saved to C:\\private\\\\\\\\ - * @param: aDrive Drive information - */ - void BeginIndexFile( const TChar& aDrive ); - - /* - * close the temporary index file, and rename it to index.xml formally - * tmp.xml -> index.xml - * this function can backup index.xml, once exception happens - */ - void FinishAndCloseIndexFileL(); - - /* - * Get help application private path in C drive - * @param aName[out] return help app private path in C - */ - void GetPrivatePath( TDes& aName ); - - /* - * Get proper locale, and append it to descriptor - * for more information about proper locale - * please refer to BaflUtils::GetDowngradePathL - * @param aDir[out] append proper locale - */ - void AppendLocale( TDes& aDir ); - - /* - * Delete master index file, particular in C: or E: or F: (user disk) - * this will only occur when user remove all custom helps, no more helps folder - * in this case, custom index mustn't exist. - * @param aDrive the file to be deleted - */ - void DeleteIndexFile( const TChar& aDrive ); - - /* - * Check if helps folder changed - * changes include: - * A: install new application - * B: uninstall (if unistall all helps, custom helps folder will also removed) - * C: user changed the language - * D: user restored the cell phone - * @param aName[out] return help app private path in C - */ - TInt CheckDirChange( const TChar& aDrive ); - -private: - - /* - * two-phase constructor, private - */ - void ConstructL(); - -private: - - /* - * buff current index file name - * owned - */ - HBufC* iFullDirName; - - /* - * CoeEnv - * not owned - */ - CCoeEnv * iCoeEnv; - - /* - * current index file handle - */ - RFile iFile; - - /* - * actually it's iFullDirName's drive letter - * for more convenient, keep it as a class member - */ - TChar iDriveLetter; - - }; - -#endif // CSXHRUNTIMEINDEXING_H \ No newline at end of file diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHViewIDs.h --- a/csxhelp/HelpEngine/inc/CSXHViewIDs.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -/* -* 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: This file contains ViewIds -* -*/ - - -#ifndef INC_CSXHVIEWIDS_H_HEADER_INCLUDED_BC05356D -#define INC_CSXHVIEWIDS_H_HEADER_INCLUDED_BC05356D - -#include - -const TUid KCSXHToc1ViewID = {1}; -const TUid KCSXHToc2ViewID = {2}; -const TUid KCSXHHtmlTopicViewID = {3}; -const TUid KCSXHLegacyTopicViewID = {4}; -const TUid KCSXHKywdToc1ViewID = {5}; -const TUid KCSXHKywdToc2ViewID = {6}; -const TUid KCSXHContextHtmlTopicViewID = {7}; -const TUid KCSXHContextLegacyTopicViewID = {8}; - - -#endif /* INC_CSXHVIEWIDS_H_HEADER_INCLUDED_BC05356D */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CSXHXMLParseHandler.h --- a/csxhelp/HelpEngine/inc/CSXHXMLParseHandler.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,486 +0,0 @@ -/* -* 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: CCSXHXMLParseHandler class declaration -* -*/ - - -#ifndef __CCSXHXMLPARSEHANDLER_H__ -#define __CCSXHXMLPARSEHANDLER_H__ - -#include // CCoeControl -#include -#include -#include - -class CCSXHGenericTOC2; -class CCSXHGenericTOC1; -class CCSXHHtmlTOC1; -class CCSXHHelpDataBase; -class CCSXHHelpContentBase; -class CCSXHHTMLContentParser; -/** -* @class CCSXHXMLParseHandler -* This class is used retrive the data from XML file -*/ -class CCSXHXMLParseHandler : public CBase, public MSenContentHandlerClient - { - public: -/** -* @function CCSXHXMLParseHandler -* @since S60 3.2 -* Construct a CCSXHXMLParseHandler -* @param aCoeEnv - Control Environment -*/ - CCSXHXMLParseHandler(CCoeEnv * aCoeEnv); - - virtual ~CCSXHXMLParseHandler(); -/** -* @function StartDocument -* @since S60 3.2 -* Receive notification of the beginning of a document. -* @return KErrNone or some of the system-wide Symbian error codes -*/ - TInt StartDocument(); -/** -* @function EndDocument -* @since S60 3.2 -* Receive notification of the end of a document. -* @return KErrNone or some of the system-wide Symbian error codes -*/ - TInt EndDocument(); - -/** -* @function SetDataBasePtr -* @since S60 3.2 -* Sets DataBase Pointer -*/ - void SetDataBasePtr(CCSXHHelpDataBase *aDataBase); -/** -* @function GetApplicationName -* @since S60 3.2 -* Get the Application Name from Meta.xml -* @return Application Name -*/ - TDesC& GetApplicationName(); - - TPtr GetFeatureIds(); - - protected: -/** -* @function SetAppNameFlagL -* @since S60 3.2 -* Set the Application Flag Based on local Name, ResourceID -* @param alocalName - TagName read from XML file -* ResourceId - Used to Retrive the TagName from resource file -*/ - TBool SetAppNameFlag(const TDesC8 & alocalName,const TDesC& aAppTag); - - protected: - TBuf iApplicationName; - HBufC* iFeatureIds; - TBool iIsAppName; - CCSXHHelpDataBase* iDataBase; - CCoeEnv* iCoeEnv; - - }; - - -/** -* @class CCSXHXMLParseHandler_MetaFile -* This class is used retrive the data from Meta.xml file -*/ -class CCSXHXMLParseHandler_MasterMetaFile : public CCSXHXMLParseHandler - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHXMLParseHandler_IndexFile -* @param aCoeEnv - Control Environment -* @retrun a CCSXHXMLParseHandler_IndexFile pointer -*/ - static CCSXHXMLParseHandler_MasterMetaFile* NewL(CCoeEnv * aCoeEnv); - protected: -/** -* @function CCSXHXMLParseHandler_IndexFile -* @since S60 3.2 -* Construct a CCSXHXMLParseHandler_IndexFile -* @param aCoeEnv - Control Environment -*/ - CCSXHXMLParseHandler_MasterMetaFile(CCoeEnv * aCoeEnv); - public: -/** -* @function StartElement -* @since S60 3.2 -* Receive notification of the beginning of an element -* @param aURI - The Namespace URI, or the empty string - if the element has no Namespace URI or - if Namespace processing is not being performed. - aLocalName - The local name (without prefix) - aName - The qualified name - apAttrs - The attributes attached to the element. - If there are no attributes, it shall be - an empty array.Namespaces declared in the current - element will be located in the array also -* @return KErrNone or some of the system-wide Symbian error codes -*/ - TInt StartElement (const TDesC8 &aURI, const TDesC8 &aLocalName, - const TDesC8 &aName, const RAttributeArray &apAttrs); -/** -* @function SetHtmlContentParserPtr -* @since S60 3.2 -* Set the pointer of the content parser -* @param aParser - Pointer to an html content parser -*/ - void SetHtmlContentParserPtr(CCSXHHTMLContentParser* aParser); - - private: -/** -* @function CreateTOC2ObjectsL -* @since S60 3.2 -* Create TOC2 objects for Html TOC2 -* @param aAttributes - The attributes attached to the element. -*/ - void CreateTOC1ObjectsL(const RAttributeArray & aAttributes); - - CCSXHHTMLContentParser *iParser; - - TInt iDrive; - }; - -/** -* @class CCSXHXMLParseHandler_MetaFile -* This class is used retrive the data from Meta.xml file -*/ -class CCSXHXMLParseHandler_MetaFile : public CCSXHXMLParseHandler - { - public: -/** -* @function CCSXHXMLParseHandler_MetaFile -* @since S60 3.2 -* Construct a CCSXHXMLParseHandler_MetaFile -* @param aCoeEnv - Control Environment -* @retrun a CCSXHXMLParseHandler_MetaFile pointer -*/ - static CCSXHXMLParseHandler_MetaFile* NewL(CCoeEnv * aCoeEnv); - protected: -/** -* @function CCSXHXMLParseHandler_MetaFile -* @since S60 3.2 -* Construct a CCSXHXMLParseHandler_MetaFile -* @param aCoeEnv - Control Environment -*/ - CCSXHXMLParseHandler_MetaFile(CCoeEnv * aCoeEnv); - public: -/** -* @function StartElement -* @since S60 3.2 -* Receive notification of the beginning of an element -* @param aURI - The Namespace URI, or the empty string - if the element has no Namespace URI or - if Namespace processing is not being performed. - aLocalName - The local name (without prefix) - aName - The qualified name - apAttrs - The attributes attached to the element. - If there are no attributes, it shall be - an empty array.Namespaces declared in the current - element will be located in the array also -* @return KErrNone or some of the system-wide Symbian error codes -*/ - TInt StartElement (const TDesC8 &aURI, const TDesC8 &aLocalName, - const TDesC8 &aName, const RAttributeArray &apAttrs); -/** -* @function EndElement -* @since S60 3.2 -* Receive notification of the end of an element -* @param aURI - The Namespace URI, or the empty string - if the element has no Namespace URI or - if Namespace processing is not being performed. - aLocalName - The local name (without prefix) - aName - The qualified name -* @return KErrNone or some of the system-wide Symbian error codes -*/ - TInt EndElement ( const TDesC8 &aURI,const TDesC8 &aLocalName,const TDesC8 &aName); -/** -* @function Characters -* @since S60 3.2 -* Receive notification inside an element -* @param aBuff - The characters. -* aStart - The start position in the character buffer. -* aLength - The number of characters to use from the character buffer. -* @return KErrNone or some of the system-wide Symbian error codes -*/ - TInt Characters (const TDesC8 &aBuff, const TInt aStart, - const TInt aLength); - }; - -class CCSXHXMLParseHandler_IndexFile : public CCSXHXMLParseHandler - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHXMLParseHandler_IndexFile -* @param aCoeEnv - Control Environment -* @retrun a CCSXHXMLParseHandler_IndexFile pointer -*/ - static CCSXHXMLParseHandler_IndexFile* NewL(CCoeEnv * aCoeEnv); - protected: -/** -* @function CCSXHXMLParseHandler_IndexFile -* @since S60 3.2 -* Construct a CCSXHXMLParseHandler_IndexFile -* @param aCoeEnv - Control Environment -*/ - CCSXHXMLParseHandler_IndexFile(CCoeEnv * aCoeEnv); - public: -/** -* @function StartElement -* @since S60 3.2 -* Receive notification of the beginning of an element -* @param aURI - The Namespace URI, or the empty string - if the element has no Namespace URI or - if Namespace processing is not being performed. - aLocalName - The local name (without prefix) - aName - The qualified name - apAttrs - The attributes attached to the element. - If there are no attributes, it shall be - an empty array.Namespaces declared in the current - element will be located in the array also -* @return KErrNone or some of the system-wide Symbian error codes -*/ - TInt StartElement (const TDesC8 &aURI, const TDesC8 &aLocalName, - const TDesC8 &aName, const RAttributeArray &apAttrs); -/** -* @function SetArray -* @since S60 3.2 -* Get the pointer & fill the contents from Index.xml -* @param aHTMLlist - Pointer to an Array -*/ - void SetArray(RPointerArray *aHTMLlist); -/** -* @function SetGenericTOC1Object -* @since S60 3.2 -* Set GenericTOC1 Object -* @param aParent - Generic TOC1 Object -*/ - void SetGenericTOC1Object(CCSXHGenericTOC1& aParent); -/** -* @function SetPath -* @since S60 3.2 -* Set Html file path -* @param aFilePath - Set Html file path -*/ - void SetPath(const TDesC& aFilePath); - - void SetHtmlContentParserPtr(CCSXHHTMLContentParser* aParser); - private: -/** -* @function CreateTOC2ObjectsL -* @since S60 3.2 -* Create TOC2 objects for Html TOC2 -* @param aAttributes - The attributes attached to the element. -*/ - void CreateTOC2ObjectsL(const RAttributeArray & aAttributes); - TBuf iCompressString,iHTMLPageName,iFilePath; - RPointerArray* iTOC2Array; - CCSXHGenericTOC1* iParent; - CCSXHHTMLContentParser *iParser; - }; - - -class CCSXHXMLParseHandler_Kywd : public CCSXHXMLParseHandler - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHXMLParseHandler_Kywd -* @param aCoeEnv - Control Environment -* @retrun a CCSXHXMLParseHandler_Kywd pointer -*/ - static CCSXHXMLParseHandler_Kywd* NewL(CCoeEnv * aCoeEnv); - protected: -/** -* @function CCSXHXMLParseHandler_Kywd -* @since S60 3.2 -* Construct a CCSXHXMLParseHandler_Kywd -* @param aCoeEnv - Control Environment -*/ - CCSXHXMLParseHandler_Kywd(CCoeEnv * aCoeEnv); - public: -/** -* @function StartElement -* @since S60 3.2 -* Receive notification of the beginning of an element -* @param aURI - The Namespace URI, or the empty string - if the element has no Namespace URI or - if Namespace processing is not being performed. - aLocalName - The local name (without prefix) - aName - The qualified name - apAttrs - The attributes attached to the element. - If there are no attributes, it shall be - an empty array.Namespaces declared in the current - element will be located in the array also -* @return KErrNone or some of the system-wide Symbian error codes -*/ - TInt StartElement (const TDesC8 &aURI, const TDesC8 &aLocalName, - const TDesC8 &aName, const RAttributeArray &apAttrs); -/** -* @function EndElement -* @since S60 3.2 -* Receive notification of the end of an element -* @param aURI - The Namespace URI, or the empty string - if the element has no Namespace URI or - if Namespace processing is not being performed. - aLocalName - The local name (without prefix) - aName - The qualified name -* @return KErrNone or some of the system-wide Symbian error codes -*/ - TInt EndElement ( const TDesC8 &aURI,const TDesC8 &aLocalName,const TDesC8 &aName); -/** -* @function Characters -* @since S60 3.2 -* Receive notification inside an element -* @param aBuff - The characters. -* aStart - The start position in the character buffer. -* aLength - The number of characters to use from the character buffer. -* @return KErrNone or some of the system-wide Symbian error codes -*/ - TInt Characters (const TDesC8 &aBuff, const TInt aStart, - const TInt aLength); - -/** -* @function SetTOC1Title -* @since S60 3.2 -* Set TOC1 Name -* @param aName - TOC1 Name -*/ - void SetTOC1Title(const TDesC& aName); -/** -* @function SetCurrentHtmlToc1 -* @since S60 3.2 -* Set HtmlTOC1 Object -* @param aCurrentHtmlToc1 - Pointyer to HtmlTOC1 Object -*/ - void SetCurrentHtmlToc1(CCSXHHtmlTOC1 *aCurrentHtmlToc1); -/** -* @function SetIsTOC2 -* @since S60 3.2 -* Set the flag if parsing in order to get TOC2 Objects, EFalse otherwise -* @param aCurrentHtmlToc1 - Pointer to HtmlTOC1 Object -*/ - void SetIsTOC2(TBool aFlag); - -/** -* @function SetPath -* @since S60 3.2 -* Set Html file path -* @param aFilePath - Set Html file path -*/ - void SetPath(const TDesC& aFilePath); - - void SetHtmlContentParserPtr(CCSXHHTMLContentParser* aParser); - - private: -/** -* @function CreateTOC2ObjectsforKeywordSearch -* @since S60 3.2 -* Get the Info In order to Create TOC2 objects for Html Keyword -* @param aName - TagName -* aAttrs - The attributes attached to the element. -*/ - void CreateTOC2ObjectsforKeywordSearch(const TDesC8 &aName,const RAttributeArray& aAttrs); -/** -* @function CreateTOC2ObjectsforKeywordSearchL -* @since S60 3.2 -* Creates TOC2 objects for Html Keyword And Insert into Database -*/ - void CreateAndInsertKywdL(); - TBuf iHTMLPageName,iKeywordSearchTOC2TitleName; - TBuf iTOC1Name,iFilePath; - CCSXHHtmlTOC1 *iCurrentHtmlToc1; - TBool iIsTargetName,iIsTOC2View; - CCSXHHTMLContentParser* iParser; - }; - -class CCSXHXMLParseHandler_MasterKywd : public CCSXHXMLParseHandler - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHXMLParseHandler_Kywd -* @param aCoeEnv - Control Environment -* @retrun a CCSXHXMLParseHandler_Kywd pointer -*/ - static CCSXHXMLParseHandler_MasterKywd* NewL(CCoeEnv * aCoeEnv); - protected: -/** -* @function CCSXHXMLParseHandler_Kywd -* @since S60 3.2 -* Construct a CCSXHXMLParseHandler_Kywd -* @param aCoeEnv - Control Environment -*/ - CCSXHXMLParseHandler_MasterKywd(CCoeEnv * aCoeEnv); - - public: -/** -* @function StartElement -* @since S60 3.2 -* Receive notification of the beginning of an element -* @param aURI - The Namespace URI, or the empty string - if the element has no Namespace URI or - if Namespace processing is not being performed. - aLocalName - The local name (without prefix) - aName - The qualified name - apAttrs - The attributes attached to the element. - If there are no attributes, it shall be - an empty array.Namespaces declared in the current - element will be located in the array also -* @return KErrNone or some of the system-wide Symbian error codes -*/ - TInt StartElement (const TDesC8 &aURI, const TDesC8 &aLocalName, - const TDesC8 &aName, const RAttributeArray &apAttrs); -/** -* @function CreateTOC1ObjectsL -* @since S60 3.2 -* Create TOC1 objects for Keywords -* @param aAttributes - The attributes attached to the element. -*/ - void CreateTOC1ObjectsL(const RAttributeArray& aAttributes); - -/** -* @function SetCurrentHtmlToc1 -* @since S60 3.2 -* Set HtmlTOC1 Object -* @param aCurrentHtmlToc1 - Pointyer to HtmlTOC1 Object -*/ - void SetCurrentHtmlToc1(CCSXHHtmlTOC1 *aCurrentHtmlToc1); - -/** -* @function SetHtmlContentParserPtr -* @since S60 3.2 -* Set the pointer of the content parser -* @param aParser - Pointer to an html content parser -*/ - void SetHtmlContentParserPtr(CCSXHHTMLContentParser* aParser); - - - private: - CCSXHHtmlTOC1 *iCurrentHtmlToc1; - CCSXHHTMLContentParser *iParser; - }; -#endif diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/CsHelpCmdLineParser.h --- a/csxhelp/HelpEngine/inc/CsHelpCmdLineParser.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -/* -* 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: This is a utility class that provides functionality -* for parsing command line arguments passed into the -* Cshelp application when launched by another application. -* -*/ - - -#ifndef CSHELPCMDLINEPARSER_H -#define CSHELPCMDLINEPARSER_H - - -// INCLUDES -#include - -// FORWARD DECLARATIONS -class TCoeHelpContext; - -// CLASS DECLARATION -/** -* CCsHlpCmdLineParser class. -* to convert a message - that is passed from other app - to contexts -* @lib euser.lib -* @since 3.2 -*/ -class CCsHlpCmdLineParser : public CBase - { - public: - -/** -* @function CCsHlpCmdLineParser -* @since S60 3.2 -* Perform the first phase of two phase construction -*/ CCsHlpCmdLineParser(); - -/** -* @function ConstructL -* @since S60 3.2 -* Perform the second phase construction of a CCsHlpCmdLineParser object -*/ void ConstructL(const TDesC8& aCmdLine); - -/** -* @function ~CCsHlpCmdLineParser -* @since S60 3.2 -* Destroy the object and release all memory objects -*/ - ~CCsHlpCmdLineParser(); - - public: -/** -* Get contexts array -* @function ContextListL -* @since S60 3.2 -* @return help context array -*/ - CArrayFix* ContextListL(); - - private: -/** -* Get the help Context object -* @function GetContext -* @since S60 3.2 -* @param aContext - Help context object -*/ - void GetContext(TCoeHelpContext& aContext); - - private: - // Parsed data to help context array. - CBufFlat* iCmdLine; - - // Position of iCmdLine - TInt iPos; - }; - -#endif // CSHELPCMDLINEPARSER_H - -// End of File diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/inc/csxhconstants.h --- a/csxhelp/HelpEngine/inc/csxhconstants.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,171 +0,0 @@ -/* -* 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: This file Contains Constants -* -*/ - - -_LIT(KEmptyString,""); -_LIT(KFwdSlash,"\\"); -_LIT(KBackSlash,"/"); -_LIT(KTabSpace,"\t"); -_LIT(KHexPrefix,"0x"); -_LIT(KZero,"0"); -_LIT(KZipFileExtn,".zip"); -_LIT(KHtmlFileExtn,".html"); -_LIT(KContentZipFile,"contents.zip"); -_LIT(KCsstext_First,"\n"); - -#ifdef FF_HELP_TUTORIAL_MERGE -_LIT(KTutorialFileExtn,".tut"); -#endif // FF_HELP_TUTORIAL_MERGE -#ifndef __SERIES60_30__ -_LIT(KFileUrlPrefix,"file:///"); -const TInt KFileUrlPrefixLength = 8; -#else -_LIT(KFileUrlPrefix,"file://"); -const TInt KFileUrlPrefixLength = 7; -#endif - -const TInt KHexPrefixLength = 2; - -//xhtml folder name -//#define qtn_app_xhtml_folder_text ":\\resource\\xhtml\\" -_LIT(KXhtmlFolder,":\\resource\\xhtml\\"); - -//masterkeywords.xml file name -_LIT(KMasterKywdFile,"keywords.xml"); - -//mastermeta.xml file name -_LIT(KMasterMetaFile,"index.xml"); - -//meta.xml file name -//#define qtn_app_meta_file_text "meta.xml" -_LIT(KMetaFile,"meta.xml"); - -//index.xml file name -//#define qtn_app_index_file_text "index.xml" -_LIT(KIndexFile,"index.xml"); - -//Application name tag in meta.xml -//#define qtn_app_application_name_tag_text "title" -_LIT(KAppNameTag,"title"); - -// toc1 drive information in master index.xml -// -_LIT( KDriveInfo, "drive"); - -// toc1 tag in master index.xml -// -_LIT( KAppFeatureIDTag,"FeatureID" ); - -//toc2title tag in index.xml -//#define qtn_app_toc2title_name_tag_text "navtitle" -_LIT(KTOC2NameTag,"navtitle"); - -//html page tag in index.xml -//#define qtn_app_htmlpage_name_tag_text "href" -_LIT(KHtmlPageTag,"href"); - -//#define qtn_app_compress_name_tag_text "compressed" -_LIT(KCompressedTag,"compressed"); - -//#define qtn_app_compress_name_tag_value_text "true" -_LIT(KCompressedTagText,"true"); - -//#define qtn_app_searchview_toc1title_tag_text "text" -_LIT(KSearchViewTOC1Tag,"text"); -//#define qtn_app_searchview_toc2title_tag_text "target" -_LIT(KSearchViewTOC2Tag,"target"); -//#define qtn_app_kywd_file_text "keywords.xml" -_LIT(KKeywordsFile,"keywords.xml"); - -_LIT(KMasterSearchTag,"keyword"); - -_LIT(KMasterCollectionTag,"collection"); - -_LIT(KMasterCollection_idTag,"id"); - -// Begin runtime indexing schema - -const TInt KMaxIndexEntryExclude = 200; - -const TInt KMaxUidLength = 10; - -// sis install path -// -//_LIT( KInstallPath, "?:\\data\\"); -_LIT( KInstallPath, ":\\resource\\xhtml\\"); - -// initial file's name -// -_LIT( KInitFileName, "helpinit.txt" ); - -// Index.xml version and encoding information -// -_LIT8( KIndexXMLVesion, "\r\n" ); - -// Collection ends -// -_LIT8( KIndexCollectEnd, "" ); - -// Begin of collection entry -// -_LIT8( KIndexXMLEntryBegin, " \r\n"); - -// Prefix of quotation mark -// -_LIT8( KIndexQuoteBegin, "=\""); - -// appendix of quotation mark -// -_LIT8( KIndexQuoteEnd, "\" "); - - -_LIT( KMasterMetaTmpFile,"tmp.xml" ); diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/rss/HelpEngine.rss --- a/csxhelp/HelpEngine/rss/HelpEngine.rss Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,155 +0,0 @@ -/* -* Copyright (c) 2002 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: -* -*/ - -*/ - -NAME HELL -#include -#include -#include - -NAME HE -// --------------------------------------------------------- -// -// Define the resource file signature -// This resource should be empty. -// -// --------------------------------------------------------- -// -RESOURCE RSS_SIGNATURE { } - -RESOURCE TBUF { buf=""; } -// --------------------------------------------------------- -// -// Define default menu and CBA key. -// -// --------------------------------------------------------- -// - -// -/// Folder Name Texts: -// Their content is at the loc-file - -STRUCT STRING - { - LTEXT text; - } - -RESOURCE TBUF r_type_xhtml_folder_name - { - buf = qtn_app_xhtml_folder_text; - } - -// -/// Meta FileName Texts: -// Their content is at the loc-file - -RESOURCE TBUF r_type_meta_file_name - { - buf = qtn_app_meta_file_text; - } - -// -/// Index FileName Texts: -// Their content is at the loc-file - -RESOURCE TBUF r_type_index_file_name - { - buf = qtn_app_index_file_text; - } - -// -/// Keywordsearch FileName Texts: -// Their content is at the loc-file -RESOURCE TBUF r_type_kywd_file_name - { - buf = qtn_app_kywd_file_text; - } - -// -/// Forward slash: -// Their content is at the loc-file -RESOURCE TBUF r_type_forward_slash - { - buf = qtn_app_forward_slash_text; - } - -// -/// ApplicationName Tag Texts: -// Their content is at the loc-file - -RESOURCE TBUF r_type_application_tag_name - { - buf = qtn_app_application_name_tag_text; - } - -// -/// Index FileName Texts: -// Their content is at the loc-file - -RESOURCE TBUF r_type_toc2title_tag_name - { - buf = qtn_app_toc2title_name_tag_text; - } - -// -/// Index FileName Texts: -// Their content is at the loc-file - -RESOURCE TBUF r_type_htmlpage_tag_name - { - buf = qtn_app_htmlpage_name_tag_text; - } - -// -/// Index FileName Texts: -// Their content is at the loc-file - -RESOURCE TBUF r_type_compress_tag_name - { - buf = qtn_app_compress_name_tag_text; - } - -// -/// Index FileName Texts: -// Their content is at the loc-file -RESOURCE TBUF r_type_compress_tag_value_name - { - buf = qtn_app_compress_name_tag_value_text; - } - -// -/// keywordsearch FileName Texts: -// Their content is at the loc-file -RESOURCE TBUF r_type_searchview_toc1title_tag_name - { - buf = qtn_app_searchview_toc1title_tag_text; - } - -// -/// keywordsearch FileName Texts: -// Their content is at the loc-file -RESOURCE TBUF r_type_searchview_toc2title_tag_name - { - buf = qtn_app_searchview_toc2title_tag_text; - } - -RESOURCE TBUF r_type_title_help - { - buf = qtn_help_title_hel; - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHContextTopic.cpp --- a/csxhelp/HelpEngine/src/CSXHContextTopic.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -/* -* 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: CCSXHContextTopic class definition -* -*/ - -#include "CSXHContextTopic.h" -#include "CSXHViewIDs.h" -#include "csxhconstants.h" - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHContextTopic* CCSXHContextTopic::NewL(CCSXHHelpContentBase* aToc2) - { - CCSXHContextTopic* self = new(ELeave) CCSXHContextTopic(aToc2); - return self; - } -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHContextTopic::CCSXHContextTopic(CCSXHHelpContentBase* aToc2): -CCSXHHelpContentBase(KEmptyString),iToc2(aToc2) - {//No Implementation required - } -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHContextTopic::~CCSXHContextTopic() - { - } -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -TUid CCSXHContextTopic::GetViewID() const - { - return iToc2->GetViewID() == KCSXHHtmlTopicViewID ? - KCSXHContextHtmlTopicViewID : KCSXHContextLegacyTopicViewID; - } -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -EXPORT_C CCSXHHelpContentBase* CCSXHContextTopic::GetTopic() - { - return iToc2; - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHGenericTOC1.cpp --- a/csxhelp/HelpEngine/src/CSXHGenericTOC1.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,151 +0,0 @@ -/* -* 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: CCSXHGenericTOC1 class definition -* -*/ - -#include "CSXHGenericTOC1.h" -#include "csxhconstants.h" - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHGenericTOC1::CCSXHGenericTOC1(const TDesC& aName): - CCSXHHelpContentBase(aName),iChildList(NULL) - {//No Implementation required - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHGenericTOC1::~CCSXHGenericTOC1() - { - ResetChildList(); - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHGenericTOC1::ResetChildList() - { - if(iChildList == NULL) - return; - TInt count = iChildList->Count(); - CCSXHHelpContentBase* toc2; - for(TInt i=0;iReset(); - delete iChildList; - iChildList = NULL; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHGenericTOC1::ConstructChildListL() - { - iChildList = new(ELeave) RPointerArray(); - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -EXPORT_C CCSXHHelpContentBase* CCSXHGenericTOC1::GetChildL(const TDesC& aName) - { - if(iChildList == NULL) - return NULL; - - TInt count = iChildList->Count(); - CCSXHHelpContentBase* child = NULL; - for(TInt i=0;iGetName())==0) - return child; - } - return NULL; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -EXPORT_C void CCSXHGenericTOC1::FillChildDataL(CDesCArray* aArray) - { - //Using Template Pattern. Both the functions below are virtual - InitChildList(); - CopyChildListL(aArray); - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -TBool CCSXHGenericTOC1::InsertChild(CCSXHHelpContentBase* aChild, -TBool aDeleteObject) - { - ConstructChildList(); - TLinearOrder anOrder(Orderer); - if (KErrNone != iChildList->InsertInOrder(aChild,anOrder)) - { - if(aDeleteObject) - delete aChild; - - return EFalse; - } - return ETrue; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHGenericTOC1::CopyChildListL(CDesCArray* aArray) - { - TInt count = iChildList->Count(); - CCSXHHelpContentBase* child; - for(TInt i=0;i toc2Entry(KTabSpace); - toc2Entry.Append(child->GetName()); - aArray->AppendL(toc2Entry); - } - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHGenericTOC1::InitChildList() - { - ConstructChildList(); - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -TBool CCSXHGenericTOC1::ConstructChildList() - { - if(iChildList != NULL) - return ETrue; - - TRAPD(err,ConstructChildListL()); - if(err == KErrNone) - return ETrue; - else - { - iChildList = NULL; - return EFalse; - } - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHGenericTOC2.cpp --- a/csxhelp/HelpEngine/src/CSXHGenericTOC2.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* 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: CCSXHGenericTOC2 class definition -* -*/ - -#include "CSXHGenericTOC2.h" - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHGenericTOC2::CCSXHGenericTOC2(CCSXHGenericTOC1* aParent, const TDesC& aName) - :CCSXHHelpContentBase(aName),iParent(aParent) - {//No Implementation required - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -EXPORT_C CCSXHGenericTOC1* CCSXHGenericTOC2::GetParent() - { - return iParent; - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHHTMLContentParser.cpp --- a/csxhelp/HelpEngine/src/CSXHHTMLContentParser.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1214 +0,0 @@ -/* -* 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: CCSXHHTMLContentParser class definition -* -*/ - -#include "CSXHHTMLContentParser.h" -#include "CSXHXMLParseHandler.h" -#include "CSXHHtmlTOC1.h" -#include "CSXHKywdTOC1.h" -#include "CSXHHtmlTOC2.h" -#include "CSXHHelpDataBase.h" -#include "csxhconstants.h" -#include "CSXHRuntimeIndexing.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -//Input Language variation changes -#include - -const TInt KOffset = 2; - -CCSXHHTMLContentParser* CCSXHHTMLContentParser::NewL(CCoeEnv* aCoeEnv) - { - CCSXHHTMLContentParser* self = CCSXHHTMLContentParser::NewLC(aCoeEnv); - CleanupStack::Pop(self); - return self; - } - -CCSXHHTMLContentParser* CCSXHHTMLContentParser::NewLC(CCoeEnv* aCoeEnv) - { - CCSXHHTMLContentParser* self = new (ELeave) CCSXHHTMLContentParser(aCoeEnv); - CleanupStack::PushL(self); - self->ConstructL(); - return self; - } - -void CCSXHHTMLContentParser::ConstructL() - { - //RUNTIME - GetSupportedFeatureListL(); - } - -CCSXHHTMLContentParser::CCSXHHTMLContentParser(CCoeEnv* aCoeEnv) : iCoeEnv(aCoeEnv) - { - } - -CCSXHHTMLContentParser::~CCSXHHTMLContentParser() - { - delete iXmlReader; - - //No need to delete the entries here, it will be done by the database - iHtmlTOC1List.Close(); - - //Delete all contents from the array. - TInt count = iDuplicateHelpTopicList.Count(); - CCSXHHtmlTOC1* toc1; - for(TInt i=0;iFsSession(); - - TDriveList DirList; - if(FileSession.DriveList(DirList) != KErrNone) - return; - CCSXHXMLParseHandler_MetaFile* XMLParser = CCSXHXMLParseHandler_MetaFile::NewL(iCoeEnv); - CleanupStack::PushL(XMLParser); - InitializeReaderL(XMLParser); - - - TBuf* rootDir = new(ELeave) TBuf; - CleanupStack::PushL(rootDir);//5 - - // begin runtime index XML generating - // - iIndexing = CCSXHRuntimeIndexing::NewL(); - TInt driveListSize = DirList.Length(); - TBool dirExists = iIndexing->IndexFileExists(); - CDirScan* scanner=CDirScan::NewLC(FileSession); -#ifdef _DEBUG - RDebug::Print(_L("runtime indexing object successfully build")); -#endif - for(TInt dir(0); dir < driveListSize; dir++) - { - TInt error; - TDriveInfo info; - TChar driveLetter = '?'; - error = FileSession.Drive(info, dir); - - if ( ( error == KErrNone ) && - (DirList[dir] && info.iType != EMediaNotPresent)) - { - RFs::DriveToChar( dir, driveLetter ); - TInt dirChanged = iIndexing->CheckDirChange( driveLetter ); - rootDir->Delete( 0, rootDir->Length() );//Clear the previous contents - rootDir->Append( driveLetter ); - - if ( dirExists - && ( dirChanged == KNoChange - || dirChanged == KNoDirExist) ) - { - // xml exist and no install/uninstall happened - // while Z needs special process once its index file exists -#ifdef _DEBUG - RDebug::Print(_L("Used to launch, scan drive number: %d"), dir); -#endif - if ( dirChanged == KNoChange ) - { - // no modify helps, so just parse index.xml - // - HandleMasterMetaFileL( aDataBase, driveLetter, XMLParser ); - } - else // KNoDirExist - { - // help content folder removed due to some reason (uninstall/crash?) - // delete index file in case it exist -#ifdef _DEBUG - RDebug::Print( _L("no resource folder, delete index.xml if exists") ); -#endif - iIndexing->DeleteIndexFile( driveLetter ); - } - } - else - { - // xml not exist or install/uninstall not happend - // - if( GetHTMLContentPathForDriveL( rootDir,iCoeEnv ) ) - { -#ifdef _DEBUG - RDebug::Print( _L("No index, scan folder for parsing, drive letter: %d"), dir ); -#endif - iIndexing->BeginIndexFile( driveLetter ); - scanner->SetScanDataL(*rootDir - ,KEntryAttDir|KEntryAttMatchExclusive, - ESortByName|EAscending, CDirScan::EScanDownTree); - ScanAndParseXMLfileToCreateTOC1ObjectL(FileSession,scanner,aDataBase, - dir,XMLParser); - - iIndexing->FinishAndCloseIndexFileL(); - - } - - } - - } - } - CleanupStack::PopAndDestroy( scanner ); - CleanupStack::PopAndDestroy(rootDir); - CleanupStack::PopAndDestroy(XMLParser); - - ClearReader(); - } - -TBool CCSXHHTMLContentParser::GetHTMLContentPathForDriveL(TBuf* aContentDrive,CCoeEnv *aCoeEnv) - { - // get the path to language level - // Input: aContentDrive == C or E or Z - // Output: aContentDrive == C:\\resource\\xhtml\\01\\ (or Z:\\resource\\xhtml\\31\\) - // - aContentDrive->Append(KXhtmlFolder); - TInt len = aContentDrive->Length(); - RFs& FileSession = aCoeEnv->FsSession(); - RArray langs; - BaflUtils::GetDowngradePathL(FileSession,User::Language(),langs); - - for(int i = 0; i < langs.Count(); ++i) - { - TLanguage lang = langs[i]; - //TSW Error: UKAL-6YL72P - //Tool chain uses full symbian language id in - //the directory name, which is not detected by help application. - // - if(lang < 10) - { - aContentDrive->AppendNumFixedWidth(lang,EDecimal,2); - } - else - { - aContentDrive->AppendNum(lang); - } - - aContentDrive->Append(KFwdSlash); - if(BaflUtils::PathExists(FileSession,*aContentDrive)) - { - langs.Reset(); - return ETrue; - } - else - { - aContentDrive->Delete((len-1),aContentDrive->Length()-len); - } - } - langs.Reset(); - return EFalse; - } - -TBool CCSXHHTMLContentParser::HandleMasterMetaFileL(CCSXHHelpDataBase* aDataBase, - TChar& aDrive, MSenContentHandlerClient *aPrevHandler) - { - RFs& FileSession = iCoeEnv->FsSession(); - TBuf masterFile; - - iIndexing->GetPrivatePath( masterFile ); - masterFile.Append( aDrive ); - masterFile.Append( KFwdSlash ); - iIndexing->AppendLocale( masterFile ); - masterFile.Append( KMasterMetaFile ); - if(BaflUtils::FileExists( FileSession,masterFile ) ) - { -#ifdef _DEBUG - RDebug::Print(_L("index exist begin to parse! %c"), TUint( aDrive ) ); -#endif - CCSXHXMLParseHandler_MasterMetaFile* masterMetaHandler = - CCSXHXMLParseHandler_MasterMetaFile::NewL(iCoeEnv); - masterMetaHandler->SetDataBasePtr(aDataBase); - masterMetaHandler->SetHtmlContentParserPtr(this); - CleanupStack::PushL(masterMetaHandler); - - iXmlReader->SetContentHandler(*masterMetaHandler); - // ParseL is not in async - iXmlReader->ParseL(FileSession,masterFile); - iXmlReader->SetContentHandler(*aPrevHandler); - CleanupStack::PopAndDestroy(masterMetaHandler); - } - - return ETrue; - } - -void CCSXHHTMLContentParser::GenerateTOC2ListL(CCSXHGenericTOC1& -aGenericTOC1Object, RPointerArray* GenericTOC2List) - { - CCSXHXMLParseHandler_IndexFile* XMLParser = CCSXHXMLParseHandler_IndexFile::NewL(iCoeEnv); - CleanupStack::PushL(XMLParser); - InitializeReaderL(XMLParser); - - XMLParser->SetArray(GenericTOC2List); - XMLParser->SetGenericTOC1Object(aGenericTOC1Object); - XMLParser->SetHtmlContentParserPtr(this); - RFs& FileSession = iCoeEnv->FsSession(); - CCSXHHtmlTOC1* toc1 = STATIC_CAST(CCSXHHtmlTOC1*,&aGenericTOC1Object); - TBuf lookupindexfile; - toc1->GetHelpFileL(lookupindexfile); - XMLParser->SetPath(lookupindexfile); - lookupindexfile.Append(KIndexFile); - - if(BaflUtils::FileExists(FileSession,lookupindexfile)) - iXmlReader->ParseL (FileSession,lookupindexfile); - - TBufHelpContentName(toc1->GetName()); - int toc1Count = iDuplicateHelpTopicList.Count(); - - for(int i=0;i < toc1Count;i++) - { - CCSXHHtmlTOC1* temptoc1 = iDuplicateHelpTopicList[i]; - - if(temptoc1->GetName().CompareF(HelpContentName) == 0) - { - TBuf lookup; - temptoc1->GetHelpFileL(lookup); - XMLParser->SetPath(lookup); - lookup.Append(KIndexFile); - - if(BaflUtils::FileExists(FileSession,lookup)) - iXmlReader->ParseL (FileSession,lookup); - } - } - - CleanupStack::PopAndDestroy(XMLParser); - ClearReader(); - } - -TAny* CCSXHHTMLContentParser::GetTopicContentL(CCSXHGenericTOC2* aTopic) - { - CCSXHHtmlTOC2* topic = STATIC_CAST(CCSXHHtmlTOC2*,aTopic); - TBuf htmlFile; - topic->GetHtmlFileName(htmlFile); - return GetContentsFromFileL(htmlFile,iCoeEnv,iFeatureControl); - } - - -void CCSXHHTMLContentParser::ScanAndParseXMLfileToCreateTOC1ObjectL(RFs& FileSession, - CDirScan* scanner, - CCSXHHelpDataBase* aDataBase, - const TInt& aDrive, - CCSXHXMLParseHandler* XMLParser - ) - { - CDir* entryList = NULL; - scanner->NextL(entryList); - if(!entryList) - return; - - CleanupStack::PushL(entryList); - TInt entryCount = entryList->Count(); - - TLinearOrder anOrder(Orderer); - - TBuf lookup; - - - while(entryCount--) - { - TEntry entry=(*entryList)[entryCount]; - - //Clear the previous values - lookup.Delete(0,lookup.Length()); - - lookup.Append(scanner->FullPath()); - lookup.Append(entry.iName); - lookup.Append(KFwdSlash); - lookup.Append(KMetaFile); - - //Check whether a file exists - if(!BaflUtils::FileExists(FileSession,lookup)) - continue; - - TRAPD(parserResult,iXmlReader->ParseL (FileSession,lookup )); - if(parserResult == KErrNone) - { - if(CheckFeatureIDL(XMLParser->GetFeatureIds())) - { - if(!IsAppUIdPresentAlready(entry.iName)) - { - CCSXHHtmlTOC1* CategoryObj = CCSXHHtmlTOC1::NewL( - XMLParser->GetApplicationName(),entry.iName,aDrive); - if ( !CategoryObj ) - { - continue; - } - iIndexing->RuntimeGenerateIndexL( *CategoryObj, XMLParser->GetFeatureIds() ); - if(CategoryObj && aDataBase->GetMainTopics()->InsertChild(CategoryObj,EFalse)) - iHtmlTOC1List.Append(CategoryObj);//Keep a local copy*/ - else - { - if(CategoryObj) - iDuplicateHelpTopicList.Append(CategoryObj); - } - } - } - } - } - - CleanupStack::PopAndDestroy(entryList); - } - -void CCSXHHTMLContentParser::InsertHTMLToc1L( - const TDesC &appUidName,const TDesC &appName, - const TInt& aDrive , CCSXHHelpDataBase* aDataBase, const TDesC &FeatureIds) - { - if(CheckFeatureIDL(FeatureIds)) - { - if(!IsAppUIdPresentAlready(appUidName)) - { - CCSXHHtmlTOC1* CategoryObj = CCSXHHtmlTOC1::NewL(appName,appUidName,aDrive); - if(CategoryObj && aDataBase->GetMainTopics()->InsertChild(CategoryObj,EFalse)) - iHtmlTOC1List.Append(CategoryObj);//Keep a local copy*/ - else - { - if(CategoryObj) - iDuplicateHelpTopicList.Append(CategoryObj); - } - } - } - } - -HBufC8* CCSXHHTMLContentParser::GetContentsFromFileL(const TDesC& htmlFile,CCoeEnv* aCoeEnv, - RFeatureControl& aFeatureControl) - { - RFs& fileSession = aCoeEnv->FsSession(); - TInt SlashPosition = htmlFile.LocateReverse('\\'); - TBuf* CompressedFile = new (ELeave) TBuf; - CleanupStack::PushL(CompressedFile); //1 - CompressedFile->Copy(htmlFile.Mid(0,SlashPosition+1)); - CompressedFile->Append(KContentZipFile); - - HBufC8* CssContent = CreateBufferForCSSContentL(aFeatureControl); - - if(!BaflUtils::FileExists(fileSession,*CompressedFile)) - { - CleanupStack::PopAndDestroy(CompressedFile); - - HBufC8* buffer = GetContentsFromHTMLFileL(htmlFile,aCoeEnv); - - return MergeCssAndHTMLContentL(buffer,CssContent); - } - - // Create an instance of CZipFile. - CZipFile* zipFile = CZipFile::NewL(fileSession, *CompressedFile); - CleanupStack::PushL(zipFile); //2 - - // Iterate and get the file name - CZipFileMemberIterator* members = zipFile->GetMembersL(); - CleanupStack::PushL(members);//3 - CZipFileMember* member = members->NextL(); // Get the first file in zip - - TInt nCount=0; - const TBuf*Fname; - TBuf *HtmlFileName = new (ELeave) TBuf; - CleanupStack::PushL(HtmlFileName); //4 - HtmlFileName->Copy(htmlFile.Mid(SlashPosition+1)); - for(nCount=0;member!=NULL;nCount++) - { - Fname = member->Name(); - if(Fname->Compare(*HtmlFileName)==0 ) - { - break; - } - delete member; - member = members->NextL(); - } - - if(NULL == member) - { - CleanupStack::PopAndDestroy(HtmlFileName); - CleanupStack::PopAndDestroy(members); - CleanupStack::PopAndDestroy(zipFile); - CleanupStack::PopAndDestroy(CompressedFile); - - HBufC8* buffer = GetContentsFromHTMLFileL(htmlFile,aCoeEnv); - return MergeCssAndHTMLContentL(buffer,CssContent); - } - - CleanupStack::PushL(member);//5 - RZipFileMemberReaderStream* stream; - zipFile->GetInputStreamL(member, stream); - CleanupStack::PushL(stream);//6 - - // Extracts aFileName to a buffer. - // If the file is quite huge, then read the file in streaming mode. - // For example, use 4KB buffer and read it in an active object. - HBufC8* buffer = HBufC8::NewLC(member->UncompressedSize());//5 - TPtr8 bufferPtr(buffer->Des()); - User::LeaveIfError(stream->Read(bufferPtr, member->UncompressedSize())); - - // Release all the resources. - CleanupStack::Pop(buffer); - CleanupStack::PopAndDestroy(stream); - CleanupStack::PopAndDestroy(member); - CleanupStack::PopAndDestroy(HtmlFileName); - CleanupStack::PopAndDestroy(members); - CleanupStack::PopAndDestroy(zipFile); - CleanupStack::PopAndDestroy(CompressedFile); - - return MergeCssAndHTMLContentL(buffer,CssContent); - } - -TBool CCSXHHTMLContentParser::HandleMasterKeywordFileL(CCSXHHelpDataBase* aDataBase) - { - RFs& FileSession = iCoeEnv->FsSession(); - CCSXHXMLParseHandler_MasterKywd* XMLParser_MasterKywd = CCSXHXMLParseHandler_MasterKywd::NewL(iCoeEnv); - CleanupStack::PushL(XMLParser_MasterKywd); - InitializeReaderL(XMLParser_MasterKywd); - XMLParser_MasterKywd->SetHtmlContentParserPtr(this); - XMLParser_MasterKywd->SetDataBasePtr(aDataBase); - TBool bMasterKeywordFilePresent = EFalse; - - //Check for the availability of Master Keyword file - TBuf* Master_kywdPath = new(ELeave) TBuf; - CleanupStack::PushL(Master_kywdPath);//5 - Master_kywdPath->Append(PathInfo::RomRootPath().Left(1)); - GetHTMLContentPathForDriveL(Master_kywdPath,iCoeEnv); - Master_kywdPath->Append(KMasterKywdFile); - - if(BaflUtils::FileExists(FileSession,*Master_kywdPath)) - { - TRAP_IGNORE(iXmlReader->ParseL(FileSession,*Master_kywdPath )); - bMasterKeywordFilePresent = ETrue; - } - - //KMasterKywdFile; - CleanupStack::PopAndDestroy(Master_kywdPath); - CleanupStack::PopAndDestroy(XMLParser_MasterKywd); - ClearReader(); - - return bMasterKeywordFilePresent; - } - -void CCSXHHTMLContentParser::GenerateKywdTOC1ListL(CCSXHHelpDataBase* aDataBase) - { - if(!iHtmlTOC1List.Count()) - return; - TBool bMasterKeywordFilePresent = HandleMasterKeywordFileL(aDataBase); - - CCSXHXMLParseHandler_Kywd* XMLParser = CCSXHXMLParseHandler_Kywd::NewL(iCoeEnv); - CleanupStack::PushL(XMLParser); - InitializeReaderL(XMLParser); - - XMLParser->SetDataBasePtr(aDataBase); - XMLParser->SetIsTOC2(EFalse); - XMLParser->SetHtmlContentParserPtr(this); - - //Parse keyword.xml file from Main Array list - ParseKeywdFileAndCreatekywdTOC1ObjectsL(iHtmlTOC1List,XMLParser,bMasterKeywordFilePresent); - - //Parse keyword.xml file from duplicate Array list - ParseKeywdFileAndCreatekywdTOC1ObjectsL(iDuplicateHelpTopicList,XMLParser,bMasterKeywordFilePresent); - - CleanupStack::PopAndDestroy(XMLParser); - ClearReader(); - } - -void CCSXHHTMLContentParser::GenerateTOC2ListForKeywordSearchL -(CCSXHHelpDataBase* aDataBase,CCSXHKywdTOC1* aKywdTOC1Object) - { - RPointerArray* TOC1HtmlList = aKywdTOC1Object->GetHtmlTOC1List(); - if(!TOC1HtmlList) - return; - - CCSXHXMLParseHandler_Kywd* XMLParser = CCSXHXMLParseHandler_Kywd::NewL(iCoeEnv); - CleanupStack::PushL(XMLParser); - InitializeReaderL(XMLParser); - - int toc1Count = TOC1HtmlList->Count(); - CCSXHHtmlTOC1* toc1; - - RFs& FileSession = iCoeEnv->FsSession(); - - XMLParser->SetDataBasePtr(aDataBase); - XMLParser->SetIsTOC2(ETrue); - XMLParser->SetHtmlContentParserPtr(this); - - TBuf* lookup = new(ELeave)TBuf; - CleanupStack::PushL(lookup);//3 - XMLParser->SetTOC1Title(aKywdTOC1Object->GetName()); - for(int i = 0; i < toc1Count ; ++i ) - { - toc1 = (*TOC1HtmlList)[i]; - //Get Corresponding toc1 from Main array and set toc1 object - XMLParser->SetCurrentHtmlToc1(GetCorrespondingTOC1FromMainArray(toc1->GetName())); - //Clear the previous values - lookup->Delete(0,lookup->Length()); - toc1->GetHelpFileL(*lookup); - XMLParser->SetPath(*lookup); - lookup->Append(KKeywordsFile); - TRAP_IGNORE(iXmlReader->ParseL (FileSession,*lookup )); - aDataBase->IncrementKeywordSearchCount(); - } - CleanupStack::PopAndDestroy(lookup); - CleanupStack::PopAndDestroy(XMLParser); - ClearReader(); - } - -CCSXHHelpContentBase* CCSXHHTMLContentParser::GetContextTopic -(const TUid& aUid, const TDesC& contextName) - { - int toc1Count = iHtmlTOC1List.Count(); - CCSXHHtmlTOC1* toc1,*temptoc1; - - for(int i = 0; i < toc1Count; ++i) - { - toc1 = iHtmlTOC1List[i]; - if(aUid == toc1->GetAppUid()) - { - return toc1->GetContextTopic(contextName); - } - } - - toc1Count = iDuplicateHelpTopicList.Count(); - for(int i = 0; i < toc1Count; ++i) - { - toc1 = iDuplicateHelpTopicList[i]; - if(aUid == toc1->GetAppUid()) - { - temptoc1 = GetCorrespondingTOC1FromMainArray(toc1->GetName()); - return temptoc1->GetContextTopic(contextName); - } - } - return NULL; - } - -CCSXHHelpContentBase* CCSXHHTMLContentParser::GetHtmlTopicForUrlL(const TDesC& aUrl) - { - CCSXHHelpContentBase* tocobj = GetObjectBasedonUrlL(iHtmlTOC1List,aUrl,ETrue); - - if(NULL == tocobj) - tocobj = GetObjectBasedonUrlL(iDuplicateHelpTopicList,aUrl,EFalse); - - return tocobj; - } - -CCSXHHelpContentBase* CCSXHHTMLContentParser::GetObjectBasedonUrlL(RPointerArray& aTOC1ObjectsArray, - const TDesC& aUrl, TBool aMainArrayList) - { - /*For URLs of form - file:://:/system/xhtml///Html name - We can have help topics for other cases, help topic objects not possible - */ - TBuf aFileUrl; - - int toc1Count = aTOC1ObjectsArray.Count(); - CCSXHHtmlTOC1* toc1,*temptoc1; - for(int j = 0; j < toc1Count; ++j) - { - toc1 = aTOC1ObjectsArray[j]; - TBuf htmlFile; - toc1->GetHelpFileL(htmlFile); - - //Convert fwd slashes to back slashes - TInt i = htmlFile.Find(KFwdSlash) ; - while (KErrNotFound != i) - { - htmlFile.Replace(i,1,KBackSlash); - i = htmlFile.Find(KFwdSlash) ; - } - - i = aUrl.FindC(htmlFile); - if(i != KErrNotFound) - { - TFileName fileName; - i = aUrl.LocateReverseF('/'); - fileName = aUrl.Mid(i + 1); - if(aMainArrayList) - temptoc1 = toc1; - else - temptoc1 = GetCorrespondingTOC1FromMainArray(toc1->GetName()); - - return temptoc1->GetHtmlTopicForFile(fileName); - } - } - return NULL; - } - -void CCSXHHTMLContentParser::GetHtmlFileL(CCoeEnv* coeEnv,const short& aDir, - const TAppUid& aUid,TBuf& aFileName) - { - aFileName.Copy(KEmptyString); - - RFs& FileSession = coeEnv->FsSession(); - TDriveList DirList; - if( (FileSession.DriveList(DirList)= DirList.Length())) - return; - - TChar driveLetter = '?'; - TDriveInfo info; - TInt error = FileSession.Drive(info, aDir); - if ((error == KErrNone) && - (DirList[aDir] && info.iType != EMediaNotPresent)) - { - RFs::DriveToChar(aDir, driveLetter); - - aFileName.Append(driveLetter); - GetHTMLContentPathForDriveL(&aFileName,coeEnv); - aUid.AppendUid(aFileName); - aFileName.Append(KFwdSlash); - } - } - -void CCSXHHTMLContentParser::InitializeReaderL(CCSXHXMLParseHandler* aXMLParser) - { - if(iXmlReader == NULL ) - { - iXmlReader = CSenXmlReader::NewL(); - iXmlReader->SetContentHandler(*aXMLParser); - } - } -void CCSXHHTMLContentParser::ClearReader() - { - delete iXmlReader; - iXmlReader = NULL; - } - -TBool CCSXHHTMLContentParser::IsUidCategoryPresent(const TUid& aUid) - { - int toc1Count = iHtmlTOC1List.Count(); - CCSXHHtmlTOC1* toc1; - for(int i = 0; i < toc1Count; ++i) - { - toc1 = iHtmlTOC1List[i]; - if(aUid == toc1->GetAppUid()) - return ETrue; - } - - toc1Count = iDuplicateHelpTopicList.Count(); - for(int i = 0; i < toc1Count; ++i) - { - toc1 = iDuplicateHelpTopicList[i]; - if(aUid == toc1->GetAppUid()) - return ETrue; - } - return EFalse; - } - -TBool CCSXHHTMLContentParser::GetHTMLToc1(const TDesC& aUid,CCSXHXMLParseHandler* aParser) - { - TUint AppId; - - if(!aUid.Length()) - return EFalse; - - TLex FolderUid(aUid.Mid(KOffset)); - FolderUid.Val(AppId,EHex); - TUid ApplicationUid = TUid::Uid((TInt)AppId); - - int toc1Count = iHtmlTOC1List.Count(); - - CCSXHHtmlTOC1* toc1; - for(int i = 0; i < toc1Count; ++i) - { - toc1 = iHtmlTOC1List[i]; - if(ApplicationUid == toc1->GetAppUid()) - { - STATIC_CAST(CCSXHXMLParseHandler_MasterKywd*,aParser)->SetCurrentHtmlToc1(toc1); - return ETrue; - } - } - - toc1Count = iDuplicateHelpTopicList.Count(); - for(int i = 0; i < toc1Count; ++i) - { - toc1 = iDuplicateHelpTopicList[i]; - if(ApplicationUid == toc1->GetAppUid()) - { - STATIC_CAST(CCSXHXMLParseHandler_MasterKywd*,aParser)->SetCurrentHtmlToc1(toc1); - return ETrue; - } - } - - return EFalse; - } - -//To get Corresponding toc1 from main array. -CCSXHHtmlTOC1* CCSXHHTMLContentParser::GetCorrespondingTOC1FromMainArray(const TDesC& aApplicationName) - { - TInt toc1Count = iHtmlTOC1List.Count(); - CCSXHHtmlTOC1* toc1; - for(int i=0;iGetName().CompareF(aApplicationName) == 0) - return toc1; - } - - return NULL; - } - -//Check UId is already present in the list. -TBool CCSXHHTMLContentParser::IsAppUIdPresentAlready(const TDesC& aUid) - { - TBool result = EFalse; - TInt toc1Count = iHtmlTOC1List.Count(); - CCSXHHtmlTOC1* toc1; - - TUint AppId; - TLex FolderUid(aUid.Mid(KOffset)); - FolderUid.Val(AppId,EHex); - TUid ApplicationUid = TUid::Uid((TInt)AppId); - - for(int i=0;iGetAppUid()) - { - result = ETrue; - break; - } - } - - toc1Count = iDuplicateHelpTopicList.Count(); - for(int i=0;iGetAppUid()) - { - result = ETrue; - break; - } - } - - return result; - - } - -void CCSXHHTMLContentParser::ParseKeywdFileAndCreatekywdTOC1ObjectsL( - RPointerArray& aTOC1ObjectsArray, - CCSXHXMLParseHandler_Kywd* XMLParser, TBool bMasterKeywordFilePresent) - { - int toc1Count = aTOC1ObjectsArray.Count(); - CCSXHHtmlTOC1* toc1; - - TBuf* lookup = new(ELeave)TBuf; - CleanupStack::PushL(lookup);//1 - - RFs& FileSession = iCoeEnv->FsSession(); - - for(int i = 0; i < toc1Count; ++i) - { - toc1 = aTOC1ObjectsArray[i]; - - if(bMasterKeywordFilePresent && toc1->IsROMDrive()) - continue; - - //Clear the previous values - lookup->Delete(0,lookup->Length()); - - toc1->GetHelpFileL(*lookup); - lookup->Append(KKeywordsFile); - - //Check whether a file exists - if(!BaflUtils::FileExists(FileSession,*lookup)) - continue; - - XMLParser->SetCurrentHtmlToc1(toc1); - TRAP_IGNORE(iXmlReader->ParseL(FileSession,*lookup )); - } - - CleanupStack::PopAndDestroy(lookup); - } - -//RUNTIME -void CCSXHHTMLContentParser::GetSupportedFeatureListL() - { - RFeatureUidArray SupportedFeatures; - TInt err = iFeatureControl.Connect(); - if ( err == KErrNone ) - { - // ListSupportedFeatures() returns one of the Symbian error codes. - err = iFeatureControl.ListSupportedFeatures( SupportedFeatures ); - - // Remember to call CloseL after using RFeatureControl. - // It disconnects the Feature Manager server. - iFeatureControl.Close(); - } - //As per new req. add true, flase to id and create an array. - - iFeatureManager_FeatureIds = new (ELeave) CDesCArrayFlat(2); - - TBuf<25>CurrFId; - - for(TInt i=0;iAppendL(CurrFId); - - CurrFId.Copy(KTrue_StringtoAppend); - CurrFId.AppendNum(SupportedFeatures[i].iUid); - iFeatureManager_FeatureIds->AppendL(CurrFId); - - CurrFId.Copy(KFalse_StringtoAppend); - CurrFId.AppendNum(SupportedFeatures[i].iUid); - iFeatureManager_FeatureIds->AppendL(CurrFId); - } - - //Input Language variation changes - //----------------------------------------- - //Create an array with supported input language - CPtiEngine* ptiEngine = CPtiEngine::NewL(); - CleanupStack::PushL( ptiEngine ); - - CArrayFix* languageCodeArray = new(ELeave)CArrayFixFlat(2); - - ptiEngine->GetAvailableLanguagesL( languageCodeArray ); - - TInt nCount = languageCodeArray->Count(); - - iSupportedInputLanguages = new (ELeave) CDesCArrayFlat(2); - - //Codescanner gives error, if member variables are pushed. - //CleanupStack::PushL( iSupportedInputLanguages ); - - for(TInt i=0; iAt(i); - TBuf<25>Currlang(_L("LANGUAGE_")); - if(languageCode < 10) - Currlang.AppendNumFixedWidth(languageCode,EDecimal,2); - else - Currlang.AppendNum(languageCode); - - iSupportedInputLanguages->AppendL(Currlang); - } - - //CleanupStack::Pop(iSupportedInputLanguages); - CleanupStack::PopAndDestroy( ptiEngine ); - - delete languageCodeArray; - //----------------------------------------- - - SupportedFeatures.Close(); - } - -//RUNTIME -TBool CCSXHHTMLContentParser::CheckFeatureIDL(const TDesC& aFeatureIds) - { - if(/*KHexPrefixLength == aFeatureIds.Length() &&*/ - KErrNotFound != aFeatureIds.Find(KDefaultFeatureIdStringTemp)) - { - return ETrue; - } - - HBufC* Ids = HBufC::NewLC(aFeatureIds.Length()); - TPtr CurrentFeatureIds = Ids->Des(); - CurrentFeatureIds.Copy(aFeatureIds); - CleanupStack::Pop(Ids); - - CDesCArray* FeatureIdList = new (ELeave) CDesCArrayFlat(2); ; - TInt EndPos = CurrentFeatureIds.Locate(' '); - - CleanupStack::PushL(FeatureIdList); - - while (KErrNotFound != EndPos) - { - FeatureIdList->AppendL(CurrentFeatureIds.Mid(0,EndPos));// FId_Val); - CurrentFeatureIds = CurrentFeatureIds.Mid(EndPos+1); - EndPos = CurrentFeatureIds.Locate(' ') ; - } - - if(KErrNotFound == EndPos && 0!= CurrentFeatureIds.Length()) - { - FeatureIdList->AppendL(CurrentFeatureIds); - } - - CleanupStack::Pop(FeatureIdList); - - TInt position; - if(KErrNone == FeatureIdList->Find(KDefaultFeatureIdString,position) || - KErrNone == FeatureIdList->Find(KDefaultFeatureIdStringTemp,position) ) - { - delete FeatureIdList; - delete Ids; - return ETrue; - } - - TInt nCount = FeatureIdList->MdcaCount(); - - - //FeatureManager list contains all enabled featureIds, appended with true, and false. - //New Req. text associated with true_featureId, should be displayed, if Id is enabled. - //else, if featureId is disabled, text associated with false_featureId should be displayed. - // 1. if featureId string contains "false" and it is not in the list, return ETrue. - // 2. if featureId string does not contain "false" and it is present in the list, return ETrue. - // 3. if featureId is part of input language, return ETrue. - for(TInt j=0;j < nCount;j++) - { - if( - (KErrNotFound != FeatureIdList->MdcaPoint(j).Find(KFalseString) && - KErrNone != iFeatureManager_FeatureIds->Find(FeatureIdList->MdcaPoint(j),position))|| - - (KErrNotFound == FeatureIdList->MdcaPoint(j).Find(KFalseString) && - KErrNone == iFeatureManager_FeatureIds->Find(FeatureIdList->MdcaPoint(j),position)) || - - KErrNone == iSupportedInputLanguages->Find(FeatureIdList->MdcaPoint(j),position) - ) - { - delete FeatureIdList; - delete Ids; - return ETrue; - } - } - - delete Ids; - delete FeatureIdList; - return EFalse; - } - -HBufC8* CCSXHHTMLContentParser::CreateBufferForCSSContentL(RFeatureControl& aFeatureControl) - { - RFeatureUidArray SupportedFeatures; - TInt err = aFeatureControl.Connect(); - if ( err == KErrNone ) - { - // ListSupportedFeatures() returns one of the Symbian error codes. - err = aFeatureControl.ListSupportedFeatures( SupportedFeatures ); - - // Remember to call CloseL after using RFeatureControl. - // It disconnects the Feature Manager server. - aFeatureControl.Close(); - } - - //Input Language variation changes - //----------------------------------------- - - CPtiEngine* ptiEngine = CPtiEngine::NewL(); - CleanupStack::PushL( ptiEngine ); - - CArrayFix* languageCodeArray = new(ELeave)CArrayFixFlat(2); - - ptiEngine->GetAvailableLanguagesL( languageCodeArray ); - - TInt nInputLangCount = languageCodeArray->Count(); - TInt nCount = SupportedFeatures.Count(); - - HBufC8* CssContent = HBufC8::NewLC(nCount * KMaxUnits * 6 + nInputLangCount * 3 + 400); - TPtr8 bufferPtr(CssContent->Des()); - - AppendStyleSheetContent_listitem(bufferPtr,nCount,SupportedFeatures,*languageCodeArray); - AppendStyleSheetContent_paragraph(bufferPtr,nCount,SupportedFeatures,*languageCodeArray); - AppendStyleSheetContent_ahref(bufferPtr,nCount,SupportedFeatures,*languageCodeArray); - AppendStyleSheetContent_none(bufferPtr,nCount,SupportedFeatures); - - SupportedFeatures.Close(); - - CleanupStack::Pop(CssContent); - - //Input Language variation changes - //----------------------------------------- - CleanupStack::PopAndDestroy( ptiEngine ); - - delete languageCodeArray; - //----------------------------------------- - - return CssContent; - } - -HBufC8* CCSXHHTMLContentParser::GetContentsFromHTMLFileL(const TDesC& htmlFile,CCoeEnv* aCoeEnv) - { - RFs& fsSession = aCoeEnv->FsSession(); - RFile file; - - TInt err = file.Open(fsSession,htmlFile,EFileRead|EFileShareReadersOrWriters); - if(KErrNone == err) - { - TInt FileSize; - HBufC8* htmlFileContent = NULL; - if(KErrNone == file.Size(FileSize)) - { - htmlFileContent = HBufC8::NewLC(FileSize); - TPtr8 PtrContent = htmlFileContent->Des(); - - file.Read(PtrContent); - CleanupStack::Pop(htmlFileContent); - } - file.Close(); - return htmlFileContent; - } - else - { - return NULL; - } - } - -HBufC8* CCSXHHTMLContentParser::MergeCssAndHTMLContentL(HBufC8* aHTMLBuffer, HBufC8* aCssContent) - { - TInt BufferLength=0; - if(aHTMLBuffer) - BufferLength = aHTMLBuffer->Size(); - - if(aCssContent) - BufferLength += aCssContent->Size(); - - HBufC8* Htmlbuffer = HBufC8::NewLC(BufferLength); - - TPtr8 HtmlbufferPtr(Htmlbuffer->Des()); - - if(aCssContent) - { - HtmlbufferPtr.Copy(aCssContent->Des()); - delete aCssContent; - } - - if(aHTMLBuffer) - { - HtmlbufferPtr.Append(aHTMLBuffer->Des()); - delete aHTMLBuffer; - } - - if(Htmlbuffer) - CleanupStack::Pop(Htmlbuffer); - - return Htmlbuffer; - } - -void CCSXHHTMLContentParser::AppendStyleSheetContent_listitem(TPtr8& abufferptr,TInt aFeatureIdCount, - RFeatureUidArray& aSupportedFeatures, - CArrayFix& alanguageCodeArray) - { - //List Items - //--------------------------------------------------------- - abufferptr.Copy(KCsstext_First); - - for(TInt i=0;i FeatureId; - FeatureId.Format(KtextFormat_true_l,aSupportedFeatures[i].iUid); - //FeatureId.Append(KComma); - abufferptr.Append(FeatureId); - } - - for(TInt i=0;i FeatureId; - if(alanguageCodeArray[i] < 10) - FeatureId.Format(KtextFormat_lang_0l,alanguageCodeArray[i]); - else - FeatureId.Format(KtextFormat_lang_l,alanguageCodeArray[i]); - - abufferptr.Append(FeatureId); - } - - abufferptr.Append(KDefaultFeatureId); - abufferptr.Append(KCsstext_displayp_li); - abufferptr.Append(KCsstext_Last); - //--------------------------------------------------------- - } - -void CCSXHHTMLContentParser::AppendStyleSheetContent_paragraph(TPtr8& abufferptr,TInt aFeatureIdCount, - RFeatureUidArray& aSupportedFeatures, - CArrayFix& alanguageCodeArray) - { - //Paragraph - //--------------------------------------------------------- - abufferptr.Append(KCsstext_First); - for(TInt i=0;i FeatureId; - FeatureId.Format(KtextFormat_true_b,aSupportedFeatures[i].iUid); - //FeatureId.Append(KComma); - - abufferptr.Append(FeatureId); - } - - for(TInt i=0;i FeatureId; - if(alanguageCodeArray[i] < 10) - FeatureId.Format(KtextFormat_lang_0b,alanguageCodeArray[i]); - else - FeatureId.Format(KtextFormat_lang_b,alanguageCodeArray[i]); - - abufferptr.Append(FeatureId); - } - - abufferptr.Append(KDefaultFeatureId); - abufferptr.Append(KCsstext_displayp_p); - abufferptr.Append(KCsstext_Last); - - //--------------------------------------------------------- - } - -void CCSXHHTMLContentParser::AppendStyleSheetContent_ahref(TPtr8& abufferptr,TInt aFeatureIdCount, - RFeatureUidArray& aSupportedFeatures, - CArrayFix& alanguageCodeArray) - { - //A href - //--------------------------------------------------------- - abufferptr.Append(KCsstext_First); - for(TInt i=0;i FeatureId; - FeatureId.Format(KtextFormat_true_a,aSupportedFeatures[i].iUid); - abufferptr.Append(FeatureId); - } - - for(TInt i=0;i FeatureId; - if(alanguageCodeArray[i] < 10) - FeatureId.Format(KtextFormat_lang_0a,alanguageCodeArray[i]); - else - FeatureId.Format(KtextFormat_lang_a,alanguageCodeArray[i]); - abufferptr.Append(FeatureId); - } - - abufferptr.Append(KDefaultFeatureId); - abufferptr.Append(KCsstext_displayp_a); - abufferptr.Append(KCsstext_Last); - - //--------------------------------------------------------- - } - -void CCSXHHTMLContentParser::AppendStyleSheetContent_none(TPtr8& abufferptr,TInt aFeatureIdCount, - RFeatureUidArray& aSupportedFeatures - ) - { - //False - //--------------------------------------------------------- - abufferptr.Append(KCsstext_First); - for(TInt i=0;i FeatureId; - FeatureId.Format(KtextFormat_false,aSupportedFeatures[i].iUid,aSupportedFeatures[i].iUid,aSupportedFeatures[i].iUid); - abufferptr.Append(FeatureId); - } - - abufferptr.Append(KDefaultFeatureId); - abufferptr.Append(KCsstext_displayp_n); - abufferptr.Append(KCsstext_Last); - - //--------------------------------------------------------- - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHHelpContentBase.cpp --- a/csxhelp/HelpEngine/src/CSXHHelpContentBase.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ -/* -* 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: CCSXHHelpContentBase class definition -* -*/ - -#include "CSXHHelpContentBase.h" - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHHelpContentBase::~CCSXHHelpContentBase() - { - delete iName; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -EXPORT_C TPtr CCSXHHelpContentBase::GetName() const - { - return iName->Des(); - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHHelpContentBase::CCSXHHelpContentBase(const TDesC& name) : iName(name.Alloc()) - {//No implementation required - } - - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHHelpDataBase.cpp --- a/csxhelp/HelpEngine/src/CSXHHelpDataBase.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,264 +0,0 @@ -/* -* 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: CCSXHHelpDataBase class definition -* -*/ - -#include "CSXHHelpDataBase.h" -#include "CSXHHTMLContentParser.h" -#include "CSXHLegacyContentParser.h" -#include "CSXHViewIDs.h" -#include "CSXHGenericTOC2.h" -#include "CSXHKywdTOC1.h" -#include "CSXHMainTopics.h" -#include "CSXHKywdTopics.h" -#include "CsHelpCmdLineParser.h" -#include "CSXHContextTopic.h" -#include "coehelp.h" - -#include -#include -#include -#include -#include -#include - - -#include - -EXPORT_C CCSXHHelpDataBase* CCSXHHelpDataBase::NewL(CCoeEnv* aCoeEnv, - const TApaAppCaption& aAppCaption) - { - CCSXHHelpDataBase* self = CCSXHHelpDataBase::NewLC(aCoeEnv,aAppCaption); - CleanupStack::Pop(self); - return self; - } - -CCSXHHelpDataBase* CCSXHHelpDataBase::NewLC(CCoeEnv* aCoeEnv,const TApaAppCaption& aAppCaption) - { - //Add stuff into TLS - if(Dll::Tls() == NULL ) - { - // TLS is still null, which means that no Singleton has - // been instantiated yet. Do so now, and return that - // instance: - // Store a pointer to the new instance in thread local storage: - CCSXHHelpDataBase* self = new(ELeave) CCSXHHelpDataBase(aCoeEnv,aAppCaption); - CleanupStack::PushL(self); - self->ConstructL(); - - TInt err = Dll::SetTls(self); - if(err == KErrNone ) - { - return self; - } - else - { - delete self; - User::Leave( err ); - return NULL; - } - } - else - { - return GetInstance(); - } - } - -CCSXHHelpDataBase* CCSXHHelpDataBase::GetInstance() - { - // Singleton has been instantiated once already, so return - // that instance: - return static_cast(Dll::Tls()); - } - -CCSXHHelpDataBase::CCSXHHelpDataBase(CCoeEnv* aCoeEnv,const TApaAppCaption& aAppCaption) - : iCoeEnv(aCoeEnv),iAppCaption(aAppCaption),iKeywordSearchCount(0) - - { - } - -CCSXHHelpDataBase::~CCSXHHelpDataBase() - { - delete iMainTOC1; - delete iKywdTOC1; - delete iLastContextTopic; - delete iHTMLContentParser; - delete iLegacyContentParser; - Dll::SetTls( NULL ); - } - -void CCSXHHelpDataBase::ConstructL() - { - iHTMLContentParser = CCSXHHTMLContentParser::NewL(iCoeEnv); - iLegacyContentParser = CCSXHLegacyContentParser::NewL(this); - - iMainTOC1 = CCSXHMainTopics::NewL(KCSXHToc1ViewID,iAppCaption); - iKywdTOC1 = CCSXHKywdTopics::NewL(iAppCaption); - - //Build the TOC1 list here - iHTMLContentParser->GenerateTOC1ListL(this); - iLegacyContentParser->GenerateTOC1ListL(this); - } - -CCoeEnv* CCSXHHelpDataBase::GetCoeEnv() - { - return iCoeEnv; - } - -EXPORT_C CCSXHGenericTOC1* CCSXHHelpDataBase::GetMainTopics() - { - return iMainTOC1; - } -EXPORT_C CCSXHGenericTOC1* CCSXHHelpDataBase::GetKywdTopics() - { - return iKywdTOC1; - } - -EXPORT_C CCSXHHelpContentBase* CCSXHHelpDataBase::GetContextTopic(const TDesC8& aContextMessage) - { - TRAP_IGNORE(GetContextTopicL(aContextMessage)); - return iLastContextTopic; - - } -CCSXHHelpContentBase* CCSXHHelpDataBase::GetContextTopicL(const TDesC8& aContextMessage) - { - if(iLastContextTopic) - { - delete iLastContextTopic; - iLastContextTopic = NULL; - } - //TSW Error Correction:Help: Application crashes - //after trying to re-open context-dependent help from application - //Clear childlist of all (TOC1)parents. - ClearAllTOC1Contents(); - - CArrayFix* contextList; - CCsHlpCmdLineParser* parser = new(ELeave) CCsHlpCmdLineParser; - CleanupStack::PushL(parser); - parser->ConstructL(aContextMessage); - contextList = parser->ContextListL(); - CleanupStack::PopAndDestroy(parser); // parser - CleanupStack::PushL(contextList); - CCSXHHelpContentBase* contextTopic; - TInt numberOfContextList = contextList->Count(); - TCoeHelpContext* context; - for (TInt i(0); i < numberOfContextList; i++) - { - context = &(contextList->At(i)); - - contextTopic = iHTMLContentParser->GetContextTopic(context->iMajor,context->iContext); - if(contextTopic) - { - CleanupStack::PopAndDestroy(contextList); - iLastContextTopic = CCSXHContextTopic::NewL(contextTopic); - return iLastContextTopic; - } - } - - for (TInt i(0); i < numberOfContextList; i++) - { - context = &(contextList->At(i)); - - contextTopic = iLegacyContentParser->GetContextTopic(*context); - if(contextTopic) - { - CleanupStack::PopAndDestroy(contextList); - iLastContextTopic = CCSXHContextTopic::NewL(contextTopic); - return iLastContextTopic; - } - } - - - CleanupStack::PopAndDestroy(contextList); - return NULL; - } - -EXPORT_C void CCSXHHelpDataBase::ClearAllTOC1Contents() - { - iMainTOC1->ResetChildList(); - iKywdTOC1->ResetChildList(); - } - -CCSXHLegacyContentParser* CCSXHHelpDataBase::GetLegacyParser() - { - return iLegacyContentParser; - } - -CCSXHHTMLContentParser* CCSXHHelpDataBase::GetHtmlParser() - { - return iHTMLContentParser; - } - -void CCSXHHelpDataBase::InsertKeywordL(const TDesC& aKywdName, - TInt aLegacyKywdIndex, const TUid& aCatUid) - { - if(!iHTMLContentParser->IsUidCategoryPresent(aCatUid)) - iKwydBuilder->InsertKeywordL(iKywdTOC1,aKywdName,aLegacyKywdIndex); - } - -void CCSXHHelpDataBase::InsertKeywordL(const TDesC& aKywdName, CCSXHHtmlTOC1* aToc1) - { - iKwydBuilder->InsertKeywordL(iKywdTOC1,aKywdName,aToc1); - } - -CCSXHKywdTOC1* CCSXHHelpDataBase::InsertKeywordTopicL(CCSXHGenericTOC2* aToc2) - { - CCSXHKywdTOC1* toc1 = iKywdTOC1->GetSelectedTopic(); - InsertKeywordTopic(toc1,aToc2); - return toc1; - } - -void CCSXHHelpDataBase::InsertKeywordTopic(CCSXHKywdTOC1* aToc1, CCSXHGenericTOC2* aToc2) - { - aToc1->InsertChild(aToc2); - } - -EXPORT_C TInt CCSXHHelpDataBase::InitGenerateKeywordTOC2ListL(CCSXHKywdTOC1* aTopic) - { - iKeywordSearchCount = 0; - RPointerArray* TOC1HtmlList = aTopic->GetHtmlTOC1List(); - TInt htmlCount = TOC1HtmlList ? TOC1HtmlList->Count() : 0; - TInt legacyCount = iLegacyContentParser->InitGenerateTOC2ListForKeywordSearchL(aTopic); - return (htmlCount + legacyCount); - } - -void CCSXHHelpDataBase::GenerateKeywordTOC2ListL(CCSXHKywdTOC1* aTopic) - { - iHTMLContentParser->GenerateTOC2ListForKeywordSearchL(this,aTopic); - iLegacyContentParser->GenerateTOC2ListForKeywordSearchL(aTopic); - } - -EXPORT_C CCSXHHelpContentBase* CCSXHHelpDataBase::GetHtmlTopicForUrlL(const TDesC& url) - { - return iHTMLContentParser->GetHtmlTopicForUrlL(url); - } -void CCSXHHelpDataBase::FillKeywordTopicsL(MCSXHKywdBuilder* aBuilder) - { - iKwydBuilder = aBuilder; - iHTMLContentParser->GenerateKywdTOC1ListL(this); - iLegacyContentParser->GenerateKywdTOC1ListL(this); - } - - -void CCSXHHelpDataBase::IncrementKeywordSearchCount(TInt aUnits) - { - iKeywordSearchCount += aUnits; - } - -EXPORT_C TInt CCSXHHelpDataBase::GetKeywordSearchCount() - { - return iKeywordSearchCount; - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHHtmlTOC1.cpp --- a/csxhelp/HelpEngine/src/CSXHHtmlTOC1.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,211 +0,0 @@ -/* -* 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: CCSXHHtmlTOC1 class definition -* -*/ - -#include "CSXHHtmlTOC1.h" -#include "CSXHHtmlTOC2.h" -#include "CSXHViewIDs.h" -#include "CSXHHTMLContentParser.h" -#include "CSXHHelpDataBase.h" -#include "csxhconstants.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -const TInt KBufSize = 35; - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHHtmlTOC1* CCSXHHtmlTOC1::NewL(const TDesC& aName, const TDesC& aFolder,const TInt& aDrive) - { - CCSXHHtmlTOC1* self = new(ELeave) CCSXHHtmlTOC1(aName,aFolder,aDrive); - if(self->IsValid()) - return self; - delete self; - return NULL; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHHtmlTOC1::CCSXHHtmlTOC1(const TDesC& aName, const TDesC& aFolder,const TInt& aDrive): - CCSXHGenericTOC1(aName),iAppUid(aFolder),iDrive(aDrive) - {//No implementation required - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHHtmlTOC1::~CCSXHHtmlTOC1() - {//No implementation required - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -TUid CCSXHHtmlTOC1::GetViewID() const - { - return KCSXHToc2ViewID; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHHtmlTOC1::GetHelpFileL(TBuf& aFileName ) const - { - //return iHelpFile; - return CCSXHHTMLContentParser::GetHtmlFileL( - CCSXHHelpDataBase::GetInstance()->GetCoeEnv(),iDrive,iAppUid,aFileName); - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -const TUid& CCSXHHtmlTOC1::GetAppUid() const - { - return iAppUid.GetUid(); - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -TBool CCSXHHtmlTOC1::IsROMDrive() - { - TInt ROMDrive; - RFs::CharToDrive( PathInfo::RomRootPath()[0], ROMDrive ); - if(ROMDrive == iDrive) - return ETrue; - else - return EFalse; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHHelpContentBase* CCSXHHtmlTOC1::GetContextTopic(const TDesC& contextName) - { - TBool resetChildList = EFalse; - if(iChildList == NULL) - { - InitChildList();//Generates child list - resetChildList = ETrue; - } - - TInt count = iChildList->Count(); - CCSXHHtmlTOC2* toc2 = NULL; - for(TInt i=0;i contextFile = contextName; - contextFile.Append(KHtmlFileExtn); - if(contextFile.Compare(toc2->GetFileName()) == 0) - return toc2;//Child list should not be reset - } - if(resetChildList) - ResetChildList(); - return NULL; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHHelpContentBase* CCSXHHtmlTOC1::GetHtmlTopicForFile(const TDesC& aFile) - { - TBool resetChildList = EFalse; - if(iChildList ==NULL) - { - InitChildList();//Generates child list if required. - resetChildList = ETrue; - } - - TInt count = iChildList->Count(); - CCSXHHtmlTOC2* toc2 = NULL; - for(TInt i=0;iGetFileName().Compare(aFile) == 0) - return toc2;//Child list should not be reset - } - if(resetChildList) - ResetChildList(); - return NULL; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHHtmlTOC1::InitChildList() - { - if(iChildList != NULL) - return; - ConstructChildList(); - TRAP_IGNORE(CCSXHHelpDataBase::GetInstance()->GetHtmlParser()-> - GenerateTOC2ListL(*this,iChildList)); - } -TBool CCSXHHtmlTOC1::IsValid() const - { - return iAppUid.IsValid(); - } - - -TAppUid::TAppUid(const TDesC& aFolder) - { - TLex lex(aFolder.Mid(KHexPrefixLength)); - TUint appId = 0; - lex.Val(appId,EHex); - - if(appId) - { - iUid = TUid::Uid((TInt)appId); - iLength = aFolder.Length(); - } - else - { - iLength = 0; - } - } - -const TUid& TAppUid::GetUid() const - { - return iUid; - } - -TBool TAppUid::IsValid() const - { - return iLength ? ETrue : EFalse; - } -void TAppUid::AppendUid(TBuf& aStr) const - { - TInt initialLen = aStr.Length(); - aStr.Append(KHexPrefix); - aStr.AppendNum(iUid.iUid,EHex); - TInt finalLen = aStr.Length(); - - while(iLength > (finalLen - initialLen)) - { - aStr.Insert(initialLen+KHexPrefixLength,KZero); - ++finalLen; - } - - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHHtmlTOC2.cpp --- a/csxhelp/HelpEngine/src/CSXHHtmlTOC2.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,181 +0,0 @@ -/* -* 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: CCSXHHtmlTOC2 class definition -* -*/ - -#include "CSXHHtmlTOC2.h" -#include "CSXHHtmlTOC1.h" -#include "CSXHViewIDs.h" -#include "CSXHHTMLContentParser.h" -#include "CSXHHelpDataBase.h" -#include "csxhconstants.h" - -#include -#include -#include -#include - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHHtmlTOC2* CCSXHHtmlTOC2::NewL(CCSXHGenericTOC1* aParent,const TDesC& aName, - const TDesC& aHtmlHelpFile, TBool aKeyWordTopic ) - { - CCSXHHtmlTOC2* self = CCSXHHtmlTOC2::NewLC(aParent, aName,aHtmlHelpFile,aKeyWordTopic); - CleanupStack::Pop(self); - return self; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHHtmlTOC2* CCSXHHtmlTOC2::NewLC(CCSXHGenericTOC1* aParent, const TDesC& aName, - const TDesC& aHtmlHelpFile, TBool aKeyWordTopic) - { - CCSXHHtmlTOC2* self = new(ELeave) CCSXHHtmlTOC2(aParent, aName,aHtmlHelpFile,aKeyWordTopic); - CleanupStack::PushL(self); - return self; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHHtmlTOC2::~CCSXHHtmlTOC2() - {//No implementation required - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHHtmlTOC2::CCSXHHtmlTOC2(CCSXHGenericTOC1* aParent,const TDesC& aName, - const TDesC& aHtmlHelpFile, TBool aKeyWordTopic) : - CCSXHGenericTOC2(aParent, aName),iHTMLFileName(aHtmlHelpFile), - iKeyWordTopic(aKeyWordTopic),iKywdParent(NULL) - {//No implementation required - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -TUid CCSXHHtmlTOC2::GetViewID() const - { - return KCSXHHtmlTopicViewID; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -const TBuf& CCSXHHtmlTOC2::GetFileName() const - { - return iHTMLFileName; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -EXPORT_C TBool CCSXHHtmlTOC2::GetHelpContext(TCoeHelpContext& aContext) const - { - - CCSXHHtmlTOC1* parent = STATIC_CAST(CCSXHHtmlTOC1*,iParent); - aContext.iMajor = parent->GetAppUid(); - if( KErrNotFound != iHTMLFileName.Find(KHtmlFileExtn) ) - { - aContext.iContext.Append(iHTMLFileName.Left(iHTMLFileName.Find(KHtmlFileExtn))); - } -#ifdef FF_HELP_TUTORIAL_MERGE - else if( KErrNotFound != iHTMLFileName.Find(KTutorialFileExtn) ) - { - aContext.iContext.Append(iHTMLFileName.Left(iHTMLFileName.Find(KTutorialFileExtn))); - } -#endif // FF_HELP_TUTORIAL_MERGE - return ETrue; - } -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -EXPORT_C void CCSXHHtmlTOC2::GetHtmlUrlL(TBuf& aFileUrl) const - { - aFileUrl = KFileUrlPrefix; - - aFileUrl.Append(iHTMLFilePath); - aFileUrl.Append(iHTMLFileName); - - TInt pos = aFileUrl.Find(KFwdSlash) ; - while (KErrNotFound != pos) - { - aFileUrl.Replace(pos,1,KBackSlash); - pos = aFileUrl.Find(KFwdSlash) ; - } - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -EXPORT_C TAny* CCSXHHtmlTOC2::GetTopicContentL() - { - return CCSXHHelpDataBase::GetInstance()->GetHtmlParser()->GetTopicContentL(this); - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -EXPORT_C HBufC8* CCSXHHtmlTOC2::GetContentsFromUrlL(const TDesC& fileUrl,CCoeEnv* aCoeEnv, - RFeatureControl& aFeatureControl) - { - TBuf htmlFile(fileUrl); - htmlFile.Delete(0,KFileUrlPrefixLength);//Remove "file:///" - //Replace "/" with "\\" - TInt pos = htmlFile.Locate('/') ; - while (KErrNotFound != pos) - { - htmlFile.Replace(pos,1,KFwdSlash); - pos = htmlFile.Locate('/') ; - } - return CCSXHHTMLContentParser::GetContentsFromFileL(htmlFile,aCoeEnv,aFeatureControl); - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -EXPORT_C CCSXHKywdTOC1* CCSXHHtmlTOC2::GetKywdParent() - { - return iKywdParent; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHHtmlTOC2::SetKywdParent(CCSXHKywdTOC1* aKywdParent) - { - iKywdParent = aKywdParent; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHHtmlTOC2::SetHtmlFilePath(const TDesC& aFilePath) - { - iHTMLFilePath = aFilePath; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHHtmlTOC2::GetHtmlFileName(TBuf& aFileName) - { - aFileName.Copy(KEmptyString); - aFileName.Append(iHTMLFilePath); - aFileName.Append(iHTMLFileName); - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHKywdTOC1.cpp --- a/csxhelp/HelpEngine/src/CSXHKywdTOC1.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -/* -* 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: CCSXHKywdTOC1 class definition -* -*/ - -#include "CSXHKywdTOC1.h" -#include "CSXHViewIDs.h" -#include "CSXHHelpDataBase.h" - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHKywdTOC1* CCSXHKywdTOC1::NewL(const TDesC& aName) - { - CCSXHKywdTOC1* self = CCSXHKywdTOC1::NewLC(aName); - CleanupStack::Pop(self); - return self; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHKywdTOC1* CCSXHKywdTOC1::NewLC(const TDesC& aName) - { - CCSXHKywdTOC1* self = new(ELeave) CCSXHKywdTOC1(aName); - CleanupStack::PushL(self); - return self; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHKywdTOC1::CCSXHKywdTOC1(const TDesC& aName): - CCSXHGenericTOC1(aName),iLegacyIndex(-1),iTOC1HtmlList(NULL) - { - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHKywdTOC1::~CCSXHKywdTOC1() - { - if(iTOC1HtmlList) - { - iTOC1HtmlList->Close(); - delete iTOC1HtmlList; - } - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -TUid CCSXHKywdTOC1::GetViewID() const - { - return KCSXHKywdToc2ViewID; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -TInt& CCSXHKywdTOC1::LegacyIndex() - { - return iLegacyIndex; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHKywdTOC1::AppendHtmlTOC1L(CCSXHHtmlTOC1* aToc1) - { - if(NULL == iTOC1HtmlList) - iTOC1HtmlList = new(ELeave) RPointerArray; - iTOC1HtmlList->Append(aToc1); - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -RPointerArray* CCSXHKywdTOC1::GetHtmlTOC1List() - { - return iTOC1HtmlList; - } - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHKywdTOC1::InitChildList() - { - if(iChildList != NULL) - return; - ConstructChildList(); - TRAP_IGNORE(CCSXHHelpDataBase::GetInstance()->GenerateKeywordTOC2ListL(this)); - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHKywdTopics.cpp --- a/csxhelp/HelpEngine/src/CSXHKywdTopics.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ -/* -* 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: CCSXHKywdTopics class definition -* -*/ - -#include "CSXHKywdTopics.h" -#include "CSXHHTMLContentParser.h" -#include "CSXHHelpDataBase.h" -#include "CSXHViewIDs.h" -#include "csxhconstants.h" -#include "CSXHKywdTOC1.h" - -#include -#include - -//Implementation class. This class will be used when all the keywords has to be displayed -class MCSXHKywdTopicsBuilder : public MCSXHKywdBuilder - { - public: - static MCSXHKywdTopicsBuilder* NewL() - { - MCSXHKywdTopicsBuilder* self = MCSXHKywdTopicsBuilder::NewLC(); - CleanupStack::Pop(self); - return self; - } - static MCSXHKywdTopicsBuilder* NewLC() - { - MCSXHKywdTopicsBuilder* self = new(ELeave) MCSXHKywdTopicsBuilder(); - CleanupStack::PushL(self); - return self; - } - - void InsertKeywordL(CCSXHKywdTopics* aKwdTopics, const TDesC& aKwd,CCSXHHtmlTOC1*) - {aKwdTopics->InsertKywdL(aKwd);} - - void InsertKeywordL(CCSXHKywdTopics* aKwdTopics, const TDesC& aKwd,const TInt&) - {aKwdTopics->InsertKywdL(aKwd);} - - private: - MCSXHKywdTopicsBuilder(){} - }; - - -//Implementation class. This class will be used when user has selected a keyword and -// wants to navigate to the search result view -class MCSXHKywdSelectedItemBuilder : public MCSXHKywdBuilder - { - public: - static MCSXHKywdSelectedItemBuilder* NewL(CCSXHKywdTOC1* aCurrentTopic) - { - MCSXHKywdSelectedItemBuilder* self = MCSXHKywdSelectedItemBuilder::NewLC(aCurrentTopic); - CleanupStack::Pop(self); - return self; - } - static MCSXHKywdSelectedItemBuilder* NewLC(CCSXHKywdTOC1* aCurrentTopic) - { - MCSXHKywdSelectedItemBuilder* self = new(ELeave) - MCSXHKywdSelectedItemBuilder(aCurrentTopic); - CleanupStack::PushL(self); - return self; - } - void InsertKeywordL(CCSXHKywdTopics*, const TDesC& aKwd,CCSXHHtmlTOC1* aToc1) - { - if(iCurrentTopic->GetName().Compare(aKwd) == 0) - iCurrentTopic->AppendHtmlTOC1L(aToc1); - } - void InsertKeywordL(CCSXHKywdTopics*, const TDesC& aKwd,const TInt& aLegacyIndex) - { - if(iCurrentTopic->GetName().Compare(aKwd) == 0) - iCurrentTopic->LegacyIndex() = aLegacyIndex; - } - - private: - MCSXHKywdSelectedItemBuilder(CCSXHKywdTOC1* aCurrentTopic) - :iCurrentTopic(aCurrentTopic){} - CCSXHKywdTOC1* iCurrentTopic; - }; - -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHKywdTopics* CCSXHKywdTopics::NewL(const TApaAppCaption& aAppCaption) - { - CCSXHKywdTopics* self = CCSXHKywdTopics::NewLC(aAppCaption); - CleanupStack::Pop(self); - return self; - } -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHKywdTopics* CCSXHKywdTopics::NewLC(const TApaAppCaption& aAppCaption) - { - CCSXHKywdTopics* self = new(ELeave) CCSXHKywdTopics(aAppCaption); - CleanupStack::PushL(self); - return self; - } -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHKywdTopics::CCSXHKywdTopics(const TDesC& aName) : CCSXHGenericTOC1(aName) - {} -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHKywdTopics::~CCSXHKywdTopics() - { - if(iCurrentTopic) - delete iCurrentTopic; - } -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -TUid CCSXHKywdTopics::GetViewID() const - { - return KCSXHKywdToc1ViewID; - } -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHKywdTopics::CopyChildListL(CDesCArray* aArray) - { - iKywdTopics = aArray; - MCSXHKywdTopicsBuilder* builder = NULL; - builder = MCSXHKywdTopicsBuilder::NewL(); - CCSXHHelpDataBase::GetInstance()->FillKeywordTopicsL(builder); - delete builder; - } -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -void CCSXHKywdTopics::InsertKywdL(const TDesC& aKywd) - { - TBuf child(KTabSpace); - child.Append(aKywd); - iKywdTopics->InsertIsqL(child); - } -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHHelpContentBase* CCSXHKywdTopics::GetChildL(const TDesC& aName) - { - if(iCurrentTopic) - { - delete iCurrentTopic; - iCurrentTopic = NULL; - } - - iCurrentTopic = CCSXHKywdTOC1::NewL(aName); - - MCSXHKywdSelectedItemBuilder* builder = NULL; - builder = MCSXHKywdSelectedItemBuilder::NewL(iCurrentTopic); - - CCSXHHelpDataBase::GetInstance()->FillKeywordTopicsL(builder); - - delete builder; - return iCurrentTopic; - } -// --------------------------------------------------------- -// Items commented in header. -// --------------------------------------------------------- -CCSXHKywdTOC1* CCSXHKywdTopics::GetSelectedTopic() - { - return iCurrentTopic; - } - - - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHLegacyContentParser.cpp --- a/csxhelp/HelpEngine/src/CSXHLegacyContentParser.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,273 +0,0 @@ -/* -* 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: CCSXHLegacyContentParser class definition -* -*/ - -#include "CSXHLegacyContentParser.h" -#include "CSXHLegacyTOC1.h" -#include "CSXHLegacyTOC2.h" -#include "CSXHKywdTOC1.h" -#include "CSXHHelpDataBase.h" - -#include -#include -#include -#include -#include - -CCSXHLegacyContentParser* CCSXHLegacyContentParser::NewL(CCSXHHelpDataBase -*aDataBase) - { - CCSXHLegacyContentParser* self = CCSXHLegacyContentParser::NewLC(aDataBase); - CleanupStack::Pop(self); - return self; - } - -CCSXHLegacyContentParser* CCSXHLegacyContentParser::NewLC(CCSXHHelpDataBase -*aDataBase) - { - CCSXHLegacyContentParser* self = new (ELeave) CCSXHLegacyContentParser(aDataBase); - CleanupStack::PushL(self); - self->ConstructL(); - return self; - } - -void CCSXHLegacyContentParser::ConstructL() - { - iModel = CHlpModel::NewL(CCoeEnv::Static()->FsSession(), this); - iModel->OpenL(); - } - -CCSXHLegacyContentParser::CCSXHLegacyContentParser(CCSXHHelpDataBase* aDataBase) - :iTopic(NULL) - { - iDataBase = aDataBase; - iHlpList = NULL; - } - -CCSXHLegacyContentParser::~CCSXHLegacyContentParser() - { - if(iTopic) - delete iTopic; - if(iHlpList) - delete iHlpList; - - //No need to delete the entries here, it will be done by the database - iLegacyTOC1List.Close(); - - if(iModel) - { - TRAP_IGNORE(iModel->CloseL()); - delete iModel; - } - } -// -------------------------------------------------------------------------- -// Gets the available kywds from the legacy content and sends them to the -// database -// -------------------------------------------------------------------------- -void CCSXHLegacyContentParser::GenerateKywdTOC1ListL(CCSXHHelpDataBase* aDataBase) - { - CHlpList* HlpList; - HlpList = CHlpList::NewL(); - iModel->SearchL(EIndexList); - iModel->LoadListL(HlpList); - - TInt nCount(HlpList->MdcaCount()); - for (TInt i(0); i < nCount; i++) - { - TBuf appName; - appName = HlpList->MdcaPoint(i); - TRAP_IGNORE(aDataBase->InsertKeywordL(appName,i,HlpList->Item(i)->HelpFileUid())); - } - delete HlpList; - } -// -------------------------------------------------------------------------- -// Gets the available TOC1 from the legacy content and sends them to the -// database. Local copy of the TOC1 objects is maintained for generating TOC2 -// -------------------------------------------------------------------------- -void CCSXHLegacyContentParser::GenerateTOC1ListL(CCSXHHelpDataBase* aDataBase) - { - const TInt twoColumnFlatArray = 2; - CDesCArray* categoryList = new(ELeave) CDesCArrayFlat(twoColumnFlatArray); - CleanupStack::PushL(categoryList); - iModel->CategoryListL(categoryList); - CCSXHLegacyTOC1* CategoryObj; - TBuf appName; - TLinearOrder anOrder(Orderer); - for (TInt i(0); i < categoryList->Count(); i++) - { - appName = categoryList->MdcaPoint(i); - CategoryObj = CCSXHLegacyTOC1::NewL(appName); - if(aDataBase->GetMainTopics()->InsertChild(CategoryObj)) - iLegacyTOC1List.Append(CategoryObj);//Keep a local copy*/ - } - CleanupStack::Pop(categoryList); - delete categoryList; - } -// -------------------------------------------------------------------------- -// Gets the available TOC2 objects for the TOC1 object -// -------------------------------------------------------------------------- -void CCSXHLegacyContentParser::GenerateTOC2ListL(CCSXHGenericTOC1& aGenericTOC1Object, - RPointerArray* GenericTOC2List) - { - iModel->SearchL(ETopicListForCategory, aGenericTOC1Object.GetName()); - if(iHlpList) - { - delete iHlpList; - //Next line is Needed for code scanner - iHlpList = NULL; - } - iHlpList = CHlpList::NewL(); - iModel->LoadListL(iHlpList); - - TInt count(iHlpList->MdcaCount()); - CCSXHGenericTOC2* PLegacyTOC2; - TLinearOrder anOrder(Orderer); - for (TInt i(0); i < count; i++) - { - PLegacyTOC2 = CCSXHLegacyTOC2::NewL(&aGenericTOC1Object,iHlpList->MdcaPoint(i)); - if (KErrNone != GenericTOC2List->InsertInOrder(PLegacyTOC2,anOrder)) - delete PLegacyTOC2; - } - } -// -------------------------------------------------------------------------- -// Gets the RTF content for the given topic -// -------------------------------------------------------------------------- -TAny* CCSXHLegacyContentParser::GetTopicContentL(CCSXHGenericTOC2* aTopic) - { - TInt nCount(iHlpList->MdcaCount()); - TInt nIndex(0); - for(nIndex=0;nIndex < nCount; nIndex++) - { - TBuf appName; - appName.Append(iHlpList->MdcaPoint(nIndex)); - if(appName.Compare(aTopic->GetName())==0) - break; - } - if(iTopic) - { - delete iTopic; - //Next line is Needed for code scanner - iTopic = NULL; - } - iTopic = CHlpTopic::NewL(); - CHlpItem* item = iHlpList->Item(nIndex); - iModel->TopicSearchL(*item); - iModel->LoadTopicL(iTopic); - return iTopic->TopicText(); - } - -void CCSXHLegacyContentParser::HandleModelEventL(TInt aEvent) - { - iStatus = aEvent; - } - -// -------------------------------------------------------------------------- -// Gets the number of kywd subtopics for the given kywd -// -------------------------------------------------------------------------- -TInt CCSXHLegacyContentParser::InitGenerateTOC2ListForKeywordSearchL(CCSXHKywdTOC1* aKywdTOC1Object) - { - if(aKywdTOC1Object->LegacyIndex() == -1 || (!iLegacyTOC1List.Count())) - return 0; - CHlpList* SearchList; - - if(iHlpList) - { - delete iHlpList; - //Next line is Needed for code scanner - iHlpList = NULL; - } - iHlpList = CHlpList::NewL(); - SearchList = CHlpList::NewLC(); - iModel->SearchL(EIndexList); - iModel->LoadListL(SearchList); - //Search Panel - CHlpItem* item = SearchList->Item(aKywdTOC1Object->LegacyIndex()); - iModel->IndexSearchL(*item); - iModel->LoadListL(iHlpList); - - CleanupStack::PopAndDestroy(SearchList); - return iHlpList->MdcaCount(); - } - - -// -------------------------------------------------------------------------- -// Gets the available kywd subtopics for the given kywd -// -------------------------------------------------------------------------- -void CCSXHLegacyContentParser::GenerateTOC2ListForKeywordSearchL(CCSXHKywdTOC1* aKywdTOC1Object) - { - if(aKywdTOC1Object->LegacyIndex() == -1 || (!iLegacyTOC1List.Count())) - return; - - TInt nCount(iHlpList->MdcaCount()); - CCSXHGenericTOC2* PLegacyTOC2; - TLinearOrder anOrder(Orderer); - for (TInt i(0); i < nCount; i++) - { - PLegacyTOC2 = CCSXHLegacyTOC2::NewL(aKywdTOC1Object,iHlpList->MdcaPoint(i),ETrue); - iDataBase->InsertKeywordTopic(aKywdTOC1Object,PLegacyTOC2); - iDataBase->IncrementKeywordSearchCount(); - } - - } - -CCSXHLegacyTOC1* CCSXHLegacyContentParser::GetTOC1ForTOC2(CCSXHLegacyTOC2*) - { - TInt count = iLegacyTOC1List.Count(); - CCSXHLegacyTOC1* toc1; - for(TInt i = 0; iCategory().Compare(toc1->GetName())==0) - return toc1; - } - return NULL; - } - -CCSXHHelpContentBase* CCSXHLegacyContentParser::GetContextTopic(TCoeHelpContext& aContext) - { - TRAPD(err,LoadContextTopicL(aContext)); - if(err != KErrNone || NULL == iTopic) - return NULL; - - TInt count = iLegacyTOC1List.Count(); - CCSXHLegacyTOC1* toc1; - for(TInt i = 0; iCategory().Compare(toc1->GetName())==0) - { - return toc1->GetContextTopic(iTopic->TopicTitle()); - } - } - return NULL; - } - -void CCSXHLegacyContentParser::LoadContextTopicL(TCoeHelpContext& aContext) - { - if(iTopic) - { - delete iTopic; - //Next line is Needed for code scanner - iTopic = NULL; - } - - iModel->ContextSearchL(aContext); - if(ETopicAvailable == iStatus ) - { - iTopic = CHlpTopic::NewL(); - iModel->LoadTopicL(iTopic); - } - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHLegacyTOC1.cpp --- a/csxhelp/HelpEngine/src/CSXHLegacyTOC1.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -/* -* 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: CCSXHLegacyTOC1 class definition -* -*/ - -#include "CSXHLegacyTOC1.h" -#include "CSXHViewIDs.h" -#include "CSXHLegacyContentParser.h" -#include "CSXHHelpDataBase.h" - -#include - -CCSXHLegacyTOC1* CCSXHLegacyTOC1::NewL(const TDesC& aName) - { - CCSXHLegacyTOC1* self = CCSXHLegacyTOC1::NewLC(aName); - CleanupStack::Pop(self); - return self; - } - -CCSXHLegacyTOC1* CCSXHLegacyTOC1::NewLC(const TDesC& aName) - { - CCSXHLegacyTOC1* self = new(ELeave) CCSXHLegacyTOC1(aName); - CleanupStack::PushL(self); - return self; - } - -CCSXHLegacyTOC1::CCSXHLegacyTOC1(const TDesC& aName) : -CCSXHGenericTOC1(aName) - {//No implementation required - } - -TUid CCSXHLegacyTOC1::GetViewID() const - { - return KCSXHToc2ViewID; - } - -CCSXHHelpContentBase* CCSXHLegacyTOC1::GetContextTopic(const TDesC& aContextName) - { - TBool resetChildList = EFalse; - if(iChildList ==NULL) - { - InitChildList();//Generates child list if required. - resetChildList = ETrue; - } - - TInt count = iChildList->Count(); - CCSXHHelpContentBase* toc2 = NULL; - for(TInt i=0;iGetName().Compare(aContextName) == 0) - return toc2;//Child list should not be reset - } - if(resetChildList) - ResetChildList(); - return NULL; - } - -void CCSXHLegacyTOC1::InitChildList() - { - if(iChildList != NULL) - return; - ConstructChildList(); - - TRAP_IGNORE(CCSXHHelpDataBase::GetInstance()-> - GetLegacyParser()->GenerateTOC2ListL(*this,iChildList)); - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHLegacyTOC2.cpp --- a/csxhelp/HelpEngine/src/CSXHLegacyTOC2.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -/* -* 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: CCSXHLegacyTOC2 class definition -* -*/ - -#include "CSXHLegacyTOC2.h" -#include "CSXHViewIDs.h" -#include "CSXHGenericTOC1.h" -#include "CSXHLegacyContentParser.h" -#include "CSXHHelpDataBase.h" - -#include - -CCSXHLegacyTOC2* CCSXHLegacyTOC2::NewL(CCSXHGenericTOC1* aParent,const -TDesC& aName,TBool aKey) - { - CCSXHLegacyTOC2* self = CCSXHLegacyTOC2::NewLC(aParent,aName,aKey); - CleanupStack::Pop(self); - return self; - } - -CCSXHLegacyTOC2* CCSXHLegacyTOC2::NewLC(CCSXHGenericTOC1* aParent,const -TDesC& aName,TBool aKey) - { - CCSXHLegacyTOC2* self = new(ELeave) CCSXHLegacyTOC2(aParent,aName,aKey); - CleanupStack::PushL(self); - return self; - } - - -CCSXHLegacyTOC2::CCSXHLegacyTOC2(CCSXHGenericTOC1* aParent,const TDesC& aName,TBool aKey) : -CCSXHGenericTOC2(aParent,aName),iKeyWordTopic (aKey) - {//No implementation required - } - -TUid CCSXHLegacyTOC2::GetViewID() const - { - return KCSXHLegacyTopicViewID; - } - -EXPORT_C TAny* CCSXHLegacyTOC2::GetTopicContentL() - { - - return CCSXHHelpDataBase::GetInstance()->GetLegacyParser()->GetTopicContentL(this); - //return NULL; - } - -EXPORT_C CCSXHLegacyTOC1* CCSXHLegacyTOC2::GetLegacyParent() - { - if(!iKeyWordTopic) - return NULL; - return CCSXHHelpDataBase::GetInstance()->GetLegacyParser()->GetTOC1ForTOC2(this); - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHMainTopics.cpp --- a/csxhelp/HelpEngine/src/CSXHMainTopics.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -/* -* 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: CCSXHMainTopics class definition -* -*/ - -#include "CSXHMainTopics.h" -#include "CSXHHTMLContentParser.h" -#include "CSXHHelpDataBase.h" -#include "CSXHViewIDs.h" -#include "csxhconstants.h" - -#include -#include - -CCSXHMainTopics* CCSXHMainTopics::NewL(const TUid& aUid, const TApaAppCaption& aAppCaption) - { - CCSXHMainTopics* self = CCSXHMainTopics::NewLC(aUid,aAppCaption); - CleanupStack::Pop(self); - return self; - } - -CCSXHMainTopics* CCSXHMainTopics::NewLC(const TUid& aUid,const TApaAppCaption& aAppCaption) - { - CCSXHMainTopics* self = new(ELeave) CCSXHMainTopics(aUid, aAppCaption); - CleanupStack::PushL(self); - return self; - } - -CCSXHMainTopics::CCSXHMainTopics(const TUid& aUid,const TDesC& aName) : -CCSXHGenericTOC1(aName), iUid(aUid) - {//No implementation required - } - -CCSXHMainTopics::~CCSXHMainTopics() - {//No implementation required - } - -TUid CCSXHMainTopics::GetViewID() const - { - return iUid; - } - -void CCSXHMainTopics::ResetChildList() - { - if(iChildList == NULL) - return; - TInt count = iChildList->Count(); - for(TInt i=0;iResetChildList(); - } - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHRuntimeIndexing.cpp --- a/csxhelp/HelpEngine/src/CSXHRuntimeIndexing.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,355 +0,0 @@ -/* -* 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: CCSXHRuntimeIndexing class definition -* -*/ - - -#include -#include -#include -#include -#include // for CAknNoteDialog -#include -#include -#include - -#include "CSXHRuntimeIndexing.h" -#include "CSXHHtmlTOC1.h" -#include "csxhconstants.h" - -// buffer length of Drive information in index file -// -const TInt KMaxDriveInfo = 100; - -CCSXHRuntimeIndexing::CCSXHRuntimeIndexing() - { - iCoeEnv = CCoeEnv::Static(); - } - -CCSXHRuntimeIndexing::~CCSXHRuntimeIndexing() - { - delete iFullDirName; - iFile.Close(); - } - -CCSXHRuntimeIndexing* CCSXHRuntimeIndexing::NewL() - { - CCSXHRuntimeIndexing* self = new ( ELeave ) CCSXHRuntimeIndexing(); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - -void CCSXHRuntimeIndexing::ConstructL() - { - RFs& fileSession = iCoeEnv->FsSession(); - iFullDirName = HBufC::NewL( KMaxFileName ); - - TFileName fullDirName; - - GetPrivatePath( fullDirName ); - if ( !BaflUtils::PathExists( fileSession, fullDirName ) ) - { - fileSession.CreatePrivatePath( EDriveC ); - } - - TInt len = fullDirName.Length(); - TDriveList dirList; - if( fileSession.DriveList( dirList ) == KErrNone ) - { - TDriveInfo info; - TInt driveListLen = dirList.Length(); - - for ( TInt i = 0; i < driveListLen; i++ ) - { - // make separate folder for C/D/E/... drive - // e.g. C:\\private\\10005234\\C\\ - - TInt err = fileSession.Drive( info, i ); - if ( err == KErrNone && - info.iType != EMediaNotPresent ) - { - TChar driveChar; - RFs::DriveToChar( i, driveChar ); - fullDirName.Append( driveChar ); - fullDirName.Append( KFwdSlash ); - fileSession.MkDir( fullDirName ); - fullDirName.Delete( len, 3 ); - } - } - - } - } - -TBool CCSXHRuntimeIndexing::IndexFileExists() - { - RFs& fileSession = iCoeEnv->FsSession(); - TBuf fileName; - GetPrivatePath( fileName ); - fileName.Append( _L("Z\\") ); - AppendLocale( fileName ); - fileName.Append( KMasterMetaFile ); - - // Now the dirName is C:\\private\\\\Z\\index.xml - // check if it exists, if yes, runtime indexing must be launched before - // since Z based Help content must be delivered with cell phone - // - return BaflUtils::FileExists( fileSession, fileName ); - - } - -void CCSXHRuntimeIndexing::BeginIndexFile( const TChar& aDrive ) - { - RFs& fileSession = iCoeEnv->FsSession(); - TPtr des = iFullDirName->Des(); - iDriveLetter = aDrive; - des.Zero(); - GetPrivatePath( des ); - des.Append( aDrive ); - des.Append( KFwdSlash ); - AppendLocale( des ); - if ( !BaflUtils::PathExists( fileSession, des ) ) - { - // generate C:\\private\\\\\\ folder - // - fileSession.MkDir( des ); - } - - // for temporary usage, once it's finished successfully, - // rename to index.xml. otherwise, the old index file still exists. - // - des.Append( KMasterMetaTmpFile ); - iFile.Replace( fileSession, des, EFileWrite ); - - HBufC8* driveInfo = HBufC8::NewLC( KMaxDriveInfo ); - TPtr8 ptr = driveInfo->Des(); - ptr.Append( KIndexXMLVesion ); - ptr.Append( _L( "\r\n" ) ); - iFile.Write( *driveInfo ); - CleanupStack::PopAndDestroy( driveInfo ); - } - -void CCSXHRuntimeIndexing::FinishAndCloseIndexFileL() - { - RFs& fileSession = iCoeEnv->FsSession(); - iFile.Write( KIndexCollectEnd ); - iFile.Close(); - - TTime time; - // Replace the index.xml with temporary file, in case it fails, will have no impact - // the original index.xml, it's a backup solution - // - TBuf newName; - TInt err = KErrNone; - newName.Copy( *iFullDirName ); - TInt pos = newName.LocateReverse( TChar('\\') ); - newName.Delete( pos + 1, newName.Length() - pos - 1 ); // remove the temp name - newName.Append( KMasterMetaFile ); // and append index.xml - - err = fileSession.Replace( *iFullDirName, newName ); - - if ( err == KErrNone ) - { - // set the modified date of master index.xml - // to be the same with related help content folder - // e.g. C:\\resource\\xhtml\\01\\ modified time is 2009.3.1 - // C:\\private\\10005234\\C\\01\\index.xml will be 2009.3.1 - // this will make sure once help content folder changed, index.xml can be - // determined to change. - TBuf helpDir; - helpDir.Append( iDriveLetter ); - helpDir.Append( KInstallPath ); - // append locale information - AppendLocale( helpDir ); - - fileSession.Modified( helpDir, time ); - err = fileSession.SetModified( newName, time ); - - } - - } - -void CCSXHRuntimeIndexing::RuntimeGenerateIndexL( const CCSXHHtmlTOC1& aToc1, const TDesC& aFeature ) - { - // Form into an entry, like - // - HBufC8* appName = CnvUtfConverter::ConvertFromUnicodeToUtf8L( aToc1.GetName() ); - CleanupStack::PushL(appName); - TRAPD( err, SenXmlUtils::LeaveOnXmlEscapesL( *appName ) ); - TInt length = KMaxIndexEntryExclude; - TBuf8 buffUid; - - buffUid.Append( KHexPrefix ); - buffUid.AppendNumFixedWidth( aToc1.GetAppUid().iUid, EHex, 8 ); - length += appName->Length(); - length += aFeature.Length(); - HBufC8* entry = HBufC8::NewLC( length ); - TPtr8 des = entry->Des(); - // Append entry tag - des.Append( KIndexXMLEntryBegin ); - // Append feature id attribute "FeatureID" - des.Append( KAppFeatureIDTag ); - des.Append( KIndexQuoteBegin ); - // Append feature id - des.Append( aFeature ); - des.Append( KIndexQuoteEnd ); - // Append app id attribute "id" - des.Append( KMasterCollection_idTag ); - des.Append( KIndexQuoteBegin ); - // Append app id - des.Append( buffUid ); - des.Append( KIndexQuoteEnd ); - // Append app name attribut "navtitle" - des.Append( KTOC2NameTag ); - des.Append( KIndexQuoteBegin ); - if ( err == KErrSenInvalidCharacters ) - { - // special handling to the XML-Escaped char - HBufC8* newElement = SenXmlUtils::EncodeHttpCharactersLC( *appName ); - des.Append( *newElement ); - CleanupStack::PopAndDestroy( newElement ); - } - else - { - des.Append( *appName ); - } - - des.Append( KIndexXMLEntryEnd ); - iFile.Write( *entry ); - - CleanupStack::PopAndDestroy( entry ); - CleanupStack::PopAndDestroy( appName ); - - } - -void CCSXHRuntimeIndexing::GetPrivatePath( TDes& aName ) - { - RFs& fileSession = iCoeEnv->FsSession(); - TBuf privatePath; - TChar drive; - RFs::DriveToChar( EDriveC, drive ); - - fileSession.PrivatePath( privatePath ); - aName.Append( drive ); - aName.Append( TChar(':') ); - aName.Append( privatePath ); - } - -void CCSXHRuntimeIndexing::AppendLocale( TDes& aDir ) - { - RFs& fileSession = iCoeEnv->FsSession(); - RArray langs; - BaflUtils::GetDowngradePathL( fileSession, User::Language(), langs ); - TInt len = aDir.Length(); - - if ( len > 0 ) - { - TLanguage lang = langs[0]; - if(lang < 10) - { - aDir.AppendNumFixedWidth( lang, EDecimal,2 ); - } - else - { - aDir.AppendNum( lang ); - } - } - else - { - // rarely case, if no current language, use English - aDir.Append( _L("01") ); - } - - aDir.Append( KFwdSlash ); - langs.Reset(); - } - -void CCSXHRuntimeIndexing::DeleteIndexFile( const TChar& aDrive ) - { - RFs& fileSession = iCoeEnv->FsSession(); - TBuf des; - GetPrivatePath( des ); - des.Append( aDrive ); - des.Append( KFwdSlash ); - AppendLocale( des ); - // C:\\private\\\\\\\\index.xml - des.Append( KMasterMetaFile ); - - if ( BaflUtils::FileExists( fileSession, des ) ) - { - fileSession.Delete( des ); - } - - } - -TInt CCSXHRuntimeIndexing::CheckDirChange( const TChar& aDrive ) - { - RFs& fsSession = iCoeEnv->FsSession(); - - // Begin to search help content folder to see if there are date modify - // meanwhile, compare to the related folder in private directory - TFileName dirName; - dirName.Append( aDrive ); - dirName.Append( KInstallPath ); - - // Begin to append locale, note this will append current locale, - // thru which, app can determine if it's caused by user changed locales - AppendLocale( dirName ); - - TTime dirModified(0); - TTime fileModified(0); - - if ( BaflUtils::PathExists( fsSession, dirName ) ) - { - // here is modified time of help content folder - fsSession.Modified( dirName, dirModified ); - } - else - { - // fast return, no need to go on checking - return KNoDirExist; - } - - TFileName filename; - GetPrivatePath( filename ); - filename.Append( aDrive ); - filename.Append( KFwdSlash ); - AppendLocale( filename ); - filename.Append( KMasterMetaFile ); - - if ( BaflUtils::FileExists( fsSession, filename ) ) - { - // here is modified time of index.xml - // - fsSession.Modified( filename, fileModified ); - } - else - { - return KNoIndexExist; - } - - if ( fileModified != dirModified ) - { - // folder changed, return it - TInt ret = KErrNotFound; - RFs::CharToDrive( aDrive, ret ); - return ret; - } - - return KNoChange; - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CSXHXMLParseHandler.cpp --- a/csxhelp/HelpEngine/src/CSXHXMLParseHandler.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,644 +0,0 @@ -/* -* 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: CCSXHXMLParseHandler class definition -* -*/ - -#include "CSXHXMLParseHandler.h" -#include "CSXHHtmlTOC2.h" -#include "CSXHKywdTopics.h" -#include "CSXHHelpDataBase.h" -#include "CSXHHtmlTOC1.h" -#include "csxhconstants.h" -#include "CSXHHTMLContentParser.h" - -#include -#include -#include -#include - - -CCSXHXMLParseHandler::CCSXHXMLParseHandler(CCoeEnv* aCoeEnv) - { - iCoeEnv = aCoeEnv; - } - -CCSXHXMLParseHandler::~CCSXHXMLParseHandler() - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - } -TInt CCSXHXMLParseHandler::StartDocument() - { - return KErrNone; - } - -TInt CCSXHXMLParseHandler::EndDocument() - { - return KErrNone; - } - -void CCSXHXMLParseHandler::SetDataBasePtr(CCSXHHelpDataBase* aDataBase) - { - iDataBase = aDataBase; - } - -TDesC& CCSXHXMLParseHandler::GetApplicationName() - { - return iApplicationName; - } - -TPtr CCSXHXMLParseHandler::GetFeatureIds() - { - return iFeatureIds->Des(); - } - -TBool CCSXHXMLParseHandler::SetAppNameFlag(const TDesC8& alocalName,const TDesC& aAppTag) - { - //R_TYPE_APPLICATION_TAG_NAME - TBool Result = EFalse; - TBuf AppName; - CnvUtfConverter::ConvertToUnicodeFromUtf8(AppName,alocalName); - if(AppName.Compare(aAppTag) == 0) - { - iApplicationName.Copy(KEmptyString); - Result = ETrue; - } - else - { - Result = EFalse; - } - return Result; - } - -//-------------- CCSXHXMLParseHandler_Kywd ------------------- - -void CCSXHXMLParseHandler_Kywd::SetHtmlContentParserPtr(CCSXHHTMLContentParser* aParser) - { - iParser = aParser; - } - -CCSXHXMLParseHandler_Kywd* CCSXHXMLParseHandler_Kywd::NewL(CCoeEnv* aCoeEnv) - { - CCSXHXMLParseHandler_Kywd* self = new (ELeave)CCSXHXMLParseHandler_Kywd(aCoeEnv); - return self; - } - -CCSXHXMLParseHandler_Kywd::CCSXHXMLParseHandler_Kywd(CCoeEnv* aCoeEnv) -:CCSXHXMLParseHandler(aCoeEnv) - { - iCurrentHtmlToc1 = NULL; - iIsTargetName = EFalse; - } - -TInt CCSXHXMLParseHandler_Kywd::StartElement (const TDesC8& /*iURI*/ , const TDesC8& -alocalName, const TDesC8& /*iqualname*/, const RAttributeArray& aAttributes) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - - TRAP_IGNORE(iFeatureIds = HBufC::NewL(2)); - TPtr FIdValue = iFeatureIds->Des(); - FIdValue.Copy(_L("-1")); - - if(iIsTOC2View) - { - CreateTOC2ObjectsforKeywordSearch(alocalName,aAttributes); - } - else - { - iIsAppName = SetAppNameFlag(alocalName,KSearchViewTOC1Tag); - - TInt nElements = aAttributes.Count(); - TBuf TagName; - RAttribute AttributeInfo; - RTagInfo TagInformation; - CnvUtfConverter::ConvertToUnicodeFromUtf8(TagName,alocalName); - - for(TInt i=0; i LocalName; - //Read from resource file - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalName,TagInformation.LocalName().DesC()); - if(LocalName.Compare(_L("FeatureID")) == 0 && TagName.Compare(_L("text")) == 0) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - TRAP_IGNORE(iFeatureIds = HBufC::NewL(AttributeInfo.Value().DesC().Length())); - TPtr FIdValue = iFeatureIds->Des(); - CnvUtfConverter::ConvertToUnicodeFromUtf8(FIdValue,AttributeInfo.Value().DesC()); - } - } - } - return KErrNone; - } - -TInt CCSXHXMLParseHandler_Kywd::EndElement ( const TDesC8& ,const TDesC8& ,const TDesC8& ) - { - TRAP_IGNORE(CreateAndInsertKywdL());//Result can be ignored - iIsTargetName = EFalse; - iIsAppName = EFalse; - return KErrNone; - } - -TInt CCSXHXMLParseHandler_Kywd::Characters (const TDesC8& aBuff, const TInt /*aStart*/, const TInt /*aLength*/) - { - TBuf TitleName; - if(iIsAppName) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(TitleName,aBuff); - iApplicationName.Append(TitleName); - } - else if(iIsTargetName) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(TitleName,aBuff); - iKeywordSearchTOC2TitleName.Append(TitleName); - } - return KErrNone; - } - -void CCSXHXMLParseHandler_Kywd::CreateTOC2ObjectsforKeywordSearch(const TDesC8& - alocalName, const RAttributeArray& aAttributes) - { - iIsAppName = SetAppNameFlag(alocalName,KSearchViewTOC1Tag); - - TInt nElements = aAttributes.Count(); - TBufTagValue; - RAttribute AttributeInfo; - RTagInfo TagInformation; - - TBuf AppName; - CnvUtfConverter::ConvertToUnicodeFromUtf8(AppName,alocalName); - if(AppName.Compare(KSearchViewTOC2Tag) == 0) - { - iKeywordSearchTOC2TitleName.Copy(KEmptyString); - iIsTargetName = ETrue; - } - else - { - iIsTargetName = EFalse; - } - - if(!iIsTOC2View) - return; - - for(TInt i=0; i LocalName; - //Read from resource file - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalName,TagInformation.LocalName().DesC()); - if(LocalName.Compare(KHtmlPageTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(iHTMLPageName, - AttributeInfo.Value().DesC()); - } - else if(LocalName.Compare(_L("FeatureID")) == 0) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - TRAP_IGNORE(iFeatureIds = HBufC::NewL(AttributeInfo.Value().DesC().Length())); - TPtr FIdValue = iFeatureIds->Des(); - CnvUtfConverter::ConvertToUnicodeFromUtf8(FIdValue,AttributeInfo.Value().DesC()); - - } - } - - } - -void CCSXHXMLParseHandler_Kywd::CreateAndInsertKywdL() - { - if(iParser->CheckFeatureIDL(iFeatureIds->Des())) - { - if(iIsAppName && !iIsTOC2View) - { - iDataBase->InsertKeywordL(iApplicationName,iCurrentHtmlToc1); - } - else if(iIsTargetName && iApplicationName.Compare(iTOC1Name)==0) - { - CCSXHHtmlTOC2* PXHTMLObject = - CCSXHHtmlTOC2::NewL(iCurrentHtmlToc1,iKeywordSearchTOC2TitleName,iHTMLPageName,ETrue); - PXHTMLObject->SetKywdParent(STATIC_CAST(CCSXHKywdTopics*,iDataBase->GetKywdTopics()) - ->GetSelectedTopic()); - STATIC_CAST(CCSXHHtmlTOC2*,PXHTMLObject)->SetHtmlFilePath(iFilePath); - iDataBase->InsertKeywordTopicL(/*iTOC1Name,*/PXHTMLObject); - } - } - } - -void CCSXHXMLParseHandler_Kywd::SetTOC1Title(const TDesC& aName) - { - iTOC1Name = aName; - } - -void CCSXHXMLParseHandler_Kywd::SetCurrentHtmlToc1(CCSXHHtmlTOC1* aCurrentHtmlToc1) - { - iCurrentHtmlToc1 = aCurrentHtmlToc1; - } - -void CCSXHXMLParseHandler_Kywd::SetIsTOC2(TBool aFlag) - { - iIsTOC2View = aFlag; - } - -void CCSXHXMLParseHandler_Kywd::SetPath(const TDesC& aFilePath) - { - iFilePath.Copy(KEmptyString); - iFilePath.Append(aFilePath); - } - -//-------------- CCSXHXMLParseHandler_MetaFile ------------------- - -CCSXHXMLParseHandler_MetaFile* CCSXHXMLParseHandler_MetaFile::NewL(CCoeEnv* aCoeEnv) - { - CCSXHXMLParseHandler_MetaFile* self = new (ELeave)CCSXHXMLParseHandler_MetaFile(aCoeEnv); - return self; - } - -CCSXHXMLParseHandler_MetaFile::CCSXHXMLParseHandler_MetaFile(CCoeEnv* aCoeEnv) -:CCSXHXMLParseHandler(aCoeEnv) - { - - } -TInt CCSXHXMLParseHandler_MetaFile::StartElement (const TDesC8& , const TDesC8& -alocalName, const TDesC8& , const RAttributeArray& aAttributes) - { - iIsAppName = SetAppNameFlag(alocalName,KAppNameTag); - - TInt nElements = aAttributes.Count(); - TBuf LocalTagName; - RAttribute AttributeInfo; - RTagInfo TagInformation; - - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalTagName,alocalName); - for(TInt i=0; iDes(); - CnvUtfConverter::ConvertToUnicodeFromUtf8(FIdValue,AttributeInfo.Value().DesC()); - } - - if(LocalTagName.Compare(KAppNameTag) == 0 && nElements == 0) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - TRAP_IGNORE(iFeatureIds = HBufC::NewL(2)); - TPtr FIdValue = iFeatureIds->Des(); - FIdValue.Copy(_L("-1")); - } - - return KErrNone; - } - -TInt CCSXHXMLParseHandler_MetaFile::EndElement ( const TDesC8& ,const TDesC8& ,const TDesC8& ) - { - iIsAppName = EFalse; - return KErrNone; - } - -TInt CCSXHXMLParseHandler_MetaFile::Characters (const TDesC8& aBuff, const TInt /*aStart*/, const TInt /*aLength*/) - { - TBuf TitleName; - if(iIsAppName) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(TitleName,aBuff); - iApplicationName.Append(TitleName); - } - return KErrNone; - } - - -//-------------- CCSXHXMLParseHandler_MasterMetaFile ------------------- -CCSXHXMLParseHandler_MasterMetaFile* CCSXHXMLParseHandler_MasterMetaFile::NewL(CCoeEnv* aCoeEnv) - { - CCSXHXMLParseHandler_MasterMetaFile* self = new (ELeave)CCSXHXMLParseHandler_MasterMetaFile(aCoeEnv); - return self; - } - -CCSXHXMLParseHandler_MasterMetaFile::CCSXHXMLParseHandler_MasterMetaFile(CCoeEnv* aCoeEnv) -:CCSXHXMLParseHandler(aCoeEnv) - { - - } - -TInt CCSXHXMLParseHandler_MasterMetaFile::StartElement (const TDesC8& , const TDesC8& -, const TDesC8& , const RAttributeArray& aAttributes) - { - TRAP_IGNORE(CreateTOC1ObjectsL(aAttributes)); - return KErrNone; - } - - - -void CCSXHXMLParseHandler_MasterMetaFile::CreateTOC1ObjectsL(const - RAttributeArray& aAttributes) - { - TInt nElements = aAttributes.Count(); - TBuf appUid; - TBuf appName; - RAttribute AttributeInfo; - RTagInfo TagInformation; - TLinearOrder anOrder(Orderer); - - for(TInt i=0; i LocalName; - //Read from resource file - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalName,TagInformation.LocalName().DesC()); - - if ( LocalName.Compare( KDriveInfo ) == 0 ) - { - TChar driveLetter(AttributeInfo.Value().DesC()[0]); - RFs::CharToDrive( driveLetter, iDrive ); - } - - if(LocalName.Compare(KMasterCollection_idTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(appUid,AttributeInfo.Value().DesC()); - } - - if(LocalName.Compare(KTOC2NameTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(appName,AttributeInfo.Value().DesC()); - if(2 == nElements) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - iFeatureIds = HBufC::NewL(2); - TPtr FIdValue = iFeatureIds->Des(); - FIdValue.Copy(_L("-1")); - } - - - iParser->InsertHTMLToc1L( appUid, appName, iDrive, iDataBase, iFeatureIds->Des() ); - } - - if(LocalName.Compare(_L("FeatureID")) == 0) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - iFeatureIds = HBufC::NewL(AttributeInfo.Value().DesC().Length()); - TPtr FIdValue = iFeatureIds->Des(); - CnvUtfConverter::ConvertToUnicodeFromUtf8(FIdValue,AttributeInfo.Value().DesC()); - } - } - } - -void CCSXHXMLParseHandler_MasterMetaFile::SetHtmlContentParserPtr(CCSXHHTMLContentParser* aParser) - { - iParser = aParser; - } - - -//-------------- CCSXHXMLParseHandler_IndexFile ------------------- - -CCSXHXMLParseHandler_IndexFile* CCSXHXMLParseHandler_IndexFile::NewL(CCoeEnv* aCoeEnv) - { - CCSXHXMLParseHandler_IndexFile* self = new (ELeave)CCSXHXMLParseHandler_IndexFile(aCoeEnv); - return self; - } - -CCSXHXMLParseHandler_IndexFile::CCSXHXMLParseHandler_IndexFile(CCoeEnv* aCoeEnv) -:CCSXHXMLParseHandler(aCoeEnv) - { - - } - -TInt CCSXHXMLParseHandler_IndexFile::StartElement (const TDesC8& , const TDesC8& -, const TDesC8& , const RAttributeArray& aAttributes) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - TRAP_IGNORE(iFeatureIds = HBufC::NewL(2)); - TPtr FIdValue = iFeatureIds->Des(); - FIdValue.Copy(_L("-1")); - - TRAP_IGNORE(CreateTOC2ObjectsL(aAttributes)); - return KErrNone; - } - -void CCSXHXMLParseHandler_IndexFile::SetArray(RPointerArray* aHTMLlist) - { - iTOC2Array = aHTMLlist; - } - -void CCSXHXMLParseHandler_IndexFile::SetGenericTOC1Object(CCSXHGenericTOC1& aParent) - { - iParent = &aParent; - } - -void CCSXHXMLParseHandler_IndexFile::SetHtmlContentParserPtr(CCSXHHTMLContentParser* aParser) - { - iParser = aParser; - } - - -void CCSXHXMLParseHandler_IndexFile::CreateTOC2ObjectsL(const - RAttributeArray& aAttributes) - { - TInt nElements = aAttributes.Count(); - TBufTagValue; - RAttribute AttributeInfo; - RTagInfo TagInformation; - TLinearOrder anOrder(Orderer); - - for(TInt i=0; i LocalName; - //Read from resource file - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalName,TagInformation.LocalName().DesC()); - - if(LocalName.Compare(KTOC2NameTag) == 0) - { - if(iParser->CheckFeatureIDL(iFeatureIds->Des()) || 2 == nElements) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(TagValue,AttributeInfo.Value().DesC()); - - CCSXHGenericTOC2* PXHTMLObject = CCSXHHtmlTOC2::NewL(iParent, - TagValue,iHTMLPageName); - - STATIC_CAST(CCSXHHtmlTOC2*,PXHTMLObject)->SetHtmlFilePath(iFilePath); - - if (KErrNone != iTOC2Array->InsertInOrder(PXHTMLObject,anOrder)) - delete PXHTMLObject; - } - } - else if(LocalName.Compare(KHtmlPageTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(iHTMLPageName, - AttributeInfo.Value().DesC()); - } - else if(LocalName.Compare(KCompressedTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(iCompressString, - AttributeInfo.Value().DesC()); - } - else if(LocalName.Compare(_L("FeatureID")) == 0) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - iFeatureIds = HBufC::NewL(AttributeInfo.Value().DesC().Length()); - TPtr FIdValue = iFeatureIds->Des(); - CnvUtfConverter::ConvertToUnicodeFromUtf8(FIdValue,AttributeInfo.Value().DesC()); - } - } - } - -void CCSXHXMLParseHandler_IndexFile::SetPath(const TDesC& aFilePath) - { - iFilePath.Copy(KEmptyString); - iFilePath.Append(aFilePath); - } - -//-------------- CCSXHXMLParseHandler_MasterKeywordFile ------------------- - -CCSXHXMLParseHandler_MasterKywd* CCSXHXMLParseHandler_MasterKywd::NewL(CCoeEnv* aCoeEnv) - { - CCSXHXMLParseHandler_MasterKywd* self = new (ELeave)CCSXHXMLParseHandler_MasterKywd(aCoeEnv); - return self; - } - -CCSXHXMLParseHandler_MasterKywd::CCSXHXMLParseHandler_MasterKywd(CCoeEnv* aCoeEnv) -:CCSXHXMLParseHandler(aCoeEnv) - { - - } - -TInt CCSXHXMLParseHandler_MasterKywd::StartElement (const TDesC8& , const TDesC8& -, const TDesC8& , const RAttributeArray& aAttributes) - { - TRAP_IGNORE(CreateTOC1ObjectsL(aAttributes)); - return KErrNone; - } - -void CCSXHXMLParseHandler_MasterKywd::SetHtmlContentParserPtr(CCSXHHTMLContentParser* aParser) - { - iParser = aParser; - } - -void CCSXHXMLParseHandler_MasterKywd::SetCurrentHtmlToc1(CCSXHHtmlTOC1* aCurrentHtmlToc1) - { - iCurrentHtmlToc1 = aCurrentHtmlToc1; - } - -void CCSXHXMLParseHandler_MasterKywd::CreateTOC1ObjectsL(const - RAttributeArray& aAttributes) - { - TInt nElements = aAttributes.Count(); - TBuf appUid; - TBuf KeywordName; - RAttribute AttributeInfo; - RTagInfo TagInformation; - - TLinearOrder anOrder(Orderer); - - for(TInt i=0; i LocalName; - //Read from resource file - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalName,TagInformation.LocalName().DesC()); - - if(LocalName.Compare(KMasterSearchTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(KeywordName,AttributeInfo.Value().DesC()); - } - - if(LocalName.Compare(KMasterCollectionTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(appUid,AttributeInfo.Value().DesC()); - if(2 == nElements) - { - if(iParser->GetHTMLToc1(appUid,this)) - iDataBase->InsertKeywordL(KeywordName,iCurrentHtmlToc1); - } - } - - if(LocalName.Compare(_L("FeatureID")) == 0) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - iFeatureIds = HBufC::NewL(AttributeInfo.Value().DesC().Length()); - TPtr FIdValue = iFeatureIds->Des(); - CnvUtfConverter::ConvertToUnicodeFromUtf8(FIdValue,AttributeInfo.Value().DesC()); - - if(iParser->CheckFeatureIDL(iFeatureIds->Des())) - { - if(iParser->GetHTMLToc1(appUid,this)) - iDataBase->InsertKeywordL(KeywordName,iCurrentHtmlToc1); - } - } - } - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/CsHelpCmdLineParser.cpp --- a/csxhelp/HelpEngine/src/CsHelpCmdLineParser.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -/* -* Copyright (c) 2002 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: -* This is a utility class that provides functionality -* for parsing command line arguments passed into the -* Cshelp application when launched by another application. -* -* -*/ - - -// INCLUDE FILES -#include - -#include "CsHelpCmdLineParser.h" -const TInt KArrSize = 2; -// ================= MEMBER FUNCTIONS ======================= - -// C++ constructor -CCsHlpCmdLineParser::CCsHlpCmdLineParser() -: CBase() - { - } - - -// --------------------------------------------------------- -// CCsHlpCmdLineParser::ConstructL(...) -// (other items were commented in a header). -// --------------------------------------------------------- -void CCsHlpCmdLineParser::ConstructL(const TDesC8& aCmdLine) - { - iCmdLine = CBufFlat::NewL(aCmdLine.Size()); - iCmdLine->InsertL(0, aCmdLine.Ptr(), aCmdLine.Size()); - } - - -// --------------------------------------------------------- -// CCsHlpCmdLineParser::~CCsHlpCmdLineParser() -// --------------------------------------------------------- -CCsHlpCmdLineParser::~CCsHlpCmdLineParser() - { - delete iCmdLine; - } - -// --------------------------------------------------------- -// CCsHlpCmdLineParser::ContextListL() -// (other items were commented in a header). -// --------------------------------------------------------- -CArrayFix* CCsHlpCmdLineParser::ContextListL() - { - CArrayFixFlat* array = - new(ELeave)CArrayFixFlat(KArrSize); - CleanupStack::PushL(array); - TInt count(0); - - iCmdLine->Read(0, &count, sizeof(TInt)); - iPos += sizeof(TInt); - for (TInt i(0); i < count; i++) - { - TCoeHelpContext context; - GetContext(context); - array->AppendL(context); - } - CleanupStack::Pop(array); // array - return array; - } - -// --------------------------------------------------------- -// CCsHlpCmdLineParser::GetContext(...) -// (other items were commented in a header). -// --------------------------------------------------------- -void CCsHlpCmdLineParser::GetContext(TCoeHelpContext& aContext) - { - TInt length(0); - iCmdLine->Read(iPos, &length, sizeof(TInt)); - iPos += sizeof(TInt); - TPtr8 ptr((TText8*)aContext.iContext.Ptr(), length); - iCmdLine->Read(iPos, ptr, length); - aContext.iContext.SetLength(length/KArrSize); - iPos += length; - - iCmdLine->Read(iPos, &aContext.iMajor, sizeof(TUid)); - - iPos += sizeof(TUid); - } - -// End of file diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/HelpEngine/src/HelpEngine.cpp --- a/csxhelp/HelpEngine/src/HelpEngine.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -/* -* 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: -* -*/ - -#include -//#include - -#ifdef EKA2 -GLDEF_C TInt E32Dll() -#else -GLDEF_C TInt E32Dll(TDllReason /*aReason*/) -#endif - { - return(KErrNone); - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/aif/CsHelp_Caption.rss --- a/csxhelp/aif/CsHelp_Caption.rss Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -/* -* Copyright (c) 2002 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: -* This file contains caption resource of CsHelp. -* -* -*/ - - -#include - -#include "csxelp.loc" - -RESOURCE CAPTION_DATA - { - caption = qtn_apps_ls1_help; - shortcaption = qtn_apps_grid_help; - } - -// End of file diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/aif/CsHelpaif.rss --- a/csxhelp/aif/CsHelpaif.rss Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* -* Copyright (c) 2002 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: -* RSS for creating the aif file for CsHelp. -* -*/ - - -NAME HAIF -#include - -#include "csxhelp.loc" - -RESOURCE AIF_DATA - { - app_uid=0x10005234; - num_icons = 2; - embeddability = KAppNotEmbeddable; - newfile = KAppDoesNotSupportNewFile; - } - -// End of File diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/data/CsHelp.rss --- a/csxhelp/data/CsHelp.rss Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1128 +0,0 @@ -/* -* Copyright (c) 2002 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: -* Main resource file for the CsHelp application. -* -* -*/ - - -// RESOURCE IDENTIFIER -NAME HELP // 4 letter ID - -// INCLUDES -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include - -#include - -#include "CsHelp.hrh" -#include -#include "cshelp.laf" - -// CONSTANTS - -#define DRIVE "Z:" -#define DIRPATH "\\" - -#ifdef RD_APPS_TO_EXES -#define DIR APP_BITMAP_DIR DIRPATH -#else -#define DIR "\\system\\apps\\cshelp\\" -#endif - -#define FILE "cshelp.mbm" - -#define FULLPATH DRIVE DIR FILE -#define qtn_help_icon_bitmap_file FULLPATH - - -// RESOURCE DEFINITIONS - -RESOURCE RSS_SIGNATURE - { - } - -RESOURCE TBUF1 - { - } - -RESOURCE EIK_APP_INFO - { - } - - - -////////////NEW://////////////////////////////////////// -RESOURCE LOCALISABLE_APP_INFO r_cshelp_localisable_app_info - { - short_caption = qtn_apps_grid_help; //This is shown in appmenu grid view (Csxhelp.loc) - caption_and_icon = - CAPTION_AND_ICON_INFO - { - caption = qtn_apps_ls1_help; //This is shown in appmenu list view (Csxhelp.loc) -#ifdef __SCALABLE_ICONS - number_of_icons = 1; -#ifdef RD_APPS_TO_EXES - icon_file = APP_BITMAP_DIR"\\Cshelp_aif.mif"; - #else // !RD_APPS_TO_EXES - icon_file = "\\System\\Apps\\Cshelp\\Cshelp_aif.mif"; - #endif // RD_APPS_TO_EXES -#else - number_of_icons = 2; -#ifdef RD_APPS_TO_EXES - icon_file = APP_BITMAP_DIR"\\Cshelp_aif.mbm"; - #else // !RD_APPS_TO_EXES - icon_file = "\\System\\Apps\\Cshelp\\Cshelp_aif.mbm"; - #endif // RD_APPS_TO_EXES -#endif - }; - } -////////////NEW//////////////////////////////////////// - -///CSX Start -RESOURCE AVKON_VIEW r_CSXH_toc1 -{ - menubar = r_CSXH_menubar; - cba = r_cshelp_softkeys_options_exit_open; -} - -RESOURCE AVKON_VIEW r_TopicList - { - menubar = r_CSXH_menubar_TopicList; - cba = r_cshelp_softkeys_options_back_open; - } - -RESOURCE AVKON_VIEW r_KywdTOC1List - { - menubar = r_CSXH_menubar_KywdTOC1List; - cba = r_cshelp_softkeys_options_exit_find; - } - -RESOURCE AVKON_VIEW r_KywdTOC2List - { - menubar = r_CSXH_menubar_KywdTOC2List; - cba = r_cshelp_softkeys_options_back_open; - } - -RESOURCE AVKON_VIEW r_TopicTextList - { - menubar = r_CSXH_menubar_TopicTextList; - cba = r_cshelp_softkeys_options_back; - } - -RESOURCE AVKON_VIEW r_cshelp_topicforcontext - { - menubar = r_CSXH_menubar_TopicTextList; - cba = r_cshelp_softkeys_options_close; - } - -RESOURCE AVKON_VIEW r_cshelp_htmltopicview - { - menubar = r_CSXH_menubar_htmltopicview; - cba = r_cshelp_softkeys_options_back_openlink; - } - -RESOURCE AVKON_VIEW r_cshelp_htmltopicforcontext - { - menubar = r_CSXH_menubar_htmltopicview; - cba = r_cshelp_softkeys_options_close_openlink; - } - - -// --------------------------------------------------------- -// -// r_CSXH_menubar -// Menubar for CSXH example -// -// --------------------------------------------------------- -// -RESOURCE MENU_BAR r_CSXH_menubar - { - titles = - { - MENU_TITLE {menu_pane = r_CSXH_menu;} - }; - } - - -// --------------------------------------------------------- -// -// r_CSXH_menu -// Menu for "Options" -// -// --------------------------------------------------------- -// -RESOURCE MENU_PANE r_CSXH_menu - { - items = - { - MENU_ITEM {command = ECSXHOpenItem; txt = qtn_help_om_open_category; flags = EEikMenuItemAction;}, - MENU_ITEM {command = ECSXHSearchText; txt = qtn_help_om_search_xhtml;}, - MENU_ITEM {command = EAknSoftkeyExit; txt = qtn_options_exit;} - }; - } - - - -//---------------------------------------------------- -// -// r_cshelpsoftkey_cba_options_back -// Define cba for Context View -// -//---------------------------------------------------- -// -//TSW Error:EAJA-6XLFTW : -//S60 3.2 Help: Selection key opens Option menu in Topic view -//If MSK is not defined, "." appears in the MSK, -//On Middle key press, Options menu items are shown to the user -RESOURCE CBA r_cshelp_softkeys_options_back - { - buttons = - { - AVKON_CBA_BUTTON - { - id = EAknSoftkeyOptions; - txt = text_softkey_option; - }, - AVKON_CBA_BUTTON - { - id = EAknSoftkeyBack; - txt = text_softkey_back; - }, - AVKON_CBA_BUTTON - { - id = ECSXHDummyMSK; - txt = ""; - } - }; - } - -//---------------------------------------------------- -// -// r_cshelpsoftkey_cba_options_close -// Define cba for Context View -// -//---------------------------------------------------- -// -//TSW Error:EAJA-6XLFTW : -//S60 3.2 Help: Selection key opens Option menu in Topic view -//If MSK is not defined, "." appears in the MSK, -//On Middle key press, Options menu items are shown to the user -RESOURCE CBA r_cshelp_softkeys_options_close - { - buttons = - { - AVKON_CBA_BUTTON - { - id = EAknSoftkeyOptions; - txt = text_softkey_option; - }, - AVKON_CBA_BUTTON - { - id = EAknSoftkeyClose; - txt = text_softkey_close; - }, - AVKON_CBA_BUTTON - { - id = ECSXHDummyMSK; - txt = ""; - } - }; - } - -RESOURCE CBA r_cshelp_softkeys_options_close_openlink - { - buttons = - { - AVKON_CBA_BUTTON - { - id = EAknSoftkeyOptions; - txt = text_softkey_option; - }, - AVKON_CBA_BUTTON - { - id = EAknSoftkeyClose; - txt = text_softkey_close; - }, - AVKON_CBA_BUTTON - { - id = ECSXHOpenHyperLink; - txt = qtn_help_msk_open_hyperlink; - } - }; - } - - -RESOURCE CBA r_cshelp_softkeys_options_back_open - { - buttons = - { - AVKON_CBA_BUTTON - { - id = EAknSoftkeyOptions; - txt = text_softkey_option; - }, - AVKON_CBA_BUTTON - { - id = EAknSoftkeyBack; - txt = text_softkey_back; - }, - AVKON_CBA_BUTTON - { - id = ECSXHOpenTopicText; - txt = qtn_msk_open; - } - }; - } - -RESOURCE CBA r_cshelp_softkeys_options_exit_open - { - buttons = - { - AVKON_CBA_BUTTON - { - id = EAknSoftkeyOptions; - txt = text_softkey_option; - }, - AVKON_CBA_BUTTON - { - id = EAknSoftkeyExit; - txt = text_softkey_exit; - }, - AVKON_CBA_BUTTON - { - id = ECSXHOpenTopicText; - txt = qtn_msk_open; - } - }; - } -RESOURCE CBA r_cshelp_softkeys_options_exit_find - { - buttons = - { - AVKON_CBA_BUTTON - { - id = EAknSoftkeyOptions; - txt = text_softkey_option; - }, - AVKON_CBA_BUTTON - { - id = EAknSoftkeyExit; - txt = text_softkey_exit; - }, - AVKON_CBA_BUTTON - { - id = ECSXHOpenTopicText; - txt = qtn_help_msk_find; - } - }; - } -// --------------------------------------------------------- -// -// r_CSXH_menubar -// Menubar for CsXHelp example -// -// --------------------------------------------------------- -// -RESOURCE MENU_BAR r_CSXH_menubar_TopicList - { - titles = - { - MENU_TITLE {menu_pane = r_CSXH_menu_TopicList;} - }; - } - -RESOURCE MENU_BAR r_CSXH_menubar_KywdTOC1List - { - titles = - { - MENU_TITLE {menu_pane = r_CSXH_menu_KywdTOC1List;} - }; - } - -RESOURCE MENU_BAR r_CSXH_menubar_KywdTOC2List - { - titles = - { - MENU_TITLE {menu_pane = r_CSXH_menu_KywdTOC2List;} - }; - } - - -// --------------------------------------------------------- -// -// r_CSXH_menu -// Menu for "Options" -// -// --------------------------------------------------------- -// -RESOURCE MENU_PANE r_CSXH_menu_TopicList - { - items = - { - MENU_ITEM {command = ECSXHOpenTopicText; txt = qtn_help_om_open_topic;flags = EEikMenuItemAction;}, - MENU_ITEM {command = ECSXHTOC1ListView; txt = qtn_help_om_help_contents;}, - MENU_ITEM {command = ECSXHSearchText; txt = qtn_help_om_search_xhtml;}, - MENU_ITEM {command = EAknSoftkeyExit; txt = qtn_options_exit;} - }; - } - -RESOURCE MENU_PANE r_CSXH_menu_KywdTOC1List - { - items = - { - MENU_ITEM {command = ECSXHOpenTopicText; txt = qtn_help_om_find_topics; flags = EEikMenuItemAction;}, - MENU_ITEM {command = ECSXHTOC1ListView; txt = qtn_help_om_help_contents;}, - MENU_ITEM {command = EAknSoftkeyExit; txt = qtn_options_exit;} - }; - } - -RESOURCE MENU_PANE r_CSXH_menu_KywdTOC2List - { - items = - { - MENU_ITEM {command = ECSXHOpenTopicText; txt = qtn_help_om_open_topic; flags = EEikMenuItemAction;}, - MENU_ITEM {command = ECSXHTOC1ListView; txt = qtn_help_om_help_contents;}, - MENU_ITEM {command = ECSXHSearchText; txt = qtn_help_om_search_xhtml;}, - MENU_ITEM {command = EAknSoftkeyExit; txt = qtn_options_exit;} - }; - } - - - - - -// --------------------------------------------------------- -// -// r_CSXH_menubar -// Menubar for CsXHelp example -// -// --------------------------------------------------------- -// -RESOURCE MENU_BAR r_CSXH_menubar_htmltopicview - { - titles = - { - MENU_TITLE {menu_pane = r_CSXH_menu_htmltopicview;} - }; - } - - -// --------------------------------------------------------- -// -// r_CSXH_menubar -// Menubar for CsXHelp example -// -// --------------------------------------------------------- -// -RESOURCE MENU_BAR r_CSXH_menubar_TopicTextList - { - titles = - { - MENU_TITLE {menu_pane = r_CSXH_menu_TopicTextList;} - }; - } - - -// --------------------------------------------------------- -// -// r_CSXH_menu -// Menu for "Options" -// -// --------------------------------------------------------- -// -RESOURCE MENU_PANE r_CSXH_menu_htmltopicview - { - items = - { - MENU_ITEM {command = ECSXHOpenHyperLink; txt = qtn_help_om_open_hyperlink;}, - MENU_ITEM {command = ECSXHOpenApplicationTopics; txt = qtn_help_om_application_topics;}, - MENU_ITEM {command = ECSXHTOC1ListView; txt = qtn_help_om_help_contents;}, - MENU_ITEM {command = ECSXHSearchText; txt = qtn_help_om_search_xhtml;}, - MENU_ITEM { command=ECsHelpCmdFontLarge; txt=qtn_help_om_increase_text; }, - MENU_ITEM { command=ECsHelpCmdFontSmall; txt=qtn_help_om_decrease_text; }, - MENU_ITEM {command = EAknSoftkeyExit; txt = qtn_options_exit;} - }; - } - -// --------------------------------------------------------- -// -// r_CSXH_menu -// Menu for "Options" -// -// --------------------------------------------------------- -// -RESOURCE MENU_PANE r_CSXH_menu_TopicTextList - { - items = - { - MENU_ITEM {command = ECSXHOpenApplicationTopics; txt = qtn_help_om_application_topics;}, - MENU_ITEM {command = ECSXHTOC1ListView; txt = qtn_help_om_help_contents;}, - MENU_ITEM {command = ECSXHSearchText; txt = qtn_help_om_search_xhtml;}, - MENU_ITEM {command = EAknSoftkeyExit; txt = qtn_options_exit;} - }; - } - -// --------------------------------------------------------- -// -// r_type_no_help_topics -// when a other app launches help, no topic is available, -// then information note with this text is displayed. -// --------------------------------------------------------- -// - -RESOURCE TBUF r_type_no_help_topics - { - buf = qtn_help_note_no_topics; - } - -// --------------------------------------------------------- -// -// r_type_no_help_topics -// when help is unable to launch another application, -// then information note with this text is displayed. -// --------------------------------------------------------- -// - -RESOURCE TBUF r_qtn_help_note_unable_to_launch_app - { - buf = qtn_help_note_unable_launch; - } - -// --------------------------------------------------------- -// -// r_type_no_help_topics -// when help is unable to launch another application, -// then information note with this text is displayed. -// --------------------------------------------------------- -// - -RESOURCE TBUF r_qtn_help_note_app_launch_not_allowed - { - buf = qtn_help_note_no_internet; - } - -//---------------------------------------------------- -// -// r_cshelp_categorylist -// Define menubar and cba for Category List View -// -//---------------------------------------------------- -// -RESOURCE AVKON_VIEW r_cshelp_categorylist - { - menubar = r_cshelp_menubar_categorylist; - cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT; - } - -//---------------------------------------------------- -// -// r_cshelp_topiclist -// Define menubar and cba for Topic List View -// -//---------------------------------------------------- -// -RESOURCE AVKON_VIEW r_cshelp_topiclist - { - menubar = r_cshelp_menubar_topiclist; - cba = R_AVKON_SOFTKEYS_OPTIONS_BACK; - } - - -//---------------------------------------------------- -// -// r_cshelp_topiclist -// Define menubar and cba for HTML Topic View -// -//---------------------------------------------------- -// - - -RESOURCE CBA r_cshelp_softkeys_options_back_openlink - { - buttons = - { - AVKON_CBA_BUTTON - { - id = EAknSoftkeyOptions; - txt = text_softkey_option; - }, - AVKON_CBA_BUTTON - { - id = EAknSoftkeyBack; - txt = text_softkey_back; - }, - AVKON_CBA_BUTTON - { - id = ECSXHOpenHyperLink; - txt = qtn_help_msk_open_hyperlink; - } - }; - } - - -//---------------------------------------------------- -// -// r_cshelp_topic -// Define menubar and cba for Topic View -// -//---------------------------------------------------- -// -RESOURCE AVKON_VIEW r_cshelp_topic - { - menubar = r_cshelp_menubar_topic; - cba = R_AVKON_SOFTKEYS_OPTIONS_BACK; - } - -//---------------------------------------------------- -// -// r_cshelp_topicforsearch -// Define menubar and cba for Topic View For Search -// -//---------------------------------------------------- -// -RESOURCE AVKON_VIEW r_cshelp_topicforsearch - { - menubar = r_cshelp_menubar_topic; - cba = R_AVKON_SOFTKEYS_OPTIONS_BACK; - } - -//---------------------------------------------------- -// -// r_cshelp_search -// Define menubar and cba for Search View -// -//---------------------------------------------------- -// -RESOURCE AVKON_VIEW r_cshelp_search - { - menubar = r_cshelp_menubar_search; - cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT; - } - -//---------------------------------------------------- -// -// r_cshelp_searchresult -// Define menubar and cba for Search Result View -// -//---------------------------------------------------- -// -RESOURCE AVKON_VIEW r_cshelp_searchresult - { - menubar = r_cshelp_menubar_searchresult; - cba = R_AVKON_SOFTKEYS_OPTIONS_BACK; - } - - -//---------------------------------------------------- -// -// r_cshelp_menubar_categorylist -// Menubar for Category List View -// -//---------------------------------------------------- -// -RESOURCE MENU_BAR r_cshelp_menubar_categorylist - { - titles = - { - MENU_TITLE - { - menu_pane = r_cshelp_categorylist_menu; - } - }; - } - - -//---------------------------------------------------- -// -// r_cshelp_menubar_topiclist -// Menubar for Topic List View -// -//---------------------------------------------------- -// -RESOURCE MENU_BAR r_cshelp_menubar_topiclist - { - titles = - { - MENU_TITLE - { - menu_pane = r_cshelp_topiclist_menu; - } - }; - } - -//---------------------------------------------------- -// -// r_cshelp_menubar_topic -// Menubar for Topic View -// -//---------------------------------------------------- -// -RESOURCE MENU_BAR r_cshelp_menubar_topic - { - titles = - { - MENU_TITLE - { - menu_pane = r_cshelp_topic_menu; - } - }; - } - -//---------------------------------------------------- -// -// r_cshelp_menubar_search -// Menubar for Search View -// -//---------------------------------------------------- -// -RESOURCE MENU_BAR r_cshelp_menubar_search - { - titles = - { - MENU_TITLE - { - menu_pane = r_cshelp_search_menu; - } - }; - } - -//---------------------------------------------------- -// -// r_cshelp_menubar_searchresult -// Menubar for Search Result View -// -//---------------------------------------------------- -// -RESOURCE MENU_BAR r_cshelp_menubar_searchresult - { - titles = - { - MENU_TITLE - { - menu_pane = r_cshelp_searchresult_menu; - } - }; - } - -//---------------------------------------------------- -// -// r_cshelp_categorylist_menu -// Menu pane for Category List View -// -//---------------------------------------------------- -// -RESOURCE MENU_PANE r_cshelp_categorylist_menu - { - items = - { - MENU_ITEM - { - command = ECsHelpCmdViewTopicList; - txt = qtn_help_om_open_category; - }, - MENU_ITEM - { - command = ECsHelpCmdViewSearch; - txt = qtn_help_om_search; - }, - MENU_ITEM - { - command = EAknCmdExit; - txt = qtn_options_exit; - } - }; - } - -//---------------------------------------------------- -// -// r_cshelp_topiclist_menu -// Menu pane for Topic List View -// -//---------------------------------------------------- -// -RESOURCE MENU_PANE r_cshelp_topiclist_menu - { - items = - { - MENU_ITEM - { - command = ECsHelpCmdViewTopic; - txt = qtn_help_om_open_topic; - }, - MENU_ITEM - { - command = ECsHelpCmdViewCategoryList; - txt = qtn_help_om_category_list; - }, - MENU_ITEM - { - command = ECsHelpCmdViewSearch; - txt = qtn_help_om_search; - }, - MENU_ITEM - { - command = EAknCmdExit; - txt = qtn_options_exit; - } - }; - } - -//---------------------------------------------------- -// -// r_cshelp_topic_menu -// Menu pane for Topic View -// -//---------------------------------------------------- -// -RESOURCE MENU_PANE r_cshelp_topic_menu - { - items = - { - MENU_ITEM - { - command = ECsHelpCmdViewTopicList; - txt = qtn_help_om_topic_list; - }, - MENU_ITEM - { - command = ECsHelpCmdViewCategoryList; - txt = qtn_help_om_category_list; - }, - MENU_ITEM - { - command = ECsHelpCmdViewSearch; - txt = qtn_help_om_search; - }, - MENU_ITEM - { - command = EAknCmdExit; - txt = qtn_options_exit; - } - }; - } - -//---------------------------------------------------- -// -// r_cshelp_search_menu -// Menu pane for Search View -// -//---------------------------------------------------- -// -RESOURCE MENU_PANE r_cshelp_search_menu - { - items = - { - MENU_ITEM - { - command = ECsHelpCmdViewSearchResult; - txt = qtn_help_om_find_topics; - }, - MENU_ITEM - { - command = ECsHelpCmdViewCategoryList; - txt = qtn_help_om_category_list; - }, - MENU_ITEM - { - command = EAknCmdExit; - txt = qtn_options_exit; - } - }; - } - -//---------------------------------------------------- -// -// r_cshelp_searchresult_menu -// Menu pane for Search Result View -// -//---------------------------------------------------- -// -RESOURCE MENU_PANE r_cshelp_searchresult_menu - { - items = - { - MENU_ITEM - { - command = ECsHelpCmdViewTopicForSearch; - txt = qtn_help_om_open_topic; - }, - MENU_ITEM - { - command = ECsHelpCmdViewCategoryList; - txt = qtn_help_om_category_list; - }, - MENU_ITEM - { - command = ECsHelpCmdViewSearch; - txt = qtn_help_om_search; - }, - MENU_ITEM - { - command = EAknCmdExit; - txt = qtn_options_exit; - } - }; - } - -//---------------------------------------------------- -// -// r_cshelp_context_menu -// Menu pane for Search Result View -// -//---------------------------------------------------- -// -RESOURCE MENU_PANE r_cshelp_context_menu - { - items = - { - MENU_ITEM - { - command = ECsHelpCmdViewTopicForContext; - txt = qtn_help_om_open_topic; - }, - MENU_ITEM - { - command = ECsHelpCmdViewCategoryList; - txt = qtn_help_om_category_list; - }, - MENU_ITEM - { - command = ECsHelpCmdViewSearch; - txt = qtn_help_om_search; - }, - MENU_ITEM - { - command = EAknCmdExit; - txt = qtn_options_exit; - } - }; - } - - -// --------------------------------------------------------- -// -// r_cshelp_search_category_tabs -// Tab groups for navi pane of Search View and Category View -// -// --------------------------------------------------------- -// -RESOURCE TAB_GROUP r_cshelp_search_category_tabs - { - tab_width = EAknTabWidthWithTwoTabs; // two tabs - tabs = - { - TAB - { - id = ECsHelpCategoryTab; - bmpfile = qtn_help_icon_bitmap_file; - bmpid = EMbmCshelpQgn_prop_folder_tab2; - bmpmask = EMbmCshelpQgn_prop_folder_tab2_mask; - }, - TAB - { - id = ECsHelpSearchTab; - bmpfile = qtn_help_icon_bitmap_file; - bmpid = EMbmCshelpQgn_prop_list_keyword_tab2; - bmpmask = EMbmCshelpQgn_prop_list_keyword_tab2_mask; - } - }; - } - -// --------------------------------------------------------- -// -// r_cshelp_search_progress_note -// Define progress note for searcing in search result view -// -// --------------------------------------------------------- -// -RESOURCE DIALOG r_cshelp_search_progress_note - { - flags = EAknProgressNoteFlags; - buttons = R_AVKON_SOFTKEYS_EMPTY; - items = - { - DLG_LINE - { - type=EAknCtNote; - id=EProgressNote; - - control= AVKON_NOTE - { - layout = EProgressLayout; - singular_label = qtn_help_noteg_searching; - }; - } - }; - } - -// --------------------------------------------------------- -// -// r_cshelp_install_uninstall_note -// Define information flag for notifying installation -// -// --------------------------------------------------------- -// -RESOURCE DIALOG r_cshelp_install_uninstall_note - { - flags = EAknInformationNoteFlags; - buttons = R_AVKON_SOFTKEYS_EMPTY; - items = - { - DLG_LINE - { - type=EAknCtNote; - id=EInstallNote; - - control= AVKON_NOTE - { - layout = EGeneralLayout; - singular_label = qtn_help_noteg_install; - }; - } - }; - } - -// --------------------------------------------------------- -// -// r_qtn_help_title_help -// Define title of category list view. -// -// --------------------------------------------------------- -// -RESOURCE TBUF32 r_qtn_help_title_help - { - buf = qtn_help_title_help; - } - -// --------------------------------------------------------- -// -// r_qtn_help_note_no_topics -// when a other app launches help, no topic is available, -// then information note with this text is displayed. -// --------------------------------------------------------- -// -RESOURCE TBUF80 r_qtn_help_note_no_topics - { - buf = qtn_help_note_no_topics; - } - - -RESOURCE CBA r_softkeys_options_exit__options - { - buttons = - { - CBA_BUTTON {id=EAknSoftkeyOptions; txt = "Options";}, - CBA_BUTTON {id=EAknSoftkeyExit; txt = "Exit"; }, - CBA_BUTTON {id=EAknSoftkeyOptions; txt = "Options";} - }; - } - -//////////////////////////////////////////////////////////////// -//[FIXME: The resource r_cshelp_topic_view_layout -// is not used anymore. Instead TAknMultiLineTextLayout is used -// (in CCsHelpTopicContainer::SizeChanged and -// inCCsHelpTopicContainer::GetTextFormatL) -// --------------------------------------------------------- -// -// r_cshelp_topic_view_layout -// Define layout of topic view. -// -// --------------------------------------------------------- -// -/************************************************* -RESOURCE AVKON_LAYOUT_EDWIN r_cshelp_topic_view_layout - { - font = topic_view_font; //ELatinPlain12 - C = topic_view_C; //215 - l = topic_view_l; //4 - r = topic_view_r; //5 - B = topic_view_B; //21 - W = topic_view_W; //167 - J = topic_view_J; //ELayoutAlignBidi - lines = topic_view_lines; //8 - nextB = topic_view_nextB; //37 - } -****************************************************/ - -// To let know what are the services that are provided -RESOURCE AIW_INTEREST r_aiwtutorialapp_interest -{ - items = - { - AIW_CRITERIA_ITEM - { - id = ECmdAiwPlaceHolder; - serviceCmd = KAiwCmdHelp; - serviceClass = KAiwClassMenu; - contentType = "help/tutorial"; - defaultProvider = 0x10281D09; - maxProviders = 1; - }, - AIW_CRITERIA_ITEM - { - id = KPresentationExists; // Use service cmd id as id - serviceCmd = KPresentationExists; - serviceClass = KAiwClassMenu; - contentType = "help/tutorial"; - defaultProvider = 0x10281D09; - maxProviders = 1; - }, - AIW_CRITERIA_ITEM - { - id = KPlayPresentation; - serviceCmd = KPlayPresentation; - serviceClass = KAiwClassMenu; - contentType = "help/tutorial"; - defaultProvider = 0x10281D09; - maxProviders = 1; - } - }; -} -// --------------------------------------------------------- -// -// qtn_memlo_ram_out_of_mem -// Text to display for low memory situations. -// -// --------------------------------------------------------- -RESOURCE TBUF256 r_cshelp_retrieve_no_memory_text - { - buf = qtn_memlo_ram_out_of_mem; - } - -#ifdef FF_HELP_TUTORIAL_MERGE -// --------------------------------------------------------- -// -// qtn_memlo_ram_out_of_mem -// Text to display for low memory situations. -// -// --------------------------------------------------------- -RESOURCE TBUF256 r_cshelp_tutorial_text - { - buf = qtn_help_toc_list_item_tutorial; - } -#endif -// End of File diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/data/Cshelp_reg.rss --- a/csxhelp/data/Cshelp_reg.rss Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -/* -* Copyright (c) 2004 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: -* -*/ - - -#include -#include - -#include - -UID2 KUidAppRegistrationResourceFile -UID3 0x10005234 // Cshelp application UID - -RESOURCE APP_REGISTRATION_INFO - { - app_file = "Cshelp"; -#ifndef RD_APPS_TO_EXES - attributes = KAppBuiltAsDll; - localisable_resource_file = APP_RESOURCE_DIR"\\Cshelp\\Cshelp"; -#else - localisable_resource_file = APP_RESOURCE_DIR"\\Cshelp"; -#endif - localisable_resource_id = R_CSHELP_LOCALISABLE_APP_INFO; - } - -// End of File diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/data/lch.rh --- a/csxhelp/data/lch.rh Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -/* -* Copyright (c) 2002 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: -* Main resource file for the CsHelp application. -* -* -*/ - - -// lch.rh - -#ifndef LCH_RH -#define LCH_RH - -// -// FROM EIKDEF.RH - avoids HlpModel requiring Eikon -// -STRUCT RSS_SIGNATURE - { - LONG signature=4; - SRLINK self; - } - -STRUCT TXT - { - LTEXT buf; - } - -#endif // LCH_RH diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/data/lch.rss --- a/csxhelp/data/lch.rss Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* -* Copyright (c) 2002 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: -* Main resource file for the CsHelp application. -* -* -*/ - - -// lch.rss - -NAME LCH1 - -#include"lch.rh" - -RESOURCE RSS_SIGNATURE { } - -RESOURCE TXT r_help_path - { - buf = "z:\\sys\\bin\\cshelp.exe"; - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/group/HelpEngine.mmp --- a/csxhelp/group/HelpEngine.mmp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -/* -* 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: Project definition file for Help Engine Library -* -*/ - - -#include - -TARGET HelpEngine.dll -TARGETTYPE dll -UID 0x10282350 0x0BC03CD8 -LANGUAGE_IDS - -CAPABILITY CAP_CLIENT_DLL -VENDORID VID_DEFAULT - -SOURCEPATH ../HelpEngine/src -SOURCE HelpEngine.cpp -SOURCE CSXHHelpContentBase.cpp -SOURCE CSXHHelpDataBase.cpp -SOURCE CSXHMainTopics.cpp -SOURCE CSXHKywdTopics.cpp -SOURCE CSXHGenericTOC1.cpp -SOURCE CSXHGenericTOC2.cpp -SOURCE CSXHHtmlTOC1.cpp -SOURCE CSXHHtmlTOC2.cpp -SOURCE CSXHLegacyTOC1.cpp -SOURCE CSXHLegacyTOC2.cpp -SOURCE CSXHContextTopic.cpp -SOURCE CSXHKywdTOC1.cpp -SOURCE CSXHXMLParseHandler.cpp -SOURCE CSXHHTMLContentParser.cpp -SOURCE CSXHLegacyContentParser.cpp -SOURCE CsHelpCmdLineParser.cpp -SOURCE CSXHRuntimeIndexing.cpp - - - -USERINCLUDE ../HelpEngine/inc ../HelpEngine/rss - -// This is a SYSTEMINCLUDE macro containing the applications -// layer specific include directories -APP_LAYER_SYSTEMINCLUDE - -LIBRARY cone.lib euser.lib bafl.lib -LIBRARY efsrv.lib charconv.lib eikctl.lib -LIBRARY SenXml.lib XMLFRAMEWORK.lib ezip.lib -LIBRARY HLPMODEL.LIB PlatformEnv.lib -LIBRARY featmgr.lib -LIBRARY ptiengine.lib //Input Language variation changes - -#if defined(WINS) - deffile ./HelpEnginewinscw.def -#else // #elif defined(ARM) - deffile ./HelpEnginearm.def -#endif -nostrictdef - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/group/HelpEnginearm.def --- a/csxhelp/group/HelpEnginearm.def Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -EXPORTS - _ZN13CCSXHHtmlTOC213GetKywdParentEv @ 1 NONAME - _ZN13CCSXHHtmlTOC216GetTopicContentLEv @ 2 NONAME - _ZN13CCSXHHtmlTOC219GetContentsFromUrlLERK7TDesC16P7CCoeEnvR15RFeatureControl @ 3 NONAME - _ZN15CCSXHLegacyTOC215GetLegacyParentEv @ 4 NONAME - _ZN15CCSXHLegacyTOC216GetTopicContentLEv @ 5 NONAME - _ZN16CCSXHGenericTOC114FillChildDataLEP12CDesC16Array @ 6 NONAME - _ZN16CCSXHGenericTOC19GetChildLERK7TDesC16 @ 7 NONAME - _ZN16CCSXHGenericTOC29GetParentEv @ 8 NONAME - _ZN17CCSXHContextTopic8GetTopicEv @ 9 NONAME - _ZN17CCSXHHelpDataBase13GetKywdTopicsEv @ 10 NONAME - _ZN17CCSXHHelpDataBase13GetMainTopicsEv @ 11 NONAME - _ZN17CCSXHHelpDataBase15GetContextTopicERK6TDesC8 @ 12 NONAME - _ZN17CCSXHHelpDataBase19GetHtmlTopicForUrlLERK7TDesC16 @ 13 NONAME - _ZN17CCSXHHelpDataBase20ClearAllTOC1ContentsEv @ 14 NONAME - _ZN17CCSXHHelpDataBase21GetKeywordSearchCountEv @ 15 NONAME - _ZN17CCSXHHelpDataBase28InitGenerateKeywordTOC2ListLEP13CCSXHKywdTOC1 @ 16 NONAME - _ZN17CCSXHHelpDataBase4NewLEP7CCoeEnvRK4TBufILi256EE @ 17 NONAME - _ZNK13CCSXHHtmlTOC211GetHtmlUrlLER4TBufILi256EE @ 18 NONAME - _ZNK13CCSXHHtmlTOC214GetHelpContextER15TCoeHelpContext @ 19 NONAME - _ZNK20CCSXHHelpContentBase7GetNameEv @ 20 NONAME - _ZTI13CCSXHHtmlTOC1 @ 21 NONAME ; ## - _ZTI13CCSXHHtmlTOC2 @ 22 NONAME ; ## - _ZTI13CCSXHKywdTOC1 @ 23 NONAME ; ## - _ZTI15CCSXHKywdTopics @ 24 NONAME ; ## - _ZTI15CCSXHLegacyTOC1 @ 25 NONAME ; ## - _ZTI15CCSXHLegacyTOC2 @ 26 NONAME ; ## - _ZTI15CCSXHMainTopics @ 27 NONAME ; ## - _ZTI16CCSXHGenericTOC1 @ 28 NONAME ; ## - _ZTI17CCSXHContextTopic @ 29 NONAME ; ## - _ZTI17CCSXHHelpDataBase @ 30 NONAME ; ## - _ZTI19CCsHlpCmdLineParser @ 31 NONAME ; ## - _ZTI20CCSXHHelpContentBase @ 32 NONAME ; ## - _ZTI20CCSXHXMLParseHandler @ 33 NONAME ; ## - _ZTI22CCSXHHTMLContentParser @ 34 NONAME ; ## - _ZTI24CCSXHLegacyContentParser @ 35 NONAME ; ## - _ZTI25CCSXHXMLParseHandler_Kywd @ 36 NONAME ; ## - _ZTI29CCSXHXMLParseHandler_MetaFile @ 37 NONAME ; ## - _ZTI30CCSXHXMLParseHandler_IndexFile @ 38 NONAME ; ## - _ZTI31CCSXHXMLParseHandler_MasterKywd @ 39 NONAME ; ## - _ZTI35CCSXHXMLParseHandler_MasterMetaFile @ 40 NONAME ; ## - _ZTV13CCSXHHtmlTOC1 @ 41 NONAME ; ## - _ZTV13CCSXHHtmlTOC2 @ 42 NONAME ; ## - _ZTV13CCSXHKywdTOC1 @ 43 NONAME ; ## - _ZTV15CCSXHKywdTopics @ 44 NONAME ; ## - _ZTV15CCSXHLegacyTOC1 @ 45 NONAME ; ## - _ZTV15CCSXHLegacyTOC2 @ 46 NONAME ; ## - _ZTV15CCSXHMainTopics @ 47 NONAME ; ## - _ZTV16CCSXHGenericTOC1 @ 48 NONAME ; ## - _ZTV17CCSXHContextTopic @ 49 NONAME ; ## - _ZTV17CCSXHHelpDataBase @ 50 NONAME ; ## - _ZTV19CCsHlpCmdLineParser @ 51 NONAME ; ## - _ZTV20CCSXHHelpContentBase @ 52 NONAME ; ## - _ZTV20CCSXHXMLParseHandler @ 53 NONAME ; ## - _ZTV22CCSXHHTMLContentParser @ 54 NONAME ; ## - _ZTV24CCSXHLegacyContentParser @ 55 NONAME ; ## - _ZTV25CCSXHXMLParseHandler_Kywd @ 56 NONAME ; ## - _ZTV29CCSXHXMLParseHandler_MetaFile @ 57 NONAME ; ## - _ZTV30CCSXHXMLParseHandler_IndexFile @ 58 NONAME ; ## - _ZTV31CCSXHXMLParseHandler_MasterKywd @ 59 NONAME ; ## - _ZTV35CCSXHXMLParseHandler_MasterMetaFile @ 60 NONAME ; ## - _ZTI20CCSXHRuntimeIndexing @ 61 NONAME ; ## - _ZTV20CCSXHRuntimeIndexing @ 62 NONAME ; ## - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/group/HelpEnginewinscw.def --- a/csxhelp/group/HelpEnginewinscw.def Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -EXPORTS - ??1CCSXHHelpDataBase@@UAE@XZ @ 1 NONAME ; CCSXHHelpDataBase::~CCSXHHelpDataBase(void) - ?ClearAllTOC1Contents@CCSXHHelpDataBase@@QAEXXZ @ 2 NONAME ; void CCSXHHelpDataBase::ClearAllTOC1Contents(void) - ?FillChildDataL@CCSXHGenericTOC1@@UAEXPAVCDesC16Array@@@Z @ 3 NONAME ; void CCSXHGenericTOC1::FillChildDataL(class CDesC16Array *) - ?GetChildL@CCSXHGenericTOC1@@UAEPAVCCSXHHelpContentBase@@ABVTDesC16@@@Z @ 4 NONAME ; class CCSXHHelpContentBase * CCSXHGenericTOC1::GetChildL(class TDesC16 const &) - ?GetContentsFromUrlL@CCSXHHtmlTOC2@@SAPAVHBufC8@@ABVTDesC16@@PAVCCoeEnv@@AAVRFeatureControl@@@Z @ 5 NONAME ; class HBufC8 * CCSXHHtmlTOC2::GetContentsFromUrlL(class TDesC16 const &, class CCoeEnv *, class RFeatureControl &) - ?GetContextTopic@CCSXHHelpDataBase@@QAEPAVCCSXHHelpContentBase@@ABVTDesC8@@@Z @ 6 NONAME ; class CCSXHHelpContentBase * CCSXHHelpDataBase::GetContextTopic(class TDesC8 const &) - ?GetHelpContext@CCSXHHtmlTOC2@@QBEHAAVTCoeHelpContext@@@Z @ 7 NONAME ; int CCSXHHtmlTOC2::GetHelpContext(class TCoeHelpContext &) const - ?GetHtmlTopicForUrlL@CCSXHHelpDataBase@@QAEPAVCCSXHHelpContentBase@@ABVTDesC16@@@Z @ 8 NONAME ; class CCSXHHelpContentBase * CCSXHHelpDataBase::GetHtmlTopicForUrlL(class TDesC16 const &) - ?GetHtmlUrlL@CCSXHHtmlTOC2@@QBEXAAV?$TBuf@$0BAA@@@@Z @ 9 NONAME ; void CCSXHHtmlTOC2::GetHtmlUrlL(class TBuf<256> &) const - ?GetKeywordSearchCount@CCSXHHelpDataBase@@QAEHXZ @ 10 NONAME ; int CCSXHHelpDataBase::GetKeywordSearchCount(void) - ?GetKywdParent@CCSXHHtmlTOC2@@QAEPAVCCSXHKywdTOC1@@XZ @ 11 NONAME ; class CCSXHKywdTOC1 * CCSXHHtmlTOC2::GetKywdParent(void) - ?GetKywdTopics@CCSXHHelpDataBase@@QAEPAVCCSXHGenericTOC1@@XZ @ 12 NONAME ; class CCSXHGenericTOC1 * CCSXHHelpDataBase::GetKywdTopics(void) - ?GetLegacyParent@CCSXHLegacyTOC2@@QAEPAVCCSXHLegacyTOC1@@XZ @ 13 NONAME ; class CCSXHLegacyTOC1 * CCSXHLegacyTOC2::GetLegacyParent(void) - ?GetMainTopics@CCSXHHelpDataBase@@QAEPAVCCSXHGenericTOC1@@XZ @ 14 NONAME ; class CCSXHGenericTOC1 * CCSXHHelpDataBase::GetMainTopics(void) - ?GetName@CCSXHHelpContentBase@@QBE?AVTPtr16@@XZ @ 15 NONAME ; class TPtr16 CCSXHHelpContentBase::GetName(void) const - ?GetParent@CCSXHGenericTOC2@@QAEPAVCCSXHGenericTOC1@@XZ @ 16 NONAME ; class CCSXHGenericTOC1 * CCSXHGenericTOC2::GetParent(void) - ?GetTopic@CCSXHContextTopic@@QAEPAVCCSXHHelpContentBase@@XZ @ 17 NONAME ; class CCSXHHelpContentBase * CCSXHContextTopic::GetTopic(void) - ?GetTopicContentL@CCSXHHtmlTOC2@@UAEPAXXZ @ 18 NONAME ; void * CCSXHHtmlTOC2::GetTopicContentL(void) - ?GetTopicContentL@CCSXHLegacyTOC2@@UAEPAXXZ @ 19 NONAME ; void * CCSXHLegacyTOC2::GetTopicContentL(void) - ?InitGenerateKeywordTOC2ListL@CCSXHHelpDataBase@@QAEHPAVCCSXHKywdTOC1@@@Z @ 20 NONAME ; int CCSXHHelpDataBase::InitGenerateKeywordTOC2ListL(class CCSXHKywdTOC1 *) - ?NewL@CCSXHHelpDataBase@@SAPAV1@PAVCCoeEnv@@ABV?$TBuf@$0BAA@@@@Z @ 21 NONAME ; class CCSXHHelpDataBase * CCSXHHelpDataBase::NewL(class CCoeEnv *, class TBuf<256> const &) - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/group/bld.inf --- a/csxhelp/group/bld.inf Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -/* -* Copyright (c) 2002 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: -* CsHelp build specification file. -* -* -*/ - - - -#ifdef __SERIES60_HELP //Help application will be present only when this flag is defined. - -#include - -PRJ_EXPORTS -// export localised loc file -../loc/csxhelp.loc APP_LAYER_LOC_EXPORT_PATH(csxhelp.loc) - -// export iby file -../rom/Cshelp.iby CORE_APP_LAYER_IBY_EXPORT_PATH(Cshelp.iby) -../rom/AiwHelpProvider.iby CORE_APP_LAYER_IBY_EXPORT_PATH(AiwHelpProvider.iby) -../rom/AiwHelpProviderResources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(AiwHelpProviderResources.iby) -../rom/CshelpResources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(CshelpResources.iby) - - -PRJ_PLATFORMS -// The platforms Cshelp is built -// Default platforms -DEFAULT - - -PRJ_MMPFILES - -HelpEngine.mmp -cshelp.mmp - -#ifdef RD_HELP_AIW_INTEGRATION - -PRJ_EXPORTS -// export localised loc file -../AiwHelpProvider/loc/aiwxhelpprovider.loc APP_LAYER_LOC_EXPORT_PATH(aiwxhelpprovider.loc) - -PRJ_MMPFILES -../AiwHelpProvider/group/AiwHelpProvider.mmp -#endif - -PRJ_EXTENSIONS - -START EXTENSION s60/mifconv -OPTION TARGETFILE cshelp.mif -OPTION HEADERFILE cshelp.mbg -OPTION SOURCES -c8,1 qgn_prop_folder_tab2 \ - -c8,1 qgn_prop_list_keyword_tab2 \ - -c8,1 qgn_prop_help_open_tab1 \ - -c8,1 qgn_prop_folder_help_tab1 \ - -c8,1 qgn_prop_keyword_find_tab1 \ - -c8 empty13x13 -END - -START EXTENSION s60/mifconv -OPTION TARGETFILE cshelp_aif.mif -OPTION SOURCES -c8,8 qgn_menu_help -END - -#endif //__SERIES60_HELP - -// End of File diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/group/cshelp.mmp --- a/csxhelp/group/cshelp.mmp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,123 +0,0 @@ -/* -* 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: Project definition file for Csxhelp Application -* -*/ - - -#include -#include - - -#ifndef RD_APPS_TO_EXES -TARGETPATH /System/Apps/Cshelp -#endif - -//1. Cshelp resources -START RESOURCE ../data/CsHelp.rss -HEADER -#ifdef RD_APPS_TO_EXES -TARGETPATH APP_RESOURCE_DIR -#endif - -//other settings like LANG xx -LANGUAGE_IDS - -END // RESOURCE - - - -//2. Aif stuff -#ifdef RD_SCALABLE_UI // New app framework used - -START RESOURCE ../data/Cshelp_reg.rss -DEPENDS cshelp.rsg -// Do not change the UID below. -TARGETPATH /private/10003a3f/apps -END - -#else // Old app framework used (no changes in the definitions below) - -START RESOURCE ../aif/cshelp_caption.rss -HEADER -#ifdef RD_APPS_TO_EXES -TARGETPATH APP_RESOURCE_DIR -#endif - -//other settings like LANG xx -LANGUAGE_IDS -END // RESOURCE - -#endif - - - -//Target information -#ifdef RD_APPS_TO_EXES -// TARGETPATH need not be defined, it is automatically handled by the build tools -TARGET cshelp.exe -TARGETTYPE exe -#else -TARGET cshelp.app -TARGETTYPE app -#endif -UID 0x100039CE 0x10005234 - -EPOCSTACKSIZE 0x10000 -EPOCHEAPSIZE 0x5000 0x800000 - -VENDORID VID_DEFAULT - -//We use default capabilities (from defaultcaps.hrh) -CAPABILITY CAP_APPLICATION - -USERINCLUDE . ../inc ../HelpEngine/inc - -// This is a SYSTEMINCLUDE macro containing the applications -// layer specific include directories -APP_LAYER_SYSTEMINCLUDE - -SOURCEPATH ../src - -SOURCE CSXH.cpp -SOURCE CSXHApplication.cpp -SOURCE CSXHGenericView.cpp -SOURCE CSXHGenericContainer.cpp -SOURCE CSXHAppUi.cpp -SOURCE CSXHDocument.cpp -SOURCE CSXHLegacyTopicContainer.cpp -SOURCE CSXHLegacyTopicView.cpp -SOURCE CSXHHtmlTopicView.cpp -SOURCE CSXHHtmlTopicContainer.cpp -SOURCE AppLauncherForCSXH.cpp -SOURCE csxhruntimeappwatcher.cpp - -LIBRARY euser.lib apparc.lib cone.lib eikcore.lib -LIBRARY apgrfx.lib charconv.lib -LIBRARY eikcoctl.lib eikctl.lib avkon.lib -LIBRARY AknNotify.lib etext.lib -LIBRARY AknSkins.lib -LIBRARY ws32.lib -LIBRARY CdlEngine.lib //dynamic ui -LIBRARY AknLayout2Scalable.lib -LIBRARY gdi.lib HelpEngine.lib apmime.lib featmgr.lib -LIBRARY ServiceHandler.lib // For the AiwServiceHandler -LIBRARY efsrv.lib - -#ifdef FF_HELP_TUTORIAL_MERGE -LIBRARY bafl.lib -#endif - -DEBUGLIBRARY flogger.lib -// End of File diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/AppLauncherForCSXH.h --- a/csxhelp/inc/AppLauncherForCSXH.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,234 +0,0 @@ -/* -* 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 -#include - -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 iUrl; - TBuf iParam1; - TBuf iParam2; - TBuf iParam3; - TBuf iParam4; - }; - - -#endif /* INC_APPLAUNCHERFORCSXH_H_HEADER_INCLUDED_BC03B1F7 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/CSXHAppUi.h --- a/csxhelp/inc/CSXHAppUi.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,272 +0,0 @@ -/* -* 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 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/CSXHApplication.h --- a/csxhelp/inc/CSXHApplication.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -/* -* 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: CCSXHApplication class declaration -* -*/ - - - -#ifndef INC_CSXHAPPLICATION_H__ -#define INC_CSXHAPPLICATION_H__ - -#include - - -/*! - @class CCSXHApplication - - An instance of CCSXHApplication is the application part of the AVKON - application framework for the Csxhelp application - */ -class CCSXHApplication : public CAknApplication - { -public: // from CAknApplication - -/** - @function AppDllUid - @since S60 3.2 - - The application DLL UID value - @return the UID of this Application/Dll - */ - TUid AppDllUid() const; - -protected: // from CAknApplication -/** - @function CreateDocumentL - @since S60 3.2 - - Create a CApaDocument object and return a pointer to it - @return a pointer to the created document - */ - CApaDocument* CreateDocumentL(); - }; - -#endif // INC_CSXHAPPLICATION_H__ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/CSXHDocument.h --- a/csxhelp/inc/CSXHDocument.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,210 +0,0 @@ -/* -* 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: CCSXHDocument class declaration -* -*/ - - -#ifndef INC_CSXHDOCUMENT_H_HEADER_INCLUDED_BC0121B7 -#define INC_CSXHDOCUMENT_H_HEADER_INCLUDED_BC0121B7 - -#include - -// Forward references -class CAknAppUi; -class CEikApplication; -class CCSXHHelpDataBase; -class CCSXHHelpContentBase; -class CEikAppUi; -class CEikProgressInfo; -class CAknProgressDialog; -class CIdle; -/** - @class CCSXHDocument -* An instance of class CCSXHDocument is the Document part of the AVKON -* application framework for the Csxhelp application -*/ - -class CCSXHDocument : public CAknDocument - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHDocument for the AVKON application aApp -* construction, and return a pointer to the created object -* @param aApp - Application Object -* @return a CCSXHDocument Pointer -*/ - static CCSXHDocument* NewL( - // application creating this document - CEikApplication& aApp); - // Construct a CCSXHDocument for the AVKON application aApp using two phase - // construction, and return a pointer to the created object - -/** -* @function NewLC -* @since S60 3.2 -* Construct a CCSXHDocument for the AVKON application aApp using two phase -* construction, and return a pointer to the created object -* @param aApp - Application Object -* @return a CCSXHDocument Pointer -*/ - static CCSXHDocument* NewLC( - // application creating this document - CEikApplication& aApp); - - -/** -* @function ~CCSXHDocument -* @since S60 3.2 -* Destroy the object and release all memory objects -*/ - ~CCSXHDocument(); - - public: // from CAknDocument -/** -* @function CreateAppUiL -* @since S60 3.2 -* Create a CCSXHAppUi object and return a pointer to it -* @return CCSXHAppUi class pointer -*/ - CEikAppUi* CreateAppUiL(); - - public: -/** -* @function SetDisplayTopic -* @since S60 3.2 -* @param aDisplayTopic - HelpContentbase Class pointer -*/ - void SetDisplayTopic(CCSXHHelpContentBase *aDisplayTopic); -/** -* @function SetDisplayAndPrevTopic -* @since S60 3.2 -* @param aDisplayTopic - HelpContentbase Class pointer -*/ - void SetDisplayAndPrevTopic(CCSXHHelpContentBase *aDisplayTopic); -/** -* @function GetDisplayTopic -* @since S60 3.2 -* @return HelpContentBase Class pointer -*/ - inline CCSXHHelpContentBase* GetDisplayTopic() const - {return iDisplayTopic;} -/** -* @function GetPrevTopic -* @since S60 3.2 -* @return HelpContentBase Class pointer -*/ - inline CCSXHHelpContentBase* GetPrevTopic() const - {return iPrevTopic;} -/** -* @function ClearPrevTopic -* @since S60 3.2 -* @Clears the previous topic -*/ - inline void ClearPrevTopic() - {iPrevTopic = NULL;} -/** -* @function GetHelpDataBase -* @since S60 3.2 -* @return HelpContentBase Class pointer -*/ - inline CCSXHHelpDataBase* GetHelpDataBase() const - {return iHelpDataBase;} - -/** -* @function GetHelpDataBase -* @since S60 3.2 -* Sends a Command to Application UI Class -* @param aCommand - Command to be Handled -*/ - void SendMessageToAppUiL(TInt aCommand); - -/** -* @function SetContextTopicAsDisplayTopicL -* @since S60 3.2 -* Parse the Message, Get the topic for Display & set this Object as Current Display Object -* @param aContextMessage - Message from Other Application for Context Sensitive launch -* @return ETrue for Topic Found /EFalse for topic Not found -*/ - TBool SetContextTopicAsDisplayTopicL(const TDesC8& aContextMessage); - -/** -* @function GetHtmlTopicForUrlL -* @since S60 3.2 -* Get the Object for HTML topic using url Name -* @param url - url Name -* @return Pointer to the HelpDataBase which contains HTMLtopic info -*/ - CCSXHHelpContentBase* GetHtmlTopicForUrlL(const TDesC &url); - -/** -* @function InitProgressBar -* @since S60 3.2 -* Initializes the progress bar -*/ - void InitProgressBarL(); - -/** -* @function FreeProgressBar -* @since S60 3.2 -* Frees the progress bar -*/ - void FreeProgressBarL(); - -/** - * function for TCAllBack protocol. - * called directly - * @since 1.1 - * @param aThis is the pointer to the actual instance - * @return Whether finished or not - */ - static TInt CallBack(TAny* aThis); - - /** - * call back function. - * called by CallBackL() - * @since 1.1 - * @return Whether finished or not - */ - TInt DoCallBackL(); - - private: -/** -* @function CCSXHDocument -* @since S60 3.2 -* Perform the first phase of two phase construction -*/ - CCSXHDocument( - // application creating this document - CEikApplication& aApp); - - private: - CCSXHHelpDataBase *iHelpDataBase; - CAknAppUi *iHelpAppUi; - - CCSXHHelpContentBase *iDisplayTopic; - CCSXHHelpContentBase *iPrevTopic; - - CAknProgressDialog *iProgressDialog; - - CIdle *iIdle; - - TInt iTotalKeywordsInResultView; - }; - - - -#endif /* INC_CSXHDOCUMENT_H_HEADER_INCLUDED_BC0121B7 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/CSXHGenericContainer.h --- a/csxhelp/inc/CSXHGenericContainer.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,252 +0,0 @@ -/* -* 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: CCSXHGenericContainer class declaration -* -*/ - - -#ifndef INC_CSXHGENERICCONTAINER_H_HEADER_INCLUDED_BC039735 -#define INC_CSXHGENERICCONTAINER_H_HEADER_INCLUDED_BC039735 - -#include // CCoeControl -#include // MEikListBoxObserver -#include - -// FORWARD DECLARATIONS -class CAknSingleStyleListBox; -class CCSXHDocument; -class CCSXHGenericView; - -#ifdef FF_HELP_TUTORIAL_MERGE -class CCSXHGenericTOC1; -#endif - -// CLASS DECLARATION -/** -* @class CCSXHGenericContainer -* This class provides listbox container control functionality -*/ - -class CCSXHGenericContainer : public CCoeControl, public MEikListBoxObserver - { - public: - /** - * @function NewL - * @since S60 3.2 - * Construct a CCSXHGenericContainer - * and return a pointer to the created object - * @param aRect - TRect Object - * aDocument - Document Object - * @return a CCSXHGenericContainer Pointer - */ -#ifdef FF_HELP_TUTORIAL_MERGE - static CCSXHGenericContainer* NewL(const TRect& aRect,CCSXHDocument &aDocument - ,CCSXHGenericView* aView); -#else // !FF_HELP_TUTORIAL_MERGE - static CCSXHGenericContainer* NewL(const TRect& aRect,CCSXHDocument &aDocument); -#endif // FF_HELP_TUTORIAL_MERGE - /** - * @function NewLC - * @since S60 3.2 - * Construct a CCSXHGenericContainer first phase of two phase constuction - * @param aRect - TRect Object - * aDocument - Document Object - */ -#ifdef FF_HELP_TUTORIAL_MERGE - static CCSXHGenericContainer* NewLC(const TRect& aRect, CCSXHDocument &aDocument - ,CCSXHGenericView* aView); -#else // !FF_HELP_TUTORIAL_MERGE - static CCSXHGenericContainer* NewLC(const TRect& aRect, CCSXHDocument &aDocument); -#endif // FF_HELP_TUTORIAL_MERGE - /** - * @function ~CCSXHGenericContainer - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - ~CCSXHGenericContainer(); - -/** -* @function HandleResourceChange -* @since S60 3.2 -* Handles resource changes. -* This function is called by framework when when e.g skin or locale is changed. -* @param aType resource change type -*/ - void HandleResourceChange(TInt aType); - -/** -* @function HandleResourceChangeImpl -* @since S60 3.2 -* Handles resource changes. -* Implementation function for resource change -* @param aType resource change type -*/ - void HandleResourceChangeImpl(TInt aType); - -/** -* @function SetDisplayTopicL -* @since S60 3.2 -* Using Selected Item, set next object for display -*/ - void SetDisplayTopicL(); - -/** -* @function GetNumberOfListItems -* @since S60 3.2 -* Get the number of items present in the List -* @return Number of Items in the List -*/ - TInt GetNumberOfListItems(); - -/** -* @function SetCurrentView -* @since S60 3.2 -* Sets View Pointer -* @param aView - Sets View pointer which is using this Container -*/ - void SetCurrentView(CCSXHGenericView* aView); -/** -* @function CheckForMSK -* @since S60 3.2 -* Checks Msk flag is Enabled or not, If Enabled, Sets MSK Label -*/ - void CheckForMSK(); -/** -* @function HightLightItemL -* @since S60 3.2 -* Sets the selected item in the list box -*/ - void HightLightItemL(); - -#ifdef FF_HELP_TUTORIAL_MERGE - /** - * If the selected item is a tutorial item - * @since S60 3.2 - * @param None - * @return A boolean value to indicate the item is tutorial or not - * Sets the selected item in the list box - */ - TBool IsShowTutorialItemSelectedL(); -#endif // FF_HELP_TUTORIAL_MERGE - - - void MakeVisible(TBool aVisible); - - protected: // From base classes. -/** - * When focus is changed, called. - * Set focus editor(viewer). - * @function FocusChanged - * @since 3.2 - * @param aDrawNow used to determine whether or not - * redraw should occur now, or later - */ - void FocusChanged(TDrawNow aDrawNow); - - private: - -/** -* @function CCSXHGenericContainer -* @since S60 3.2 -* Perform the second phase construction of a CCSXHDocument object -* @param aDocument - CCSXHDocument Object -*/ -#ifdef FF_HELP_TUTORIAL_MERGE - CCSXHGenericContainer(CCSXHDocument &aDocument,CCSXHGenericView* aView); -#else // !FF_HELP_TUTORIAL_MERGE - CCSXHGenericContainer(CCSXHDocument &aDocument); -#endif // FF_HELP_TUTORIAL_MERGE -/** -* @function ConstructL -* @since S60 3.2 -* Perform the first phase of two phase construction -* @param aRect - TRect Object -*/ - void ConstructL(const TRect& aRect); - -/** -* @function CreateAndPopulateListL -* @since S60 3.2 -* Creates a AVKON List & Inserts items into it. -*/ - void CreateAndPopulateListL(); - - - private: -/** -* From MEikListBoxObserver class -* @function HandleListBoxEventL -* @since S60 3.2 -* This function handles List box Events -* @param aListBox - ListBox Pointer -* aListBoxEvent - Event to be handled -*/ - void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aListBoxEvent); - - private: // from CoeControl -/** -* From CoeControl class -* @function SizeChanged -* @since S60 3.2 -* re-allocates and re-sizes components. -*/ - void SizeChanged(); -/** -* From CoeControl class -* @function CountComponentControls -* @since S60 3.2 -* @return Number of child controls this has. -*/ - TInt CountComponentControls() const; - -/** -* From CoeControl class -* @function ComponentControl -* @since S60 3.2 -* @param aIndex index of child controls -* @retrun pointer to child control -*/ - CCoeControl* ComponentControl(TInt aIndex) const; - -/** -* From CoeControl class -* @function Draw -* @since S60 3.2 -* Draw() for drawing the Background -*/ - void Draw(const TRect& aRect) const; -/** -* From CoeControl class -* @function OfferKeyEventL -* @since S60 3.2 -* Progress Key Event -* @param aKeyEvent the key event -* @param aType EEventKey | EEventKeyUp | EEventKeyDown -* @return EKeyWasConsumed if key event is processed, -* otherwise EKeyWasNotConsumed -*/ - TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); - - private: - CCSXHDocument& iDocument; - CAknSingleStyleListBox* iListBox; - CAknSearchField* iFindPane; - CCSXHGenericView* iView; - - - }; - - - -#endif /* INC_CSXHTOC2CONTAINER_H_HEADER_INCLUDED_BC039735 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/CSXHGenericView.h --- a/csxhelp/inc/CSXHGenericView.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,153 +0,0 @@ -/* -* 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: CCSXHGenericView class declaration -* -*/ - - -#ifndef INC_CSXHGENERICVIEW_H_HEADER_INCLUDED_BC03B1F7 -#define INC_CSXHGENERICVIEW_H_HEADER_INCLUDED_BC03B1F7 - -#include -#include - -//forward declarations -class CCSXHGenericContainer; - -/** -* @class CCSXHGenericView -* This class List View of the Csxhelp Application -*/ -class CCSXHGenericView : public CAknView - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHGenericContainer -* and return a pointer to the created object -* @param aUid - View Id -* aFlags - Resource Id -* aRect - TRect Object -* @return a CCSXHGenericView Pointer -*/ - static CCSXHGenericView* NewL(const TUid& aUid, const TInt& aFlags); - -/** -* @function ~CCSXHGenericView -* @since S60 3.2 -* Destroy the object and release all memory objects -*/ - ~CCSXHGenericView(); - -/** -* @function ResetContainer -* @since S60 3.2 -* Reset the Flag, which helps to create a new Container -*/ - void ResetContainer(); - -/** -* @function SetMiddleSoftKey -* @since S60 3.2 -* This will set the Label for MSK -*/ - void SetMiddleSoftKey(TBool aValue); - - public:// Functions from base classes -/** -* From CAknView, return view id of this view -* -* @function Id -* @since 3.2 -* @return view id -*/ - TUid Id() const; - -/** - * @function HandleCommandL - * @since S60 3.2 - * takes care of command handling. - * @param aCommand command to be handled - */ - void HandleCommandL(TInt aCommand); - -/** - * @function ResourceChangeHdl - * @since S60 3.2 - * Handler for resource change - * @param aType - Type of resource change event - */ - void ResourceChangeHdl(TInt aType); - - - protected: // Functions from base classes -/** -* From CAknView -* @function DoActivateL -* activation handler -* -* @since 3.2 -* @param aPrevViewId ID of previious view. -*/ - void DoActivateL(const TVwsViewId& aPrevViewId,TUid,const TDesC8& ); - -/** -* From CAknView -* @function DoDeactivate -* de-activation handler -* -* @since 3.2 -* @param aPrevViewId ID of previious view. -*/ - void DoDeactivate(); -/** -* From MEikMenuObserver -* @function DynInitMenuPaneL -* used to manage the menu when -* no item are in the list box. -* We need to delete the "Open" -* menu item in this case. -* -* @since 3.2 -* @param aResource resource ID of menu pane -* @param aMenuPane instance of menupane -*/ - void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); - - private: -/** -* @function CCSXHGenericView -* @since S60 3.2 -* Perform the first phase of two phase construction -*/ - CCSXHGenericView(const TUid&,const TInt&); - -/** -* @function ConstructL -* @since S60 3.2 -* Perform the second phase construction of a genericview object -*/ - void ConstructL(); - - private: - CCSXHGenericContainer *iContainer; - TBool iResetContainerInActivate; - - const TUid &iUid; - const TInt &iAppFlags; - - }; - -#endif /* INC_CSXHGENERICVIEW_H_HEADER_INCLUDED_BC03B1F7 */ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/CSXHHtmlTopicContainer.h --- a/csxhelp/inc/CSXHHtmlTopicContainer.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,441 +0,0 @@ -/* -* 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: CCSXHHtmlTopicContainer class declaration -* -*/ - - -#ifndef INC_CCSXHHTMLTOPICCONTAINER_H__ -#define INC_CCSXHHTMLTOPICCONTAINER_H__ -//If I use INC_CCSXHHTMLTOPICCONTAINER_H__, then CodeScanner fails -//but if I use INC_CCSXH_HTML_TOPIC_CONTAINER_H__ code scanner -//reports an error but produces results for other files - -#include -#include -#include -//RUNTIME -#include - -class CBrCtlInterface; -class CCSXHDocument; -class CCSXHHtmlTOC2; -class CCSXHHtmlTopicView; -class AppLauncherForCSXH; -class CCSXHHelpContentBase; - -typedef CBrCtlInterface* (*FuncPtr_CreateBrowserControlL) (CCoeControl* aParent, TRect aRect, - TUint aBrCtlCapabilities, TUint aCommandIdBase = TBrCtlDefs::ECommandIdBase, - MBrCtlSoftkeysObserver* aBrCtlSoftkeysObserver = NULL, - MBrCtlLinkResolver* aBrCtlLinkResolver = NULL, - MBrCtlSpecialLoadObserver* aBrCtlSpecialLoadObserver = NULL, - MBrCtlLayoutObserver* aBrCtlLayoutObserver = NULL, - MBrCtlDialogsProvider* aBrCtlDialogsProvider = NULL, - MBrCtlWindowObserver* aBrCtlWindowObserver = NULL, - MBrCtlDownloadObserver* aBrCtlDownloadObserver = NULL ); -/** -* @class CCSXHHtmlTopicContainer -* This class provides Browser functionality -*/ - -class CCSXHHtmlTopicContainer : public CCoeControl, public MBrCtlLinkResolver, - public MBrCtlLinkContent, public MBrCtlLoadEventObserver, - public MBrCtlSoftkeysObserver,public MBrCtlLayoutObserver - { -public: - -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHHtmlTopicContainer -* and return a pointer to the created object -* @param aRect - TRect Object -* aDocument - Document Object -* aView - HtmlTopicView Pointer -* @return a CCSXHHtmlTopicContainer Pointer -*/ - static CCSXHHtmlTopicContainer* NewL(const TRect& aRect,CCSXHDocument - &aDocument,CCSXHHtmlTopicView *aView); - -/** -* @function NewLC -* @since S60 3.2 -* Construct a CCSXHHtmlTopicContainer -* and return a pointer to the created object using two phase constuction -* @param aRect - TRect Object -* aDocument - Document Object -* aView - HtmlTopicView Pointer -* @return a CCSXHHtmlTopicContainer Pointer -*/ - static CCSXHHtmlTopicContainer* NewLC(const TRect& aRect,CCSXHDocument - &aDocument,CCSXHHtmlTopicView *aView); - -/** -* @function CCSXHHtmlTopicContainer -* @since S60 3.2 -* Construct a CCSXHHtmlTopicContainer -* and return a pointer to the created object using two phase constuction -* @param aRect - TRect Object -* aDocument - Document Object -* aView - HtmlTopicView Pointer -* @return a CCSXHHtmlTopicContainer Pointer -*/ - CCSXHHtmlTopicContainer(CCSXHDocument &aDocument, CCSXHHtmlTopicView *aView); -/** - * @function ~CCSXHHtmlTopicContainer - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - ~CCSXHHtmlTopicContainer(); - -/** - * @function SetAndLoadInitialTopicL - * @since S60 3.2 - * Destroy the object and release all memory objects - * @param aTopic - Initial Topic to be displayed - */ - void SetAndLoadInitialTopicL(CCSXHHtmlTOC2* aTopic); - -public: -/** -* From MBrCtlSoftkeysObserver class -* Browser plug-in calls this method requests to update a softkey -* @function UpdateSoftkeyL -* @since S60 3.2 -* @Param aKeySoftkey - Update the left softkey or the right softkey -* aLabel - The label associated with the softkey update -* aCommandId - The command to use if the softkey is selected by the user -* aBrCtlSoftkeyChangeReason - The reason for the softkey change -*/ -void UpdateSoftkeyL(TBrCtlKeySoftkey aKeySoftkey, - const TDesC& aLabel, - TUint32 aCommandId, - TBrCtlSoftkeyChangeReason aBrCtlSoftkeyChangeReason); - -/** -* From MBrCtlLayoutObserver Class -* Browser plug-in calls this method to Update the position of vertical scrollbar -* @function UpdateBrowserVScrollBarL -* @since S60 3.2 -* @Param aDocumentHeight - The total height of the markup page -* aDisplayHeight - The height of the display -* aDisplayPosY - The current Y position -*/ - void UpdateBrowserVScrollBarL(TInt aDocumentHeight, - TInt aDisplayHeight, - TInt aDisplayPosY ) ; - -/** -* From MBrCtlLayoutObserver Class -* Browser plug-in calls this method to Update the position of horizontal scrollbar -* @function UpdateBrowserHScrollBarL -* @since S60 3.2 -* @Param aDocumentWidth - The total width of the markup page -* aDisplayWidth - The width of the display -* aDisplayPosX - The current X position -*/ -void UpdateBrowserHScrollBarL(TInt aDocumentWidth, - TInt aDisplayWidth, - TInt aDisplayPosX ); - -/** -* From MBrCtlLayoutObserver Class -* Browser plug-in calls this method to Inform the layout of the page: right to left or left to right -* @function NotifyLayoutChange -* @since S60 3.2 -* @Param aNewLayout - RTL or LTR -*/ -void NotifyLayoutChange( TBrCtlLayout aNewLayout ); - -/** -* From MBrCtlLayoutObserver Class -* Browser plug-in calls this method to Inform the layout of the page: right to left or left to right -* @function UpdateTitleL -* @since S60 3.2 -* @Param aTitle - Title of the page -*/ -void UpdateTitleL( const TDesC& aTitle ); - -public: // from CCoeControl -/** -* From CoeControl class -* @function SizeChanged -* @since S60 3.2 -* re-allocates and re-sizes components. -*/ - void SizeChanged(); -/** -* From CoeControl class -* @function CountComponentControls -* @since S60 3.2 -* @return Number of child controls this has. -*/ - TInt CountComponentControls() const; - -/** -* From CoeControl class -* @function ComponentControl -* @since S60 3.2 -* @param aIndex index of child controls -* @retrun pointer to child control -*/ - CCoeControl* ComponentControl(TInt aIndex) const; -/** -* From CoeControl class -* @function OfferKeyEventL -* @since S60 3.2 -* Progress Key Event -* @param aKeyEvent the key event -* @param aType EEventKey | EEventKeyUp | EEventKeyDown -* @return EKeyWasConsumed if key event is processed, -* otherwise EKeyWasNotConsumed -*/ - TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); - -/** -* From MBrCtlLoadEventObserver class -* @function HandleBrowserLoadEventL -* @since S60 3.2 -* A load events notification -* @param aLoadEvent - The load event -* aSize - Size depends on the event -* aTransactionId - The transaction id of the transaction that had this event -*/ - void HandleBrowserLoadEventL(TBrCtlDefs::TBrCtlLoadEvent aLoadEvent, - TUint aSize, TUint16 aTransactionId); - -/** -* @function RefreshL -* @since S60 3.2 -* Used to Refresh the Content -* @param aTopic - CCSXHHtmlTOC2 Object -*/ - void RefreshL(CCSXHHtmlTOC2 *aTopic); - -/** -* @function HandleBackKeyL -* Handle Back Key -* @since S60 3.2 -* @return ETrue, if the key is handled in the container, EFalse otherwise -*/ - TBool HandleBackKeyL(); - -/** -* @function IsPrevHtmlPageAvblL -* Check for Existance of the page in the Browser history stack -* @since S60 3.2 -* @return ETrue, if page is available in Browser History Stack, EFalse otherwise -*/ - TBool IsPrevHtmlPageAvblL(); - -/** -* @function SetSelectedFontSizeL -* Sets BrowserFontsize -* @since S60 3.2 -* @param aValue - Fontsize Value -*/ - void SetSelectedFontSizeL(TInt aValue); - -/** -* @function SetSelectedFontSizeL -* Get Current Settings Value -* @since S60 3.2 -* @param aValue - Any Setting -* @return Current Value used by Browser -*/ - TInt GetCurrentValueL(TInt aSetting); - -/** -* @function HandleCommandBackL -* @since S60 3.2 -* Handles resource changes. -* pass OpenLink command to the browser HandlecommandL -*/ - void HandleCommandOpenHyperLinkL(); - -/** -* From CoeControl class -* @function Draw -* @since S60 3.2 -* Draw() for drawing the Background -*/ - void Draw(const TRect& aRect) const; - - void ShowIndexHtmlPageL() const; -/** -* @function HandleResourceChange -* @since S60 3.2 -* Handles resource changes. -* This function is called by framework when when e.g skin or locale is changed. -* @param aType resource change type -*/ - void HandleResourceChange(TInt aType); - -/** -* @function HandleResourceChangeImpl -* @since S60 3.2 -* Handles resource changes. -* Implementation function for resource change -* @param aType resource change type -*/ - void HandleResourceChangeImpl(TInt aType); - -/** -* @function HandleCommandBackL -* @since S60 3.2 -* Handles resource changes. -* pass Back command to the browser HandlecommandL -*/ - void HandleCommandBackL(); - -/** -* Browser plug-in calls this method when embedded link is found. Used with ECapabilityClientResolveEmbeddedURL -* @since 3.2 -* @param aEmbeddedUrl The url of the embedded content -* @param aCurrentUrl The url of the current page -* @param aLoadContentType The expected type of the embedded content -* @param aEmbeddedLinkContent a callback interface to return the embedded content -* @return EFalse, browser will resolve the link -*/ - TBool ResolveEmbeddedLinkL(const TDesC& aEmbeddedUrl, - const TDesC& aCurrentUrl, - TBrCtlLoadContentType aLoadContentType, - MBrCtlLinkContent& aEmbeddedLinkContent); - -/** -* Browser plug-in calls this method when the user requests to load content via selecting a link, or any other way. Used with ECapabilityClientNotifyURL -* @since 3.2 -* @param aUrl The requested url -* @param aCurrentUrl The url of the current page -* @param aBrCtlLinkContent a callback interface to return the embedded content -* @return EFalse, browser will resolve the link -*/ - TBool ResolveLinkL(const TDesC& aUrl, const TDesC& aCurrentUrl, - MBrCtlLinkContent& aBrCtlLinkContent); - -/** -* @function CancelFetchL -* Cancel all outstanding resolving operations -*/ - void CancelFetchL(); -/** -* @function CancelAll -* Cancel all outstanding resolving operations -* @since 3.2 -*/ - void CancelAll(); - - -/** -* @function HandleResolveComplete -* @since 3.2 -* Resolver calls this method when content is resolved. -* @param aContentType The content type of the response -* @param aCharset The charset of the response. May be empty in case of image -* @param aContentBuf content data. Ownership is not transfered -* @return void -*/ - void HandleResolveComplete(const TDesC& aContentType, - const TDesC& aCharset, - const HBufC8* aContentBuf); - -/** -* @function HandleResolveError -* @since 3.2 -* This method is called if there is some error while resolving the content -* @param aError system wide error code. -*/ - void HandleResolveError(TInt aError); -/** -* @function CheckForMSK -* @since S60 3.2 -* Checks Msk flag is Enabled or not, If Enabled, Sets MSK Label -*/ - void CheckForMSK(); -/** -* @function IsPrevPageAvbl -* Check wether focus is on Hyperlink or not -* @since S60 3.2 -* @return ETrue, if Focus is on Hyperlink , EFalse otherwise -*/ - TBool IsHyperLinkFocused(); -/** -* @function IsPrevPageAvbl -* Check for Existance of the page -* @since S60 3.2 -* @return ETrue, if page is available , EFalse otherwise -*/ - TBool IsPrevPageAvbl(); - -/** -* @function ClearHistoryL -* Clear Browser history stack -* @since S60 3.2 -*/ - void ClearHistoryL(); - -/** -* @function GetCurrActiveObject -* Get the Current Active Object -* @since S60 3.2 -* @return CCSXHHelpContentBase Pointer, -*/ - CCSXHHelpContentBase* GetCurrActiveObject(); - -private: - -/** - @function ConstructL - @since S60 3.2 - Perform the second phase construction of a HtmlTopicContainer object - @param aRect the rectangle this view will be drawn to - */ - void ConstructL(const TRect& aRect); - -/** -* @function LoadHtmlL -* loads HTML page in the Browser -* @since S60 3.2 -*/ - void LoadHtmlL(); - -/** -* @function CheckForExternalLinkL -* Check for external Hyperlink, if yes launch browserNG -* @since S60 3.2 -* @return ETrue, if external hyperlink available, EFalse otherwise -*/ - TBool CheckForExternalLinkL(const TDesC& aUrl); - -private: - CBrCtlInterface* iBrCtrl; - CCSXHHtmlTOC2* iTopic; - CCSXHDocument& iDocument; - CCSXHHelpContentBase *iNewTopic; - - //Check the impln comments in HandleBrowserLoadEventL function - TBuf iUrlNoAnchors; - - CCSXHHtmlTopicView* iView; - AppLauncherForCSXH* iAppLauncher; - RLibrary iBrLibrary; - RFeatureControl iFeatureControl; - TBool iLoadHtml; - TInt32 iPrevPageCount; - TBool iBack; - - }; - - -#endif diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/CSXHHtmlTopicView.h --- a/csxhelp/inc/CSXHHtmlTopicView.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,217 +0,0 @@ -/* -* 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: CCSXHHtmlTopicView class declaration -* -*/ - - -#ifndef INC_CCSXHHTMLTOPICVIEW_H__ -#define INC_CCSXHHTMLTOPICVIEW_H__ - -// INCLUDES -#include -#include - -class CCSXHHtmlTopicContainer; -class TCoeHelpContext; -// CLASS DECLARATION - -/** -* @class CCSXHHtmlTopicView -* This class handles BrowserView of the Csxhelp Application -*/ -class CCSXHHtmlTopicView : public CAknView - { - public: - - enum THtmlViewType - { - EHtmlView = 0, - EContextHtmlView - }; -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHHtmlTopicView -* and return a pointer to the created object -* @param aUid - View Id -* aFlags - Resource Id -* aRect - TRect Object -* @return a CCSXHHtmlTopicView Pointer -*/ - static CCSXHHtmlTopicView* NewL(const TUid&, const TInt&,const TRect& aRect); - -/** -* @function ~CCSXHHtmlTopicView -* @since S60 3.2 -* Destroy the object and release all memory objects -*/ - virtual ~CCSXHHtmlTopicView(); - -/** -* @function SetViewType -* @since S60 3.2 -* Sets the view type as either normal or context view -*/ - void SetViewTypeL(TInt viewType); - -/** -* @function GetViewType -* @since S60 3.2 -* Gets the view type as either normal or context view -*/ - TInt GetViewType(); - - protected: -/** -* @function CCSXHHtmlTopicView -* @since S60 3.2 -* Perform the first phase of two phase construction -*/ - CCSXHHtmlTopicView(const TUid&,const TInt&); - -/** -* @function ConstructL -* @since S60 3.2 -* Perform the second phase construction of a htmltopicview object -*/ - void ConstructL(const TRect& aRect); - -/** -* From MEikMenuObserver -* @function DynInitMenuPaneL -* used to manage the menu when -* no item are in the list box. -* We need to delete the "Open" -* menu item in this case. -* -* @since 3.2 -* @param aResource resource ID of menu pane -* @param aMenuPane instance of menupane -*/ - void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); - - - public: // Functions from base classes -/** -* From CAknView, return view id of this view -* -* @function Id -* @since 3.2 -* @return view id -*/ - TUid Id() const; - -/** - * @function HandleCommandL - * @since S60 3.2 - * takes care of command handling. - * @param aCommand command to be handled - */ - void HandleCommandL(TInt aCommand); - -/** - * @function ResourceChangeHdl - * @since S60 3.2 - * Handler for resource change - * @param aType - Type of resource change event - */ - void ResourceChangeHdl(TInt aType); - -/** - * @function ViewActivatedL - * @since S60 3.2 - * Takes any action required when this view is activated. - * Handles this view activation event from view server - * @param aPrevViewId - Specifies the view previously active. - * aCustomMessageId - Specifies the message type. - * aCustomMessage - Activation message - */ - void ViewActivatedL(const TVwsViewId& aPrevViewId, - TUid aCustomMessageId, - const TDesC8& aCustomMessage); - - -/** - * @function SetSoftKeysL - * @since S60 3.2 - * Sets SoftKeys - * @param aSoftKeys Resource Id - */ - void SetSoftKeysL(TInt aSoftKeys); - -/** - * @function GetCurrentFontSize - * @since S60 3.2 - * SetSoftKeysL - * @return Current FontSize - */ - TInt GetCurrentFontSize(); -/** -* @function SetMiddleSoftKey -* @since S60 3.2 -* This will set the Label for MSK -*/ - void SetMiddleSoftKey(TBool aValue); - -/** -* From CAknView -* @function DoDeactivate -* de-activation handler -* -* @since 3.2 -* @param aPrevViewId ID of previious view. -*/ - void DoDeactivate(); -#ifdef FF_HELP_TUTORIAL_MERGE - /** - * Lauch tutorial if exist, else popup a error message - * @since S60 3.2 - * @param None - * @return None - */ - void LaunchTutorial(); -#endif // FF_HELP_TUTORIAL_MERGE - - protected: // functions from base classes -/** -* From CAknView -* @function DoActivateL -* activation handler -* -* @since 3.2 -* @param aPrevViewId ID of previious view. -*/ - void DoActivateL(const TVwsViewId& aPrevViewId, - TUid /* aCustomMessageId */, - const TDesC8& /* aCustomMessage */); - - - - private: - // previous view - TVwsViewId iPrevious; - CCSXHHtmlTopicContainer* iBCContainer; - - const TUid& iUid; - const TInt& iAppFlags; - - static TInt iFontSize; - - TBool iContextTopicView; - }; - -#endif // INC_CCSXHHTMLTOPICVIEW_H__ - -// End of File diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/CSXHLegacyTopicContainer.h --- a/csxhelp/inc/CSXHLegacyTopicContainer.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,227 +0,0 @@ -/* -* 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: CCSXHLegacyTopicContainer class declaration -* -*/ - - -// INCLUDES -#include -#include -#include - - -// FORWARD DECLARATIONS -class CEikRichTextEditor; -class CEikGlobalTextEditor; -class CRichText; -class CAknsBasicBackgroundControlContext; -class CCSXHDocument; -class CCSXHLegacyTOC2; -// CLASS DECLARATION - -/** -* CCsHelpTopicContainer -* container control class for legacy topic view -* @lib etext.lib, eikcoctl.lib -* @since 3.2 -*/ -class CCSXHLegacyTopicContainer : public CCoeControl - { - public: // Constructors and destructor -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHLegacyTopicContainer -* and return a pointer to the created object -* @param aRect - TRect Object -* aDocument - Document Object -* aTopic - LegacyTOC2 Pointer -* @return a CCSXHLegacyTopicContainer Pointer -*/ - static CCSXHLegacyTopicContainer* NewL(const TRect& aRect,CCSXHDocument - &aDocument,CCSXHLegacyTOC2 *aTopic); - -/** -* @function NewLC -* @since S60 3.2 -* Construct a CCSXHLegacyTopicContainer -* and return a pointer to the created object using two phase constuction -* @param aRect - TRect Object -* aDocument - Document Object -* aTopic - LegacyTOC2 Pointer -* @return a CCSXHLegacyTopicContainer Pointer -*/ - static CCSXHLegacyTopicContainer* NewLC(const TRect& aRect,CCSXHDocument - &aDocument,CCSXHLegacyTOC2 *aTopic); - -/** -* @function CCSXHLegacyTopicContainer -* @since S60 3.2 -* Construct a CCSXHLegacyTopicContainer -* and return a pointer to the created object using two phase constuction -* @param aDocument - Document Object -* aTopic - LegacyTOC2 Pointer -* @return a CCSXHHtmlTopicContainer Pointer -*/ - CCSXHLegacyTopicContainer(CCSXHDocument &aDocument,CCSXHLegacyTOC2 *aTopic); - -/** -* @function RefreshL -* @since S60 3.2 -* Used to Refresh the Content -* @param aTopic - CCSXHLegacyTOC2 Object -*/ - void RefreshL(CCSXHLegacyTOC2 *aTopic); - - /** - @function ConstructL - @since S60 3.2 - Perform the second phase construction of a LegacyTopicContainer object - @param aRect the rectangle this view will be drawn to - */ void ConstructL(const TRect& aRect); - - /** - * @The Mopsupply object gives the skin context to - * @the scrollbar, so that the scrollbar is skinned - * @according the skin parameters and look transparent - */ - TTypeUid::Ptr MopSupplyObject(TTypeUid aId); - -/** - * @function ~CCSXHLegacyTopicContainer - * @since S60 3.2 - * Destroy the object and release all memory objects - */ - virtual ~CCSXHLegacyTopicContainer(); - - public: // New functions -/** -* @function HandleResourceChange -* @since S60 3.2 -* Handles resource changes. -* This function is called by framework when when e.g skin or locale is changed. -* @param aType resource change type -*/ - void HandleResourceChange(TInt aType); - -/** -* @function HandleResourceChangeImpl -* @since S60 3.2 -* Handles resource changes. -* Implementation function for resource change -* @param aType resource change type -*/ - void HandleResourceChangeImpl(TInt aType); - - - protected: // New functions -/** -* @function SetTextL -* @since S60 3.2 -* Handles resource changes. -* set topic's text to a rich text editor -* @param aText help document -*/ - void SetTextL(CRichText* aText); - - protected: // From base classes. -/** - * When focus is changed, called. - * Set focus editor(viewer). - * @function FocusChanged - * @since 3.2 - * @param aDrawNow used to determine whether or not - * redraw should occur now, or later - */ - void FocusChanged(TDrawNow aDrawNow); - - - private: // new function -/** - * Get rich text format from resource. - * @function GetTextFormat - * @since 3.2 - */ - void GetTextFormat(); - -/* -* Format the rich text help data -* @function FormatRichTextL -* @since 3.2 -* @param aText instance of the CRichText object to format -*/ - void FormatRichTextL(CRichText& aText); - - private: // Functions from base classes -/** -* From CoeControl class -* @function SizeChanged -* @since S60 3.2 -* re-allocates and re-sizes components. -*/ - void SizeChanged(); - -/** -* From CoeControl class -* @function OfferKeyEventL -* @since S60 3.2 -* Progress Key Event -* @param aKeyEvent the key event -* @param aType EEventKey | EEventKeyUp | EEventKeyDown -* @return EKeyWasConsumed if key event is processed, -* otherwise EKeyWasNotConsumed -*/ - TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, - TEventCode aType); - -/** -* From CoeControl class -* @function CountComponentControls -* @since S60 3.2 -* @return Number of child controls this has. -*/ - TInt CountComponentControls() const; - -/** -* From CoeControl class -* @function ComponentControl -* @since S60 3.2 -* @param aIndex index of child controls -* @retrun pointer to child control -*/ - CCoeControl* ComponentControl(TInt aIndex) const; - -/** -* From CoeControl class -* @function Draw -* @since S60 3.2 -* Draw() for drawing the Background -*/ - void Draw(const TRect& aRect) const; - - - private: //data - // to show help document - CEikEdwin* iEdwin; - - // rich text format - TCharFormat iCharFormat; - TCharFormatMask iCharFormatMask; - CAknsBasicBackgroundControlContext* iSkinContext; // skin data - CRichText* iText; // skin data - CCSXHDocument& iDocument; - CCSXHLegacyTOC2* iTopic; - }; -// End of File diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/CSXHLegacyTopicView.h --- a/csxhelp/inc/CSXHLegacyTopicView.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,147 +0,0 @@ -/* -* 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: CCSXHLegacyTopicView class declaration -* -*/ - - -#include -#include - -class CCSXHLegacyTopicContainer; - -// CLASS DECLARATION - -/** -* @class CCSXHLegacyTopicView -* This class handles RichTextView of the Csxhelp Application -*/ -class CCSXHLegacyTopicView : public CAknView - { - public: -/** -* @function NewL -* @since S60 3.2 -* Construct a CCSXHLegacyTopicView -* and return a pointer to the created object -* @param aUid - View Id -* aFlags - Resource Id -* aRect - TRect Object -* @return a CCSXHLegacyTopicView Pointer -*/ - - static CCSXHLegacyTopicView* NewL(const TUid& aUid, const TInt& - aFlags,const TRect& aRect); -/** -* From CAknView -* @function DoDeactivate -* de-activation handler -* -* @since 3.2 -* @param aPrevViewId ID of previious view. -*/ - void DoDeactivate(); - -/** -* @function ~CCSXHLegacyTopicView -* @since S60 3.2 -* Destroy the object and release all memory objects -*/ - virtual ~CCSXHLegacyTopicView(); - protected: -/** -* @function CCSXHLegacyTopicView -* @since S60 3.2 -* Perform the first phase of two phase construction -*/ CCSXHLegacyTopicView(const TUid&, const TInt&); - -/** -* @function ConstructL -* @since S60 3.2 -* Perform the second phase construction of a legacytopicview object -* @param aRect the rectangle this view will be drawn to -*/ - void ConstructL(const TRect& aRect); - - public: // Functions from base classes - /** -* From CAknView, return view id of this view -* -* @function Id -* @since 3.2 -* @return view id -*/ - TUid Id() const; - -/** - * @function HandleCommandL - * @since S60 3.2 - * takes care of command handling. - * @param aCommand command to be handled - */ - void HandleCommandL(TInt aCommand); - -/** - * @function ResourceChangeHdl - * @since S60 3.2 - * Handler for resource change - * @param aType - Type of resource change event - */ - void ResourceChangeHdl(TInt aType); - - protected: // functions from base classes -/** -* From CAknView -* @function DoActivateL -* activation handler -* -* @since 3.2 -* @param aPrevViewId ID of previious view. -*/ - void DoActivateL(const TVwsViewId& aPrevViewId, - TUid /* aCustomMessageId */, - const TDesC8& /* aCustomMessage */); - - -/** - * @function ViewActivatedL - * @since S60 3.2 - * Takes any action required when this view is activated. - * Handles this view activation event from view server - * @param aPrevViewId - Specifies the view previously active. - * aCustomMessageId - Specifies the message type. - * aCustomMessage - Activation message - */ - void ViewActivatedL(const TVwsViewId& aPrevViewId, - TUid aCustomMessageId, - const TDesC8& aCustomMessage); - -/** - * @function ViewActivatedL - * @since S60 3.2 - * Takes any action required when this view is deactivated. - * Handles this view deactivation event from view server - */ - void ViewDeactivated(); - - - private: - - CCSXHLegacyTopicContainer* iTopicContainer; - TVwsViewId iPrevious; - - const TUid& iUid; - const TInt& iAppFlags; - - }; diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/CsHelp.hrh --- a/csxhelp/inc/CsHelp.hrh Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +0,0 @@ -/* -* 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: Declarations for resources of cshelp. -* -*/ - - -#ifndef CSHELP_HRH -#define CSHELP_HRH - -enum TCSXHIds - { - ECSXHOpenItem = 1, // start value must not be 0 - ECSXHOpenItemPropagated , //Propagated from container - ECSXHTOC1ListView, - ECSXHKywdTOC1ListView, - ECSXHTOC2ListView, - ECSXHSearchText, - ECSXHOpenTopicView, - ECSXHOpenTopicText, - ECSXHOpenApplicationTopics, - ECsHelpCmdFontLarge, - ECsHelpCmdFontSmall, - ECSXHOpenHyperLink, - ECSXHDummyMSK, - ECmdAiwPlaceHolder, - ECmdLast - }; - - - -// Commands -enum TCsHelpMenuCommands - { - ECsHelpCmdViewCategoryList = 0x6000, - ECsHelpCmdViewTopicList, - ECsHelpCmdViewTopic, - ECsHelpCmdViewTopicForContext, - ECsHelpCmdViewTopicForSearch, - ECsHelpCmdViewSearch, - ECsHelpCmdViewSearchResult, - - ECsHelpCmdNextTopicList, - ECsHelpCmdPreviousTopicList, - - ECsHelpCmdNextTopic, - ECsHelpCmdPreviousTopic, - - ECsHelpCmdNextIndex, - ECsHelpCmdPreviousIndex - }; - -// Tab ID for category list view and search view -enum TCsHelpTabId - { - ECsHelpCategoryTab, - ECsHelpSearchTab - }; - - -// note id -enum TCsHelpNoteId - { - EProgressNote = 1, - EInstallNote - }; - - -enum TTutorialAiwCommands { - KLaunchTutorial = 0x10208a86, //Launches tutorial as embedded application - KPlayPresentation, //Plays tutorial presentation - KPresentationExists, //Tests if the given presentation exists - KPlayDefaultPresentation, //Plays tutorial default presentation - KDefaultPresentationExists //Tests if the default presentation exists - }; - -#endif // CSHELP_HRH - -// End of File diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/cshelp.laf --- a/csxhelp/inc/cshelp.laf Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -/* -* ============================================================================ -* Name : cshelp.laf -* Part of : CsHelp -* -* Description: -* This is the LAF specification file for the Cshelp app. -* -* -* Version: -* -* Copyright (C) 2002 Nokia Corporation. -* This material, including documentation and any related -* computer programs, is protected by copyright controlled by -* Nokia Corporation. All rights are reserved. Copying, -* including reproducing, storing, adapting or translating, any -* or all of this material requires the prior written consent of -* Nokia Corporation. This material also contains confidential -* information which may not be disclosed to others without the -* prior written consent of Nokia Corporation. -* -* ============================================================================ -*/ - -//d: laf data for Help application's topic view. -// Edit 16 >> -////l: main_pane_1 -//l:main_pane_1_help_item_text -// << -// -#define topic_view_font ELatinPlain12 -#define topic_view_C 215 -#define topic_view_l 4 -#define topic_view_r 5 -#define topic_view_B 21 -#define topic_view_W 167 -#define topic_view_J ELayoutAlignBidi -#define topic_view_lines 8 -#define topic_view_nextB 37 - -// End of file diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/inc/csxhruntimeappwatcher.h --- a/csxhelp/inc/csxhruntimeappwatcher.h Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,107 +0,0 @@ -/* -* 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: observer if any install/unistall happens at help app -* runtime -* -*/ - -#ifndef CSXHRUNTIMEAPPWATCHER_H -#define CSXHRUNTIMEAPPWATCHER_H - -#include -#include - -/* - * Base class of Installation/Uninstallation - * - */ -class MInstallationObserver - { -public: - /* - * call back function, to handle update index - */ - virtual void RuntimeUpdateIndex() = 0; - }; - -/* - * Runtime indexing wather - * keep watching if user install/uninstall/modify any helps - * - */ -class CCSXHRuntimeAppWatcher : public CActive - { -public: - - /* - * default constructor - */ - CCSXHRuntimeAppWatcher(); - - /* - * destructor - */ - ~CCSXHRuntimeAppWatcher(); - - /* - * two-phase constructor - */ - static CCSXHRuntimeAppWatcher* NewL(); - - /* - * from base class CActive - * Handles an active object's request completion event - */ - void RunL(); - - /* - * from base class CActive - * Implements cancellation of an outstanding request - */ - void DoCancel(); - - /* - * start this active object - */ - void Start(); - - /* - * Set observer - * @param aObserver: App UI, notify user helps modified - * - */ - void SetObserver( MInstallationObserver* aObserver ); - -private: - - /* - * two-phase constructor - */ - void ConstructL(); - -private: - - /* - * file session - */ - RFs iFileSession; - - /* - * observer - * not owned - */ - MInstallationObserver* iObserver; - }; - -#endif // CSXHRUNTIMEAPPWATCHER_H diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/loc/csxhelp.loc --- a/csxhelp/loc/csxhelp.loc Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,136 +0,0 @@ -/* -* Copyright (c) 2002-2004 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: Localisation file for Csxhelp -* -*/ - - -// LOCALISATION STRINGS -//d: help application name in selection grid window -//l: cell_app_pane_t1 -#define qtn_apps_grid_help "Help" - -//d: help application name in selection list window -//l: list_single_large_graphic_pane_t1 -#define qtn_apps_ls1_help "Help" - -//d: text when there is no topic -//l: popup_note_window -#define qtn_help_note_no_topic "No topic available" - -//d: text of wait note while sarching -//l: popup_note_wait_window -#define qtn_help_noteg_searching "Searching" - -//d: Command in options menu. go to categor list view -//l: list_single_pane_t1_cp2 -#define qtn_help_om_category_list "Help category list" - -//d: Command in options menu. find keywords, and go to search result view -//l: list_single_pane_t1_cp2 -#define qtn_help_om_find_topics "Find" - - -//d: Command in options menu. go to topic list view -//l: list_single_pane_t1_cp2 -#define qtn_help_om_open_category "Open" - -//d: Command in options menu. go to topic view -//l: list_single_pane_t1_cp2 -#define qtn_help_om_open_topic "Open" - -//d: Command in options menu. go to search view. -//l: list_single_pane_t1_cp2 -#define qtn_help_om_search "Search by keyword" - - -//d: Command in options menu. go to topic list view -//l: list_single_pane_t1_cp2 -#define qtn_help_om_topic_list "Topic list" - -//d: title text in help application -//l: title_pane_t2/opt9 -#define qtn_help_title_help "Help" - -//d: when help application is launched from options menu and no help topic is -//d: associated with present view, information note with this text is dsplayed. -//l: popup_note_window -#define qtn_help_note_no_topics "No help topics available" - -//d: Command in options menu. go to search view -//l: list_single_pane_t1_cp2 -//r:3.2 -#define qtn_help_om_search_xhtml "Search" - -//d: Command in options menu. go to help content view -//l: list_single_pane_t1_cp2 -//r:3.2 -#define qtn_help_om_help_contents "Help Contents" - -//d: Command in options menu. go to Application topic view -//l: list_single_pane_t1_cp2 -//r:3.2 -#define qtn_help_om_application_topics "Application Topics" - -//d: Command in options menu. To open the linked html page -//l: list_single_pane_t1_cp2 -//r:3.2 -#define qtn_help_om_open_hyperlink "Open link" - -//d: Command in options menu. To increase browser font size -//l: list_single_pane_t1_cp2 -//r:3.2 -#define qtn_help_om_increase_text "Increase text size" - -//d: Command in options menu. To decrease browser font size -//l: list_single_pane_t1_cp2 -//r:3.2 -#define qtn_help_om_decrease_text "Decrease text size" - -//d: While launching an Application from help with wrong uid/data -//d: information note with this text is dsplayed. -//l: popup_note_window -//r:3.2 -#define qtn_help_note_unable_launch "Unable to launch application" - -//d: When an Application is trying to launch from help using (HTTP)external links. -//d: information note with this text is dsplayed. -//l: popup_note_window -//r:3.2 -#define qtn_help_note_no_internet "Launching applications from internet content is not allowed" - -//d: Command for Middle SoftKey. find keywords, and go to search result view -//l: control_pane_t3/opt7 -//r:3.2 -#define qtn_help_msk_find "Find" - -//d: Command for Middle SoftKey. To open the linked html page -//l: control_pane_t3/opt7 -//r:3.2 -#define qtn_help_msk_open_hyperlink "Open link" - -//d: 1st Item in the Top Level List,Present only if Tutorial is present in the platform. -//d: 1st Item in the applications Topic List,Present only if Tutorial content is available -//for that application in the platform. -//l: navi_text_pane_t1 -//r:5.0 -#define qtn_help_toc_list_item_tutorial "Show Tutorial" - -//d: Label for wait note -//d: This note is used when user install/uninstall an application, which has helps. -//l: popup_note_wait_window -//r: 5.0 -#define qtn_help_noteg_install "Help content changed due to install/uninstallation, please restart Help application to see new app" - -// End of file diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/rom/AiwHelpProvider.iby --- a/csxhelp/rom/AiwHelpProvider.iby Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -/* -* Copyright (c) 2002 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: -* Main resource file for the AiwHelpProvider application. -* -* -*/ - -#ifndef __AIWHELPPROVIDER_IBY__ -#define __AIWHELPPROVIDER_IBY__ - -#ifdef RD_HELP_AIW_INTEGRATION - - -ECOM_PLUGIN(AiwHelpProvider.dll,AiwHelpProvider.RSC) - -#endif - -#endif diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/rom/AiwHelpProviderResources.iby --- a/csxhelp/rom/AiwHelpProviderResources.iby Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -/* -* Copyright (c) 2002 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: -* Main resource file for the AiwHelpProvider application. -* -* -*/ - - -#ifndef __AIWHELPPROVIDERRESOURCES_IBY__ -#define __AIWHELPPROVIDERRESOURCES_IBY__ - -#ifdef RD_HELP_AIW_INTEGRATION -data=DATAZ_\APP_RESOURCE_DIR\AiwHelpProviderPlugin.rsc APP_RESOURCE_DIR\AiwHelpProviderPlugin.rsc -#endif - -#endif diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/rom/Cshelp.iby --- a/csxhelp/rom/Cshelp.iby Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -/* -* Copyright (c) 2002 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: -* Main resource file for the CsHelp application. -* -* -*/ - - -#ifndef __CSHELP_IBY__ -#define __CSHELP_IBY__ - -#ifdef __SERIES60_HELP // Help files are put in the image only when this flag is defined - -#include - -file=ABI_DIR\BUILD_DIR\HelpEngine.dll \SHARED_LIB_DIR\HelpEngine.dll - -S60_APP_EXE(cshelp) -S60_APP_AIF_ICONS(cshelp) -S60_APP_AIF_RSC(cshelp) -S60_APP_BITMAP(cshelp) - -#endif //__SERIES60_HELP - -#endif // __CSHELP_IBY__ diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/rom/CshelpResources.iby --- a/csxhelp/rom/CshelpResources.iby Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -/* -* Copyright (c) 2002 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: -* Main resource file for the CsHelp application. -* -* -*/ - - -#ifndef __CSHELP_RESOURCES_IBY__ -#define __CSHELP_RESOURCES_IBY__ - - - -#ifdef __SERIES60_HELP // Help files are put in the image only when this flag is defined - -S60_APP_CAPTION(Cshelp) - -//Resource file(s) for CsHelp application -#ifndef RD_APPS_TO_EXES -data=ZSYSTEM\Apps\Cshelp\cshelp.rsc APP_RESOURCE_DIR\cshelp.rsc - -#else -data=DATAZ_\APP_RESOURCE_DIR\cshelp.rsc APP_RESOURCE_DIR\cshelp.rsc -#endif - - -#endif //__SERIES60_HELP - -#endif diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/src/AppLauncherForCSXH.cpp --- a/csxhelp/src/AppLauncherForCSXH.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,453 +0,0 @@ -/* -* 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 definition -* -*/ - - -#include "AppLauncherForCSXH.h" -#include "CSXHAppUi.h" -#include - -#include -#include -#include -#include -#include -#include -#include "csxhconstants.h" -#include - - -const TInt KBackSlashesInPrefix = 3; -#ifndef __SERIES60_30__ - const TUid KUidBrowserApplication = { 0x10008D39 }; -#else - const TUid KUidBrowserApplication = { 0x1020724D }; -#endif - -const TInt KKeyBlockTime = 100000; - -enum TAppLaunchMode - { - ENoAppLaunch = 0, - EVSAMode = 1, - ECmdMode = 2, - EAppLaunchFromInternet = 3, - }; -enum TAppLauchParams - { - EParamsInvalid = 0, - EParamsNoMsg, - EParamsWithMsg, - }; - - -AppLauncherForCSXH* AppLauncherForCSXH::NewL() - { - AppLauncherForCSXH* self = new(ELeave) AppLauncherForCSXH(); - self->ConstructL(); - return self; - } - -AppLauncherForCSXH::AppLauncherForCSXH() - {} - -void AppLauncherForCSXH::ConstructL() - { - iTimer = CPeriodic::NewL( CActive::EPriorityStandard ); - } - -AppLauncherForCSXH::~AppLauncherForCSXH() - { - if(iTimer) - delete iTimer; - } - -// -------------------------------------------------------------------------- -// Launches an application based on the Application Launch Link URL -// -------------------------------------------------------------------------- -TBool AppLauncherForCSXH::LaunchAppL(const TDesC& aUrl,const TDesC& aCurrentUrl) - { - switch(GetAppLaunchModeL(aUrl,aCurrentUrl)) - { - case ENoAppLaunch: - return EFalse; - case EAppLaunchFromInternet: - HandleAppLauchFromInternetL(); - return ETrue; - case EVSAMode: - { - if(!LaunchApp(aUrl,ETrue)) - HandleFailedAppLauchL(); - return ETrue; - } - case ECmdMode: - { - if(!LaunchApp(aUrl,EFalse)) - HandleFailedAppLauchL(); - return ETrue; - } - default: - return EFalse; - } - } - -TInt AppLauncherForCSXH::GetAppLaunchModeL(const TDesC& aUrl,const TDesC& aCurrentUrl) - { - TInt Position = aUrl.Find(_L("app://vsa@localhost/")); - if(KErrNotFound != Position && 0 == Position) - { - return CheckAppLaunchFromInternetL(EVSAMode,aCurrentUrl); - } - - Position = aUrl.Find(_L("app://cmd@localhost/")); - if(KErrNotFound != Position && 0 == Position) - { - return CheckAppLaunchFromInternetL(ECmdMode,aCurrentUrl); - } - - return ENoAppLaunch; - } - -TBool AppLauncherForCSXH::LaunchApp(const TDesC& aUrl, TBool aVSAMode) - { - iParam1.Copy(KEmptyString); - iParam2.Copy(KEmptyString); - iParam3.Copy(KEmptyString); - iParam4.Copy(KEmptyString); - - switch(CheckMsgParams(aUrl)) - { - case EParamsInvalid: - return EFalse; - case EParamsNoMsg: - { - ExtractTwoParams(aUrl); - if(aVSAMode) - { - TInt32 AId,VId; - GetUid(iParam1,AId); - GetUid(iParam2,VId); - TRAPD(res,CCSXHAppUi::GetInstance()->AppLaunchL(AId,VId)); - return (res == KErrNone) ? ETrue : EFalse; - } - else - { - return LaunchCmdApp(EFalse); - } - } - case EParamsWithMsg: - { - ExtractFourParams(aUrl); - if(aVSAMode) - { - TInt32 AId,VId,MId; - GetUid(iParam1,AId); - GetUid(iParam2,VId); - GetUid(iParam3,MId); - TRAPD(res,CCSXHAppUi::GetInstance()->AppLaunchL(AId,VId,MId,iParam4)); - return (res == KErrNone) ? ETrue : EFalse; - } - else - { - return LaunchCmdApp(ETrue); - } - } - default: - return EFalse; - } - } -TBool AppLauncherForCSXH::LaunchCmdApp(TBool aParamsMode) - { - TRAPD(res,LaunchCmdAppL(aParamsMode)); - if(res != KErrNone) - return EFalse; - return ETrue; - } -TBool AppLauncherForCSXH::LaunchCmdAppL(TBool aParamsMode) - { - /*valid cases - app://cmd@localhost/APP_NAME/APP_UID - app://cmd@localhost/APP_NAME/APP_UID/MSG_UID/Parameters - */ - TApaTask task = GetCmdAppTask(); - if (task.Exists()) - {//App is already running - if(aParamsMode) - SendMsgToCmdAppTaskL(task); - - task.BringToForeground(); - return ETrue; - } - //Application has to be started - CApaCommandLine* cmdLine=CApaCommandLine::NewLC(); - cmdLine->SetExecutableNameL(iParam1); - cmdLine->SetCommandL(EApaCommandRun); - - RApaLsSession lsSession; - User::LeaveIfError(lsSession.Connect()); - CleanupClosePushL(lsSession); - User::LeaveIfError(lsSession.StartApp(*cmdLine)); - CleanupStack::PopAndDestroy(&lsSession); - CleanupStack::PopAndDestroy(cmdLine); - if(aParamsMode) - { - iCount = 0; - TCallBack timer_Callback_to_terminateApp( Timer_Callback_to_TerminateApp,this ); - StartTimer(timer_Callback_to_terminateApp); - } - - return ETrue; - } - -TInt AppLauncherForCSXH::Timer_Callback_to_TerminateApp(TAny* aPtr) - { - return static_cast( aPtr )->SendMsgToApplication(); - } - -TInt AppLauncherForCSXH::SendMsgToApplication() - { - //If parameters has to be passed then the following is required - TApaTask cmdTask = GetCmdAppTask(); - if (cmdTask.Exists()) - { - TRAPD(res,SendMsgToCmdAppTaskL(cmdTask)); - if(res != KErrNone) - return 0; - cmdTask.BringToForeground(); - iTimer->Cancel(); - } - else if(++iCount > 20) - { - iTimer->Cancel(); - } - return 0; - } - -TApaTask AppLauncherForCSXH::GetCmdAppTask() - { - TInt32 AId; - GetUid(iParam2,AId); - TApaTaskList taskList(CCSXHAppUi::GetInstance()->GetWsSession()); - TUid KtestAppUid( TUid::Uid( AId ) ); - return taskList.FindApp(KtestAppUid); - } -void AppLauncherForCSXH::SendMsgToCmdAppTaskL(TApaTask& aTask) - { - - TInt32 MId; - GetUid(iParam3,MId); - TUid KtestMsgUid( TUid::Uid( MId ) ); - HBufC8* params = CnvUtfConverter::ConvertFromUnicodeToUtf8L(iParam4); - CleanupStack::PushL(params); - aTask.SendMessage (KtestMsgUid, *params); - CleanupStack::PopAndDestroy(params); - } - -void AppLauncherForCSXH::HandleFailedAppLauchL() - { - HBufC* ErrorMessage = CCSXHAppUi::GetCoeEnv()->AllocReadResourceLC( - R_QTN_HELP_NOTE_UNABLE_TO_LAUNCH_APP); - CAknGlobalNote* note = CAknGlobalNote::NewLC(); - note->ShowNoteL(EAknGlobalInformationNote, *ErrorMessage); - CleanupStack::PopAndDestroy(note); - CleanupStack::PopAndDestroy(ErrorMessage); - } -void AppLauncherForCSXH::HandleAppLauchFromInternetL() - { - HBufC* ErrorMessage = CCSXHAppUi::GetCoeEnv()->AllocReadResourceLC( - R_QTN_HELP_NOTE_APP_LAUNCH_NOT_ALLOWED); - CAknGlobalNote* note = CAknGlobalNote::NewLC(); - note->ShowNoteL(EAknGlobalInformationNote, *ErrorMessage); - CleanupStack::PopAndDestroy(note); - CleanupStack::PopAndDestroy(ErrorMessage); - } - -TInt AppLauncherForCSXH::CheckAppLaunchFromInternetL(TInt aCurrentMode,const TDesC& /*aCurrentUrl*/ ) - { - - return aCurrentMode; - //BrowserNG is lauched for Externalhyperlinks, - //All the security issues are addresed by BrowserNG, - - /*(0 == aCurrentUrl.Find(KFileUrlPrefix) ) ? - aCurrentMode : EAppLaunchFromInternet;*/ - } - -TInt AppLauncherForCSXH::CheckMsgParams(const TDesC& aUrl) - { - /* - The following are valid cases - app://vsa@localhost/APP_UID/VIEW_UID - app://vsa@localhost/APP_UID/VIEW_UID/MSG_UID/Parameters - app://cmd@localhost/APP_NAME/APP_UID - app://cmd@localhost/APP_NAME/APP_UID/MSG_UID/Parameters - - That is, it should have exactly 4 backslashes or - >= 6 backslashes (considering the possibility that parameters - can have embedded backslashes) - */ - TBuf backSlash(KBackSlash); - TInt count = 0; - - for(TInt i = 0 ; i < aUrl.Length() ; ++i) - { - if(KErrNotFound != backSlash.Find(&aUrl[i],KBackSlashLength)) - ++count; - } - - if(count == 4) - return EParamsNoMsg; - else if (count >=6) - return EParamsWithMsg; - else - return EParamsInvalid; - } - -void AppLauncherForCSXH::ExtractTwoParams(const TDesC& aUrl) - { - /*Will be called for the following cases - app://vsa@localhost/APP_UID/VIEW_UID - app://cmd@localhost/APP_NAME/APP_UID - */ - iParam1.Copy(KEmptyString); - iParam2.Copy(KEmptyString); - - TBuf backSlash(KBackSlash); - TInt count = 0; - TInt pos; - - for(pos = 0; pos < aUrl.Length() ; ++pos) - { - if(KErrNotFound != backSlash.Find(&aUrl[pos],KBackSlashLength)) - ++count; - if(count == KBackSlashesInPrefix) - break; - } - TPtrC16 url = aUrl.Mid(pos + 1); - pos = url.Find(KBackSlash); - iParam1 = url.Left(pos); - iParam2 = url.Mid(pos + 1); - } - -void AppLauncherForCSXH::ExtractFourParams(const TDesC& aUrl) - { - /*Will be called for the following cases - app://vsa@localhost/APP_UID/VIEW_UID/MSG_UID/Parameters - app://cmd@localhost/APP_NAME/APP_UID/MSG_UID/Parameters - */ - iParam1.Copy(KEmptyString); - iParam2.Copy(KEmptyString); - iParam3.Copy(KEmptyString); - iParam4.Copy(KEmptyString); - - TBuf backSlash(KBackSlash); - TInt count = 0; - TInt pos; - - for(pos = 0; pos < aUrl.Length() ; ++pos) - { - if(KErrNotFound != backSlash.Find(&aUrl[pos],KBackSlashLength)) - ++count; - if(count == KBackSlashesInPrefix) - break; - } - - TPtrC16 url = aUrl.Mid(pos + 1); - pos = url.Find(KBackSlash); - iParam1 = url.Left(pos); - - TPtrC16 url2 = url.Mid(pos + 1); - pos = url2.Find(KBackSlash); - iParam2 = url2.Left(pos); - - TPtrC16 url3 = url2.Mid(pos + 1); - pos = url3.Find(KBackSlash); - iParam3 = url3.Left(pos); - - iParam4 = url3.Mid(pos+1); - } - -void AppLauncherForCSXH::GetUid(TPtrC aUid, TInt32& aResult) - { - TInt hexPos = aUid.Find(_L("x")); - if(KErrNotFound == hexPos) - TLex(aUid).Val(aResult); - else - { - TPtrC16 uidt = aUid.Mid(hexPos+1); - TInt64 res; - //During this operation sometimes values exceed TInt32, but the end result is always - //fits into TInt32 - TLex(uidt).Val(res,EHex); - aResult = res; - } - } - -void AppLauncherForCSXH::LaunchBrowserNGL(const TDesC& aUrl) - { - _LIT( KBrowserCmdFetchUrl, "4 " ); - HBufC* param = HBufC::NewLC( KBrowserCmdFetchUrl().Length() + - aUrl.Length() ); - TPtr paramPtr = param->Des(); - paramPtr.Copy( KBrowserCmdFetchUrl ); - paramPtr.Append( aUrl ); - - if(!SendMsgToBrowserNGL(param)) - { - RApaLsSession appArcSession; - User::LeaveIfError( appArcSession.Connect() ); - CleanupClosePushL( appArcSession ); - - TThreadId id; - User::LeaveIfError - ( - appArcSession.StartDocument(*param,KUidBrowserApplication,id ) - ); - CleanupStack::PopAndDestroy( &appArcSession ); - } - - CleanupStack::PopAndDestroy( param ); - } - -TBool AppLauncherForCSXH::SendMsgToBrowserNGL(const HBufC* aUrl) - { - TApaTaskList taskList(CCSXHAppUi::GetInstance()->GetWsSession()); - TApaTask task = taskList.FindApp(KUidBrowserApplication); - if(task.Exists()) - { - // 8-bit buffer is required. - HBufC8* param8 = HBufC8::NewLC( aUrl->Length() ); - param8->Des().Copy( *aUrl ); - task.SendMessage( TUid::Uid( 0 ), *param8 ); // Uid is not used - CleanupStack::PopAndDestroy( param8 ); - return ETrue; - } - else - return EFalse; - } - -void AppLauncherForCSXH::StartTimer(TCallBack aCallBack) - { - if( iTimer->IsActive() ) - { - iTimer->Cancel(); - } - - iTimer->Start( - TTimeIntervalMicroSeconds32( KKeyBlockTime ), - TTimeIntervalMicroSeconds32( KKeyBlockTime ), - aCallBack ); - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/src/CSXH.cpp --- a/csxhelp/src/CSXH.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -/* -* 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: -* -*/ - - -#include "CSXHApplication.h" -#include - -#ifdef __UI_FRAMEWORKS_V2__ - -// Create an application, and return a pointer to it -CApaApplication* NewApplication() - { - return new CCSXHApplication; - } - -TInt E32Main() - { - return EikStart::RunApplication(NewApplication); - } - -/////////////////////////////////////////////////////////////////////////////// -// -// The following is required for wins on EKA1 (using the exedll target) -// -#if defined(__WINS__) && !defined(EKA2) -EXPORT_C TInt WinsMain(TDesC* aCmdLine) - { - return EikStart::RunApplication(NewApplication, aCmdLine); - } - -TInt E32Dll(TDllReason) - { - return KErrNone; - } -#endif - -#else // __UI_FRAMEWORKS_V2__ - -// Create an application, and return a pointer to it -EXPORT_C CApaApplication* NewApplication() - { - return new CCSXHApplication; - } - -// DLL entry point, return that everything is ok -GLDEF_C TInt E32Dll(TDllReason) - { - return KErrNone; - } - -#endif // __UI_FRAMEWORKS_V2__ - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/src/CSXHAppUi.cpp --- a/csxhelp/src/CSXHAppUi.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,541 +0,0 @@ -/* -* 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 definition -* -*/ - - -#include "CSXHAppUi.h" -#include "CSXHGenericView.h" -#include "CSXHHtmlTopicView.h" -#include "CSXHLegacyTopicView.h" -#include "CsHelp.hrh" -#include -#include "CSXHAppUi.h" -#include "CSXHDocument.h" - -#include "CSXHHelpDataBase.h" -#include "CSXHViewIDs.h" - -#include -#include -#include -#include -#include -#include - -#include "csxhconstants.h" - -#ifdef FF_HELP_TUTORIAL_MERGE -#include - -#if defined(_DEBUG) && defined(__WINS__) -#include -#include -_LIT(KLogDir, "csxh"); -_LIT(KLogFile, "csxh.txt"); -inline void FPrint(const TRefByValue aFmt, ...) - { - VA_LIST list; - VA_START(list,aFmt); - RFileLogger::WriteFormat(KLogDir, KLogFile, EFileLoggingModeAppend, aFmt, list); - } -#define FLOG(a) {FPrint(a);} -#define FLOGF FPrint -#else //_DEBUG -#define FLOG(a) -#define FLOGF -#endif //_DEBUG -#endif // FF_HELP_TUTORIAL_MERGE -CCSXHAppUi* CCSXHAppUi::iInstance = NULL; - -// ConstructL is called by the application framework -void CCSXHAppUi::ConstructL() - { -#ifndef __SERIES60_30__ - BaseConstructL(EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible ); -#else - BaseConstructL(EAknEnableSkin); -#endif - -#ifdef FF_HELP_TUTORIAL_MERGE - LoadTutorialService(); -#endif // FF_HELP_TUTORIAL_MERGE - SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort | CAknAppUiBase::EDisableSendKeyLong ); - iTOC1View = CCSXHGenericView::NewL(KCSXHToc1ViewID,R_CSXH_TOC1); - AddViewL(iTOC1View); - - iTOC2View = NULL; - iKywdTOC1View = NULL; - iKywdTOC2View = NULL; - iHtmlTopicView = NULL; - iLegacyTopicView = NULL; - iLegacyContextTopicView = NULL; - - SetDefaultViewL(*iTOC1View); - - iRuntimeWatcher = CCSXHRuntimeAppWatcher::NewL(); - iRuntimeWatcher->SetObserver( this ); - iRuntimeWatcher->Start(); -#ifdef _DEBUG - RDebug::Print( _L("Help app launched") ); -#endif - } - -CCSXHAppUi::CCSXHAppUi() - { - iInstance = this; - } - -CCSXHAppUi::~CCSXHAppUi() - { -#ifdef FF_HELP_TUTORIAL_MERGE - - if(iServiceHandler) - { - delete iServiceHandler; - } - -#endif // FF_HELP_TUTORIAL_MERGE -#ifdef _DEBUG - RDebug::Print(_L("Help app ended")); -#endif - if ( iRuntimeWatcher ) - delete iRuntimeWatcher; - - } - -// -------------------------------------------------------------------------- -// Message Handler -// -------------------------------------------------------------------------- -void CCSXHAppUi::HandleCommandL(TInt aCommand) - { - switch(aCommand) - { - case EEikCmdExit: - case EAknSoftkeyExit: - case EAknSoftkeyClose: - Exit(); - break; - - case ECSXHOpenTopicText: - case ECSXHOpenItemPropagated: - case ECSXHOpenItem: - { - CAknInputBlock* inputBlock = CAknInputBlock::NewLC(); - ActivateDisplayTopicViewL(); - CleanupStack::PopAndDestroy( inputBlock ); - } - break; - case ECSXHSearchText: - { - CCSXHDocument* doc = static_cast(Document()); - doc->SetDisplayTopic(doc->GetHelpDataBase()->GetKywdTopics()); - ActivateDisplayTopicViewL(); - } - break; - default: - break; - } - } -void CCSXHAppUi::InitDisplayTopicViewL(TUid aViewID) - { - if(aViewID == KCSXHToc1ViewID) - return; - - - if(aViewID == KCSXHContextLegacyTopicViewID && iLegacyContextTopicView == NULL) - { - iLegacyContextTopicView = CCSXHLegacyTopicView::NewL (KCSXHContextLegacyTopicViewID, - R_CSHELP_TOPICFORCONTEXT, - ClientRect()); - AddViewL(iLegacyContextTopicView); - } - else if(aViewID == KCSXHToc2ViewID && iTOC2View == NULL) - { - iTOC2View = CCSXHGenericView::NewL(KCSXHToc2ViewID,R_TOPICLIST); - AddViewL(iTOC2View); - } - else if(aViewID == KCSXHKywdToc1ViewID && iKywdTOC1View == NULL) - { - iKywdTOC1View = CCSXHGenericView::NewL(KCSXHKywdToc1ViewID,R_KYWDTOC1LIST); - AddViewL(iKywdTOC1View); - } - else if(aViewID == KCSXHKywdToc2ViewID && iKywdTOC2View == NULL) - { - iKywdTOC2View = CCSXHGenericView::NewL(KCSXHKywdToc2ViewID,R_KYWDTOC2LIST); - AddViewL(iKywdTOC2View); - } - else if(aViewID == KCSXHLegacyTopicViewID && iLegacyTopicView == NULL) - { - iLegacyTopicView = CCSXHLegacyTopicView::NewL(KCSXHLegacyTopicViewID, - R_TOPICTEXTLIST,ClientRect()); - AddViewL(iLegacyTopicView); - } - - else if(aViewID == KCSXHContextHtmlTopicViewID ) - { - if(!iHtmlTopicView) - { - iHtmlTopicView = CCSXHHtmlTopicView::NewL(KCSXHHtmlTopicViewID, - R_CSHELP_HTMLTOPICFORCONTEXT, - ClientRect()); - AddViewL(iHtmlTopicView); - } - else - { - //View is already created update the softkeys to Options and Close - iHtmlTopicView->SetViewTypeL(CCSXHHtmlTopicView::EContextHtmlView); - } - } - else if(aViewID == KCSXHHtmlTopicViewID ) - { - if(!iHtmlTopicView) - { - iHtmlTopicView = CCSXHHtmlTopicView::NewL(KCSXHHtmlTopicViewID, - R_CSHELP_HTMLTOPICVIEW, - ClientRect()); - AddViewL(iHtmlTopicView); - } - else - { - //View is already created update the softkeys to Options and Back - iHtmlTopicView->SetViewTypeL(CCSXHHtmlTopicView::EHtmlView); - } - } - } -// -------------------------------------------------------------------------- -// Activates the view corresponding to the topic to be displayed -// It also sets for recreating the container dending on the view to be -// activated, -// 1) Search Pane in Search Result View will be cleared if user -// opens the Search View. -// 2)Search Pane in Application Topics view will be cleared, if user opens -// a)Help Contents View -// b)Search View -// c)Context Senisitive view -// -------------------------------------------------------------------------- -void CCSXHAppUi::ActivateDisplayTopicViewL() - { - CCSXHDocument* doc = static_cast(Document()); - TUid viewId = doc->GetDisplayTopic()->GetViewID(); - InitDisplayTopicViewL(viewId); - - if(viewId == KCSXHKywdToc1ViewID ) - { - if(iKywdTOC2View) - iKywdTOC2View->ResetContainer(); - if(iTOC2View) - iTOC2View->ResetContainer(); - } - else if(viewId == KCSXHToc1ViewID || - viewId == KCSXHContextHtmlTopicViewID || - viewId == KCSXHContextLegacyTopicViewID ) - { - if(iTOC2View) - iTOC2View->ResetContainer(); - } -/* else if(viewId == KCSXHKywdToc1ViewID) - { - doc->InitProgressBarL(); - } -*/ - if(viewId == KCSXHContextHtmlTopicViewID) - viewId = KCSXHHtmlTopicViewID; - ActivateLocalViewL(viewId); - } -void CCSXHAppUi::HandleForegroundEventL(TBool aForeground) - { - // Call Base class method - CAknAppUi::HandleForegroundEventL(aForeground); - - if(!aForeground && iView && - iView->Id() != KCSXHHtmlTopicViewID - && iHtmlTopicView) - { - //put NUll first in for bug ESXU-7JA9NS - iHtmlTopicView = NULL; - // We have lost the focus - //Check if the HTML view is the last active view. If it not delete it - //to free the memory used by the browser control - RemoveView(KCSXHHtmlTopicViewID); - //delete iHtmlTopicView; - } - } -// -------------------------------------------------------------------------- -// It sets a flag in the View for recreating the container -// -------------------------------------------------------------------------- -void CCSXHAppUi::ResetTOC2ViewContainer() - { - if(iTOC2View) - iTOC2View->ResetContainer(); - } -// -------------------------------------------------------------------------- -// Context sensitive help launch handling. Help is not running -// -------------------------------------------------------------------------- -TBool CCSXHAppUi::ProcessCommandParametersL(TApaCommand aCommand, - TFileName& /* aDocumentName */, - const TDesC8& aTail) - { - if (aCommand == EApaCommandOpen) - { // when another app launches the help app - HandleContextSensitiveLaunchL(aTail); - } - return EFalse; - } - -// -------------------------------------------------------------------------- -// Context sensitive help launch handling. Help is already running -// -------------------------------------------------------------------------- -MCoeMessageObserver::TMessageResponse CCSXHAppUi::HandleMessageL( - TUint32 aClientHandleOfTargetWindowGroup, - TUid aMessageUid, - const TDesC8& aMessageParameters) - { - if (aMessageUid == KHlpAppWsMsg) - { - HandleContextSensitiveLaunchL(aMessageParameters); - return EMessageHandled; - } - return CAknViewAppUi::HandleMessageL(aClientHandleOfTargetWindowGroup, - aMessageUid, - aMessageParameters); - } - -// -------------------------------------------------------------------------- -// Opens the context topic. If no topic is avbl then toc1 view is activated -// -------------------------------------------------------------------------- -void CCSXHAppUi::HandleContextSensitiveLaunchL(const TDesC8& aContext ) - { - CCSXHDocument* doc = static_cast(Document()); - - if(doc->SetContextTopicAsDisplayTopicL(aContext)) - { - TRAPD(res,ActivateDisplayTopicViewL()); - if(res == KErrNone) - return; - } - - //No topic avaliable, activate the TOC1 View & Pop a message - doc->SetDisplayTopic(doc->GetHelpDataBase()->GetMainTopics()); - ActivateDisplayTopicViewL(); - - HBufC* ErrorMessage = iCoeEnv->AllocReadResourceLC(R_TYPE_NO_HELP_TOPICS); - CAknGlobalNote* note = CAknGlobalNote::NewLC(); - note->ShowNoteL(EAknGlobalInformationNote, *ErrorMessage); - - CleanupStack::PopAndDestroy(note); - CleanupStack::PopAndDestroy(ErrorMessage); - } - -CCSXHAppUi* CCSXHAppUi::GetInstance() - { - return iInstance; - } -RWsSession& CCSXHAppUi::GetWsSession() - { - return iInstance->iCoeEnv->WsSession(); - } -CCoeEnv* CCSXHAppUi::GetCoeEnv() - { - return iInstance->iCoeEnv; - } - -// -------------------------------------------------------------------------- -// Launches an application based on the Application UID and a View ID -// -------------------------------------------------------------------------- -void CCSXHAppUi::AppLaunchL(TInt32& aAppId,TInt32& aVId) - { - //Convert from TInt to TUid - TUid KtestAppUid( TUid::Uid( aAppId ) ); - TUid KtestViewUid( TUid::Uid( aVId ) ); - - //Launch Application - TVwsViewId AppLaunch(KtestAppUid,KtestViewUid); - ActivateViewL(AppLaunch); - } - -// -------------------------------------------------------------------------- -// Launches an application based on the Application UID and a View ID -// -------------------------------------------------------------------------- -void CCSXHAppUi::AppLaunchL(TInt32& aAppId,TInt32& aVId, - TInt32& aMsgId, - const TBuf& aParams) - { - //Convert from TInt to TUid - TUid AplnUid( TUid::Uid( aAppId ) ); - TUid AplnViewUid( TUid::Uid( aVId ) ); - TUid MsgUid( TUid::Uid( aMsgId ) ); - - //Launch Application - TVwsViewId AppLaunch(AplnUid,AplnViewUid); - - HBufC8* params = CnvUtfConverter::ConvertFromUnicodeToUtf8L(aParams); - CleanupStack::PushL(params); - ActivateViewL(AppLaunch,MsgUid,*params); - CleanupStack::PopAndDestroy(params); - } - -void CCSXHAppUi::PropagateResourceChange(TInt aType) - { - iTOC1View->ResourceChangeHdl(aType); - if(iKywdTOC1View) - iKywdTOC1View->ResourceChangeHdl(aType); - if(iKywdTOC2View) - iKywdTOC2View->ResourceChangeHdl(aType); - if(iTOC2View) - iTOC2View->ResourceChangeHdl(aType); - if(iHtmlTopicView) - iHtmlTopicView->ResourceChangeHdl(aType); - if(iLegacyTopicView) - iLegacyTopicView->ResourceChangeHdl(aType); - if(iLegacyContextTopicView) - iLegacyContextTopicView->ResourceChangeHdl(aType); - } - -void CCSXHAppUi::RuntimeUpdateIndex() - { - CAknNoteDialog* dlg = new ( ELeave ) CAknNoteDialog(); - dlg->SetTimeout( CAknNoteDialog::EShortTimeout ); - dlg->SetTone( CAknNoteDialog::ENoTone ); - dlg->ExecuteLD( R_CSHELP_INSTALL_UNINSTALL_NOTE ); - } - - -#ifdef FF_HELP_TUTORIAL_MERGE -// -------------------------------------------------------------------------- -// CCSXHAppUi::NewParamListLC -// Create paramlist for provider. -// -------------------------------------------------------------------------- -CAiwGenericParamList* CCSXHAppUi::NewParamListLC( - const TCoeHelpContext& aContext) - { - TAiwVariant variant1; - TAiwVariant variant2; - variant1.Set(aContext.iMajor); - TAiwGenericParam param1(EGenericParamHelpItem, variant1); - variant2.Set(aContext.iContext); - TAiwGenericParam param2(EGenericParamHelpItem, variant2); - CAiwGenericParamList* list = CAiwGenericParamList::NewLC(); - list->AppendL(param1); - list->AppendL(param2); - return list; - } - -// -------------------------------------------------------------------------- -// CCSXHAppUi::LoadTutorialService -// Load service handler and attach interest for using tutorial service command. -// -------------------------------------------------------------------------- -void CCSXHAppUi::LoadTutorialService() - { - iServiceHandler = CAiwServiceHandler::NewL(); - - // Create AIW interest - RCriteriaArray interest; - - iServiceHandler->AttachL(R_AIWTUTORIALAPP_INTEREST); - - //Tutorial AIW provider exists or not - iTutorialExists = EFalse; - iServiceHandler->GetInterest(interest); - if(interest.Count() > 0) - { - FLOGF(_L("CCSXHAppUi::LoadTutorialService() - interest.Count()=%d"), interest.Count()); - CAiwCriteriaItem* testCriteria = interest[0]; - if(iServiceHandler->NbrOfProviders(interest[0]) > 0) - { - FLOGF(_L("CCSXHAppUi::LoadTutorialService() - NbrOfProviders()=%d"), iServiceHandler->NbrOfProviders(interest[0])); - iTutorialExists = ETrue; - } - } - interest.Close(); - } - -// -------------------------------------------------------------------------- -// CCSXHAppUi::CallTutorialAiwProviderL -// If tutorial exists,call play presentation command. -// -------------------------------------------------------------------------- -void CCSXHAppUi::CallTutorialAiwProviderL() - { - CAiwGenericParamList* inlist = NewParamListLC( iTCoeHelpContext ); - - iServiceHandler->ExecuteServiceCmdL( KPlayPresentation, - *inlist, - iServiceHandler->OutParamListL() ); - CleanupStack::PopAndDestroy(); //inlist - } - -// -------------------------------------------------------------------------- -// CCSXHAppUi::IsApplicationPresentInTutorialL -// If tutorial exists,identify the presentation needed exist or not. -// -------------------------------------------------------------------------- -TBool CCSXHAppUi::IsApplicationPresentInTutorialL() - { - TBool Result = EFalse; - //__ASSERT_DEBUG( iTutorialExists, User::Panic(_L("TutAiwHlp"),-1)); - if(iTutorialExists ) - { - CAiwGenericParamList* inlist = NewParamListLC(iTCoeHelpContext) ; - - CAiwGenericParamList* outlist = CAiwGenericParamList::NewLC(); - - TUid maj = iTCoeHelpContext.iMajor; - TCoeContextName con = iTCoeHelpContext.iContext; - - FLOGF(_L("CCSXHAppUi::IsApplicationPresentInTutorialL() - 0x%08x %S"),maj,&con); - - //checks if the application specific presentation exists. - //Parameter list inlist must contain AppUid which refers to presentation. - // The other parameters are not used. - //The result is returned in outlist parameter list. - //First parameter in the outlist contains ETrue if there is presentation - //available and EFalse if there is not. - iServiceHandler->ExecuteServiceCmdL( KPresentationExists, - *inlist, *outlist ); - - FLOG(_L("CCSXHAppUi::IsApplicationPresentInTutorialL() - cp-1")); - - //__ASSERT_DEBUG( outlist->Count() > 0, User::Panic(_L("TutAiwHlpO"),-1)); - __ASSERT_DEBUG(outlist->Count(), User::Panic(_L("outlist"),0)); - - FLOG(_L("CCSXHAppUi::IsApplicationPresentInTutorialL() - cp-2")); - if( outlist->Count() > 0) - { - FLOG(_L("CCSXHAppUi::IsApplicationPresentInTutorialL() - cp-2.4")); - TAiwGenericParam param = (*outlist)[0]; - TAiwVariant variant = param.Value(); - TInt32 val(0); - - if(variant.Get(val) && val) - { - Result = ETrue; - } - FLOG(_L("CCSXHAppUi::IsApplicationPresentInTutorialL() - cp-3")); - __ASSERT_DEBUG( variant.Get(val) && val, User::Panic(_L("TutAiwHlpV"),-1)); - } - CleanupStack::PopAndDestroy(); //outlist - CleanupStack::PopAndDestroy(); //inlist - } - return Result; - } - -// -------------------------------------------------------------------------- -// CCSXHAppUi::SetHelpContext -// If tutorial exists,identify the presentation needed exist or not. -// -------------------------------------------------------------------------- -void CCSXHAppUi::SetHelpContext(TCoeHelpContext aTCoeHelpContext) - { - iTCoeHelpContext = aTCoeHelpContext; - } -#endif // FF_HELP_TUTORIAL_MERGE diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/src/CSXHApplication.cpp --- a/csxhelp/src/CSXHApplication.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -/* -* 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: CCSXHApplication class definition -* -*/ - - -#include "CSXHDocument.h" -#include "CSXHApplication.h" - -// UID for the application, this should correspond to the uid defined in the mmp file -static const TUid KUidCSXHApp = {0x10005234}; - -CApaDocument* CCSXHApplication::CreateDocumentL() - { - // Create an CSXH document, and return a pointer to it - CApaDocument* document = CCSXHDocument::NewL(*this); - return document; - } - -TUid CCSXHApplication::AppDllUid() const - { - // Return the UID for the CSXH application - return KUidCSXHApp; - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/src/CSXHDocument.cpp --- a/csxhelp/src/CSXHDocument.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,178 +0,0 @@ -/* -* 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: CCSXHDocument class definition -* -*/ - - -#include "CSXHDocument.h" -#include "CSXHAppUi.h" - -#include "CSXHHelpDataBase.h" -#include "CSXHKywdTOC1.h" -#include "CSXHViewIDs.h" -#include - -#include -#include - - -// Standard Symbian OS construction sequence -CCSXHDocument* CCSXHDocument::NewL(CEikApplication& aApp) - { - CCSXHDocument* self = NewLC(aApp); - CleanupStack::Pop(self); - return self; - } - -CCSXHDocument* CCSXHDocument::NewLC(CEikApplication& aApp) - { - CCSXHDocument* self = new (ELeave) CCSXHDocument(aApp); - CleanupStack::PushL(self); - return self; - } - -CCSXHDocument::CCSXHDocument(CEikApplication& aApp) : CAknDocument(aApp) - {// no implementation required - } - -CCSXHDocument::~CCSXHDocument() - { - delete iHelpDataBase; - } - -CEikAppUi* CCSXHDocument::CreateAppUiL() - { - // Create the application user interface, and return a pointer to it, - // the framework takes ownership of this object. ConstructL of the AppUi - // object will be called by the Application Framework - iHelpAppUi = new (ELeave) CCSXHAppUi; - - iHelpDataBase = CCSXHHelpDataBase::NewL(CCSXHAppUi::GetCoeEnv(),AppCaption()); - iDisplayTopic = iHelpDataBase->GetMainTopics(); - iPrevTopic = NULL; - - iProgressDialog = NULL; - - return iHelpAppUi; - } -// -------------------------------------------------------------------------- -// Sets the topic to be displayed next -// -------------------------------------------------------------------------- -void CCSXHDocument::SetDisplayTopic(CCSXHHelpContentBase* aDisplayTopic) - { - iDisplayTopic = aDisplayTopic; - iPrevTopic = NULL; - - if(iDisplayTopic == NULL) - iDisplayTopic = iHelpDataBase->GetMainTopics(); - } -// -------------------------------------------------------------------------- -// Sets the topic to be displayed next and the previous topic -// The previous topic is needed to highlight the correct item in the listbox -// -------------------------------------------------------------------------- -void CCSXHDocument::SetDisplayAndPrevTopic(CCSXHHelpContentBase* aDisplayTopic) - { - iPrevTopic = iDisplayTopic; - iDisplayTopic = aDisplayTopic; - - if(iDisplayTopic == NULL) - iDisplayTopic = iHelpDataBase->GetMainTopics(); - - } - -void CCSXHDocument::SendMessageToAppUiL(TInt aCommand) - { - iHelpAppUi->ProcessCommandL(aCommand); - } - -// -------------------------------------------------------------------------- -// Sets the context topic as the next topic to be displayed -// -------------------------------------------------------------------------- -TBool CCSXHDocument::SetContextTopicAsDisplayTopicL(const TDesC8& aContextMessage) - { - CCSXHHelpContentBase* topic = iHelpDataBase->GetContextTopic(aContextMessage); - if(topic) - { - SetDisplayTopic(topic); - return ETrue; - } - return EFalse; - } -CCSXHHelpContentBase* CCSXHDocument::GetHtmlTopicForUrlL(const TDesC& url) - { - return iHelpDataBase->GetHtmlTopicForUrlL(url); - } - -void CCSXHDocument::InitProgressBarL() - { - - iProgressDialog = new(ELeave)CAknProgressDialog( - REINTERPRET_CAST(CEikDialog**,&iProgressDialog)); - iProgressDialog->PrepareLC(R_CSHELP_SEARCH_PROGRESS_NOTE); - - CEikProgressInfo* pBar = iProgressDialog->GetProgressInfoL(); - iTotalKeywordsInResultView = iHelpDataBase->InitGenerateKeywordTOC2ListL( - STATIC_CAST(CCSXHKywdTOC1*,iDisplayTopic)); - pBar->SetFinalValue(iTotalKeywordsInResultView); - iIdle = CIdle::NewL(CActive::EPriorityLow); - TCallBack callback(CallBack, this); - iIdle->Start(callback); - iProgressDialog->RunDlgLD(CAknNoteDialog::ENoTone); - } - -void CCSXHDocument::FreeProgressBarL() - { - delete iIdle; - iIdle = NULL; - if(iProgressDialog) - { - iProgressDialog->ProcessFinishedL(); - iProgressDialog = NULL; - } - } - -TInt CCSXHDocument::CallBack(TAny* aThis) - { - TInt err(KErrNone); - TBool res(EFalse); - CCSXHDocument* self = STATIC_CAST(CCSXHDocument*, aThis); - TRAP( err, res = self->DoCallBackL() ); - if(err != KErrNone ) - { - TRAP_IGNORE(self->FreeProgressBarL()); - } - return res; - } -TBool CCSXHDocument::DoCallBackL() - { - if(!iProgressDialog) - { - delete iIdle; - iIdle = NULL; - return EFalse; - } - - CEikProgressInfo* pBar= iProgressDialog->GetProgressInfoL(); - pBar->SetAndDraw(iHelpDataBase->GetKeywordSearchCount()); - - if(iHelpDataBase->GetKeywordSearchCount() >= iTotalKeywordsInResultView) - { - FreeProgressBarL(); - return EFalse; - } - - return ETrue; - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/src/CSXHGenericContainer.cpp --- a/csxhelp/src/CSXHGenericContainer.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,383 +0,0 @@ -/* -* 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: CCSXHGenericContainer class definition -* -*/ - - -#include "CSXHGenericContainer.h" -#include "CSXHGenericView.h" -#include "CSXHDocument.h" -#include "CSXHAppUi.h" -#include "CSXHHelpDataBase.h" -#include "CSXHGenericTOC1.h" -#include "CSXHGenericTOC2.h" - -#ifdef FF_HELP_TUTORIAL_MERGE -#include "CSXHHtmlTOC2.h" -#endif - -#include "CsHelp.hrh" -#include "csxhconstants.h" - -#include "CSXHViewIDs.h" -#include -#include -#include -#include - -const TInt KFindNameLength = 40; -const TInt KComponentCount = 2; - -#ifdef FF_HELP_TUTORIAL_MERGE -CCSXHGenericContainer* CCSXHGenericContainer::NewL(const TRect& aRect,CCSXHDocument& aDocument,CCSXHGenericView* aView) - { - CCSXHGenericContainer* self = CCSXHGenericContainer::NewLC(aRect,aDocument,aView); - CleanupStack::Pop(self); - return self; - } -#else -CCSXHGenericContainer* CCSXHGenericContainer::NewL(const TRect& aRect,CCSXHDocument& aDocument) - { - CCSXHGenericContainer* self = CCSXHGenericContainer::NewLC(aRect,aDocument); - CleanupStack::Pop(self); - return self; - } -#endif - -#ifdef FF_HELP_TUTORIAL_MERGE -CCSXHGenericContainer* CCSXHGenericContainer::NewLC(const TRect& aRect,CCSXHDocument& aDocument,CCSXHGenericView* aView) - { - CCSXHGenericContainer* self = new(ELeave) CCSXHGenericContainer(aDocument,aView); - CleanupStack::PushL(self); - self->ConstructL(aRect); - return self; - } -#else -CCSXHGenericContainer* CCSXHGenericContainer::NewLC(const TRect& aRect,CCSXHDocument& aDocument) - { - CCSXHGenericContainer* self = new(ELeave) CCSXHGenericContainer(aDocument); - CleanupStack::PushL(self); - self->ConstructL(aRect); - return self; - } -#endif - -#ifdef FF_HELP_TUTORIAL_MERGE -CCSXHGenericContainer::CCSXHGenericContainer(CCSXHDocument& aDocument,CCSXHGenericView* aView) : -iDocument(aDocument),iView(aView) -#else -CCSXHGenericContainer::CCSXHGenericContainer(CCSXHDocument& aDocument) : iDocument(aDocument) -#endif - {//No implementation required - } - -CCSXHGenericContainer::~CCSXHGenericContainer() - { - delete iListBox; - delete iFindPane; - } - -void CCSXHGenericContainer::ConstructL(const TRect& aRect) - { - CreateWindowL(); - - CreateAndPopulateListL(); - - iListBox->SetListBoxObserver(this); - SetRect(aRect); - ActivateL(); - } -// -------------------------------------------------------------------------- -// Does the following -// 1) Creates and populates the listbox -// 2) Highlights an item in the listbox -// 3) Check for MSK -// -------------------------------------------------------------------------- -void CCSXHGenericContainer::CreateAndPopulateListL() - { - // First phase construction - iListBox = new (ELeave) CAknSingleStyleListBox; - iListBox->SetContainerWindowL(*this); - - iListBox->ConstructL(this, 0); - iListBox->CreateScrollBarFrameL(ETrue); - iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( - CEikScrollBarFrame::EOff, - CEikScrollBarFrame::EAuto); - iListBox->ItemDrawer()->ColumnData()->EnableMarqueeL(ETrue); - - CTextListBoxModel* model = iListBox->Model(); // not taking ownership - model->SetOwnershipType (ELbmOwnsItemArray); - CDesCArray* testArray = STATIC_CAST(CDesCArray*, model->ItemTextArray()); - - CCSXHGenericTOC1* displayTopic = STATIC_CAST(CCSXHGenericTOC1*,iDocument.GetDisplayTopic()); - - displayTopic->FillChildDataL(testArray); - - //Find panel Begin - CAknSearchField::TSearchFieldStyle flags(CAknSearchField::ESearch); - iFindPane = CAknSearchField::NewL(*this, flags, - NULL,KFindNameLength); - - STATIC_CAST(CAknFilteredTextListBoxModel*, iListBox->Model()) - ->CreateFilterL(iListBox, iFindPane); - - STATIC_CAST(CAknFilteredTextListBoxModel*, iListBox->Model()) - ->Filter()->HandleOfferkeyEventL(); - //Corrections to TSW Error: KMAI-6WNACA with New UI CR: EVIA-6XAJ46 - if (FeatureManager::FeatureSupported(KFeatureIdJapanese) && - (User::Language() == ELangJapanese)) - { - iFindPane->Editor().SetAknEditorInputMode(EAknEditorHiraganaKanjiInputMode); - } - else - { - iFindPane->Editor().SetAknEditorCurrentInputMode(EAknEditorTextInputMode); - } - - HightLightItemL(); - } - -void CCSXHGenericContainer::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aListBoxEvent) - { - switch ( aListBoxEvent ) - { - case MEikListBoxObserver::EEventEnterKeyPressed: - case MEikListBoxObserver::EEventItemSingleClicked: -#ifdef FF_HELP_TUTORIAL_MERGE - if(IsShowTutorialItemSelectedL()) - { - CCSXHAppUi::GetInstance()->CallTutorialAiwProviderL(); - } - else - -#endif - { - iDocument.SendMessageToAppUiL( ECSXHOpenItemPropagated ); - } - - break; - default: - break;// do nothing with the rest of the events - } - } - -void CCSXHGenericContainer::SizeChanged() - { - iListBox->SetRect(Rect()); - AknFind::HandleFixedFindSizeChanged(this, iListBox, iFindPane); - } - -void CCSXHGenericContainer::FocusChanged(TDrawNow aDrawNow) - { - if (iListBox) - { - iListBox->SetFocus(IsFocused(), aDrawNow); - } - if ( iFindPane ) - { - iFindPane->SetFocus( IsFocused(), aDrawNow ); - } - } - -TInt CCSXHGenericContainer::CountComponentControls() const - { - return KComponentCount; - } - -CCoeControl* CCSXHGenericContainer::ComponentControl(TInt aIndex) const - { - switch (aIndex) - { - case 0: - return iListBox; - case 1: - return iFindPane; - default: - return NULL; - } - } - -void CCSXHGenericContainer::Draw(const TRect& aRect) const - { - CWindowGc& gc = SystemGc(); - gc.Clear(aRect); - } - -TKeyResponse CCSXHGenericContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType) - { - TKeyResponse result(EKeyWasNotConsumed); - - TBool needRefresh; - result = AknFind::HandleFindOfferKeyEventL(aKeyEvent, aType, - this, iListBox, iFindPane, EFalse, needRefresh); - CheckForMSK(); - if (result == EKeyWasNotConsumed) - { - result = iListBox->OfferKeyEventL (aKeyEvent, aType); - } - return result; - } - -void CCSXHGenericContainer::HandleResourceChange(TInt aType) - { - CCSXHAppUi::GetInstance()->PropagateResourceChange(aType); - - if (KAknSplitInputEnabled == aType || KAknSplitInputDisabled == aType) - { - // Bug fixing, SetFocus can't be called with these aType, it will lead to infinite loop in fep. - return; - } - - if ( IsFocused() ) - { - SetFocus( IsFocused(), EDrawNow ); - } - - } - -void CCSXHGenericContainer::HandleResourceChangeImpl(TInt aType) - { - if (aType == KEikDynamicLayoutVariantSwitch) - { - iListBox->HandleResourceChange(aType); - TRect mainRect; - SizeChanged(); - TRect statusPaneRect; - AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane,mainRect); - SetRect(mainRect); - DrawNow(); - } - else - { - CCoeControl::HandleResourceChange(aType); - } - } -// -------------------------------------------------------------------------- -// Sets the next topic to be displayed based on the selected item -// -------------------------------------------------------------------------- -void CCSXHGenericContainer::SetDisplayTopicL() - { - TInt index = iListBox->CurrentItemIndex(); - if(KErrNotFound == index) - return; - - TBuf selectedTOC2 = iListBox->Model()->ItemText(index); - selectedTOC2 = selectedTOC2.Mid(1); - - CCSXHGenericTOC1* displayTopic = STATIC_CAST(CCSXHGenericTOC1*,iDocument.GetDisplayTopic()); - if( displayTopic->GetChildL(selectedTOC2) ) - { - iDocument.SetDisplayAndPrevTopic(displayTopic->GetChildL(selectedTOC2)); - } - } - -TInt CCSXHGenericContainer::GetNumberOfListItems() - { - return iListBox->Model()->NumberOfItems(); - } - -void CCSXHGenericContainer::SetCurrentView(CCSXHGenericView* aView) - { - iView = aView; - } - -void CCSXHGenericContainer::HightLightItemL() - { - CCSXHHelpContentBase* prevTopic = iDocument.GetPrevTopic(); - if(!prevTopic) - return; - - TInt visibleItemcount = GetNumberOfListItems(); - for (TInt index = 0; index < visibleItemcount ; ++index ) - { - TBuf txt = iListBox->Model()->ItemText(index); - txt = txt.Mid(1);//remove the '/t' - if(txt.Compare(prevTopic->GetName()) == 0) - { - if(iListBox->CurrentItemIndex() != index) - iListBox->SetCurrentItemIndex(index); - return; - } - } - } - -void CCSXHGenericContainer::CheckForMSK() - { -#ifndef __SERIES60_30__ - if(AknLayoutUtils::MSKEnabled()) - { - if(iListBox->Model()->NumberOfItems()) - { - iView->SetMiddleSoftKey(ETrue); - } - else - { - iView->SetMiddleSoftKey(EFalse); - } - } -#endif - } - -#ifdef FF_HELP_TUTORIAL_MERGE -// -------------------------------------------------------------------------- -// CCSXHAppUi::IsShowTutorialItemSelectedL -// If the selected item is a tutorial item. -// -------------------------------------------------------------------------- -TBool CCSXHGenericContainer::IsShowTutorialItemSelectedL() - { - TBool bShowTutorial = EFalse; - //TODO: - // if keyword page supported tutorial, the comments should be opened - if( 0 != GetNumberOfListItems /*&& KCSXHKywdToc2ViewID != iView->Id() */) - { - TInt index = iListBox->CurrentItemIndex(); - if(KErrNotFound == index) - return bShowTutorial; - //Get Next View - TBuf selectedTOC2 = iListBox->Model()->ItemText(index); - - selectedTOC2 = selectedTOC2.Mid(1); - CCSXHGenericTOC1* displayTopic = STATIC_CAST(CCSXHGenericTOC1*, - iDocument.GetDisplayTopic()); - TUid NextViewId = displayTopic->GetChildL(selectedTOC2)->GetViewID(); - - //Check Tutorial is present for Application topic [TOC2] - if(NextViewId == KCSXHHtmlTopicViewID) - { - CCSXHHtmlTOC2* HTMLTOC2Ptr = STATIC_CAST(CCSXHHtmlTOC2*, - displayTopic->GetChildL(selectedTOC2)); - TFileName filename; - HTMLTOC2Ptr->GetHtmlUrlL( filename ); - if( KErrNotFound != filename.Find( KTutorialFileExtn )) - { - bShowTutorial = ETrue; - TCoeHelpContext helpContext; - HTMLTOC2Ptr->GetHelpContext(helpContext); - CCSXHAppUi::GetInstance()->SetHelpContext( helpContext ); - } - } - } - return bShowTutorial; - } - -#endif // FF_HELP_TUTORIAL_MERGE - - -void CCSXHGenericContainer::MakeVisible(TBool aVisible) - { - CCoeControl::MakeVisible(aVisible); - iListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(aVisible); - } diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/src/CSXHGenericView.cpp --- a/csxhelp/src/CSXHGenericView.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,251 +0,0 @@ -/* -* 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: CCSXHGenericView class definition -* -*/ - - -#include "CSXHGenericView.h" -#include "CSXHGenericContainer.h" -#include "CSXHAppUi.h" -#include "CSXHDocument.h" -#include -#include "CsHelp.hrh" - -#include "CSXHHelpContentBase.h" -#include "CSXHViewIDs.h" -#include "CSXHHelpDataBase.h" - -#include -#include -#include -#include - -#ifdef FF_HELP_TUTORIAL_MERGE - -#include -#include -#include -#include - -#endif // FF_HELP_TUTORIAL_MERGE - -CCSXHGenericView* CCSXHGenericView::NewL(const TUid& aUid, - const TInt& aFlags) - { - CCSXHGenericView* self = new(ELeave) CCSXHGenericView(aUid,aFlags); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } - -CCSXHGenericView::CCSXHGenericView(const TUid& aUid, const TInt& aFlags) - :iResetContainerInActivate(EFalse),iUid(aUid),iAppFlags(aFlags) - {//No Implementation required - } - -void CCSXHGenericView::ConstructL() - { - BaseConstructL(iAppFlags); - - } - -CCSXHGenericView::~CCSXHGenericView() - { - if(iContainer) - { - AppUi()->RemoveFromStack(iContainer); - delete iContainer; - } - } - -TUid CCSXHGenericView::Id() const - { - return iUid; - } - -// -------------------------------- -// Message Handler -// -------------------------------- -void CCSXHGenericView::HandleCommandL(TInt aCommand) - { - switch(aCommand) - { - case EAknSoftkeyBack: - { - CCSXHDocument* doc = static_cast(AppUi()->Document()); - if(iUid == KCSXHToc2ViewID) - doc->SetDisplayAndPrevTopic(doc->GetHelpDataBase()->GetMainTopics()); - else if(iUid == KCSXHKywdToc2ViewID) - doc->SetDisplayAndPrevTopic(doc->GetHelpDataBase()->GetKywdTopics()); - - AppUi()->HandleCommandL(ECSXHOpenItem); - } - break; - case ECSXHOpenItemPropagated: //Will be called for AppUi - iContainer->SetDisplayTopicL(); - break; - case ECSXHTOC1ListView: - { - CCSXHDocument* doc = static_cast(AppUi()->Document()); - doc->SetDisplayAndPrevTopic(doc->GetHelpDataBase()->GetMainTopics()); - AppUi()->HandleCommandL(ECSXHOpenItem); - } - break; - case ECSXHOpenItem: - case ECSXHOpenTopicText: -#ifdef FF_HELP_TUTORIAL_MERGE - - if(iContainer->IsShowTutorialItemSelectedL()) - { - if(CCSXHAppUi::GetInstance()->IsApplicationPresentInTutorialL()) - { - CCSXHAppUi::GetInstance()->CallTutorialAiwProviderL(); - } - else - { - HBufC* ErrorMessage = iCoeEnv->AllocReadResourceLC( - R_TYPE_NO_HELP_TOPICS); - CAknGlobalNote* note = CAknGlobalNote::NewLC(); - note->ShowNoteL(EAknGlobalInformationNote, *ErrorMessage); - - CleanupStack::PopAndDestroy(note); - CleanupStack::PopAndDestroy(ErrorMessage); - } - } - else - -#endif // FF_HELP_TUTORIAL_MERGE - { - iContainer->SetDisplayTopicL(); - AppUi()->HandleCommandL(aCommand); - } - break; - default: - AppUi()->HandleCommandL(aCommand); - break; - } - } -// -------------------------------------------------------------------------- -// Handler for view activation. If required the container object will be -// recreated. The recreation can be due to 1) Resetting the search pane -// 2) Changing the selection of the items in the list box 3) Repopulating the -// contents of the list box -// -------------------------------------------------------------------------- -void CCSXHGenericView::DoActivateL(const TVwsViewId& /*aPrevViewId*/,TUid,const TDesC8& ) - { - CCSXHDocument* doc = static_cast(AppUi()->Document()); - if(iResetContainerInActivate) - { - delete iContainer; - iContainer = NULL; - iResetContainerInActivate = EFalse; - } - if(!iContainer) - { - if(iUid == KCSXHKywdToc2ViewID) - doc->InitProgressBarL(); - -#ifdef FF_HELP_TUTORIAL_MERGE - iContainer = CCSXHGenericContainer::NewL(ClientRect(),*doc,this); -#else // !FF_HELP_TUTORIAL_MERGE - iContainer = CCSXHGenericContainer::NewL(ClientRect(),*doc); -#endif // FF_HELP_TUTORIAL_MERGE - - /*if(iUid == KCSXHKywdToc2ViewID) - doc->FreeProgressBarL();*/ - } - iContainer->HightLightItemL(); - iContainer->MakeVisible(ETrue); - iContainer->DrawNow(); - iContainer->SetMopParent(this); - //iContainer->SetRect(ClientRect()); - iContainer->SetCurrentView(this); - AppUi()->AddToStackL(*this, iContainer); - - if(iUid == KCSXHToc1ViewID || - iUid == KCSXHKywdToc1ViewID) - { - doc->GetHelpDataBase()->ClearAllTOC1Contents(); - doc->ClearPrevTopic(); - } - - iContainer->CheckForMSK(); - - //Set the title of the view - CEikStatusPane* sp = StatusPane(); - CAknTitlePane* title = STATIC_CAST(CAknTitlePane*, - sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle))); - title->SetTextL(doc->GetDisplayTopic()->GetName()); - } - -void CCSXHGenericView::DoDeactivate() - { - if(iContainer) - { - iContainer->MakeVisible(EFalse); - AppUi()->RemoveFromStack(iContainer); - } - } - -void CCSXHGenericView::ResetContainer() - { - iResetContainerInActivate = ETrue; - } -// -------------------------------------------------------------------------- -// Dynamically changing the items in the Options Menu -// -------------------------------------------------------------------------- - -void CCSXHGenericView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane) - { - if ( aResourceId == R_CSXH_MENU_TOPICLIST && - iContainer->GetNumberOfListItems()== 0 ) - { - aMenuPane->DeleteMenuItem(ECSXHOpenTopicText); - } - - if ( aResourceId == R_CSXH_MENU_KYWDTOC1LIST && - iContainer->GetNumberOfListItems()== 0 ) - { - aMenuPane->DeleteMenuItem(ECSXHOpenTopicText); - } - - if ( aResourceId == R_CSXH_MENU && - iContainer->GetNumberOfListItems()== 0 ) - { - aMenuPane->DeleteMenuItem(ECSXHOpenItem); - } - - if ( aResourceId == R_CSXH_MENU_KYWDTOC2LIST && - iContainer->GetNumberOfListItems()== 0 ) - { - aMenuPane->DeleteMenuItem(ECSXHOpenTopicText); - } - } -// -------------------------------------------------------------------------- -// MSK Handler Handling -// -------------------------------------------------------------------------- -void CCSXHGenericView::SetMiddleSoftKey(TBool aValue) - { - Cba()->MakeCommandVisible(ECSXHOpenTopicText,aValue); - Cba()->DrawDeferred(); - } -void CCSXHGenericView::ResourceChangeHdl(TInt aType) - { - if(iContainer) - iContainer->HandleResourceChangeImpl(aType); - } - - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/src/CSXHHtmlTopicContainer.cpp --- a/csxhelp/src/CSXHHtmlTopicContainer.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,591 +0,0 @@ -/* -* 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: CCSXHHtmlTopicContainer class definition -* -*/ - - -#include "CSXHHtmlTOC2.h" -#include "CSXHHtmlTOC1.h" -#include "CSXHDocument.h" -#include "CSXHAppUi.h" -#include "CSXHHtmlTopicView.h" -#include "CSXHViewIDs.h" -#include -#include "CsHelp.hrh" -#include "CSXHHtmlTopicContainer.h" -#include "AppLauncherForCSXH.h" -#include "csxhconstants.h" - - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -_LIT(KContentType,"text/html"); -_LIT(KCsstextToRemovePathinfo,""); - -// Standard construction sequence -CCSXHHtmlTopicContainer* CCSXHHtmlTopicContainer::NewL(const TRect& aRect,CCSXHDocument -&aDocument,CCSXHHtmlTopicView *aView) - { - CCSXHHtmlTopicContainer* self = CCSXHHtmlTopicContainer::NewLC(aRect,aDocument,aView); - CleanupStack::Pop(self); - return self; - } - -CCSXHHtmlTopicContainer* CCSXHHtmlTopicContainer::NewLC(const TRect& aRect,CCSXHDocument -&aDocument,CCSXHHtmlTopicView *aView) - { - CCSXHHtmlTopicContainer* self = new (ELeave) CCSXHHtmlTopicContainer(aDocument,aView); - CleanupStack::PushL(self); - self->ConstructL(aRect); - return self; - } - -CCSXHHtmlTopicContainer::CCSXHHtmlTopicContainer(CCSXHDocument &aDocument,CCSXHHtmlTopicView *aView) - : iTopic(NULL),iDocument(aDocument),iView(aView) - ,iAppLauncher(NULL), iLoadHtml(EFalse), iPrevPageCount(0), iBack(EFalse) - - { - // no implementation required - } - -CCSXHHtmlTopicContainer::~CCSXHHtmlTopicContainer() - { - if(iBrCtrl) - { - iBrCtrl->SetFocus(EFalse); - iBrCtrl->RemoveLoadEventObserver(this); - delete iBrCtrl; - iBrLibrary.Close(); - } - if(iAppLauncher) - { - delete iAppLauncher; - } - } - -void CCSXHHtmlTopicContainer::ConstructL(const TRect& aRect) - { - // Create a window for this application view - CreateWindowL(); - - // Set the windows size - SetRect(aRect); - if(KErrNone != iBrLibrary.Load(_L("BrowserEngine.dll"))) - { - HBufC* ErrorMessage = CCSXHAppUi::GetCoeEnv()->AllocReadResourceLC( - R_CSHELP_RETRIEVE_NO_MEMORY_TEXT); - CAknGlobalNote* note = CAknGlobalNote::NewLC(); - note->ShowNoteL(EAknGlobalInformationNote, *ErrorMessage); - CleanupStack::PopAndDestroy(note); - CleanupStack::PopAndDestroy(ErrorMessage); - iDocument.SetDisplayTopic(iDocument.GetPrevTopic()); - CCSXHAppUi::GetInstance()->HandleCommandL(ECSXHOpenItem); - User::Leave(KErrNoMemory); - } - -#ifdef __WINS__ - TLibraryFunction result = iBrLibrary.Lookup(10); -#else - TLibraryFunction result = iBrLibrary.Lookup(1); -#endif - - FuncPtr_CreateBrowserControlL fptr = (FuncPtr_CreateBrowserControlL)result; - - iBrCtrl = (*fptr)( - this,aRect, - TBrCtlDefs::ECapabilityDisplayScrollBar| - TBrCtlDefs::ECapabilityClientResolveEmbeddedURL| -#ifndef __SERIES60_30__ - TBrCtlDefs::ECapabilityCursorNavigation| - TBrCtlDefs::ECapabilityWebKitLite| -#endif - TBrCtlDefs::ECapabilityClientNotifyURL, - TBrCtlDefs::ECommandIdBase,this,this,NULL,this - ); - iBrCtrl->SetBrowserSettingL(TBrCtlDefs::ESettingsCSSFetchEnabled,1); - iBrCtrl->AddLoadEventObserverL(this); - - - SetSelectedFontSizeL(iView->GetCurrentFontSize()); - iBrCtrl->MakeVisible(ETrue); - - ActivateL(); - } - -void CCSXHHtmlTopicContainer::Draw(const TRect& /*aRect*/) const - { - CWindowGc& gc = SystemGc(); - TRect rect = Rect(); - gc.Clear(rect); - } -void CCSXHHtmlTopicContainer::SetAndLoadInitialTopicL(CCSXHHtmlTOC2* aTopic) - { - iTopic = aTopic; - TRAPD(err,LoadHtmlL()); - if( KErrNone != err ) - { - HBufC* ErrorMessage = CCSXHAppUi::GetCoeEnv()->AllocReadResourceLC( - R_CSHELP_RETRIEVE_NO_MEMORY_TEXT); - CAknGlobalNote* note = CAknGlobalNote::NewLC(); - note->ShowNoteL(EAknGlobalInformationNote, *ErrorMessage); - CleanupStack::PopAndDestroy(note); - CleanupStack::PopAndDestroy(ErrorMessage); - iDocument.SetDisplayTopic(iDocument.GetPrevTopic()); - CCSXHAppUi::GetInstance()->HandleCommandL(ECSXHOpenItem); - User::Leave(KErrNoMemory); - } - - } - -void CCSXHHtmlTopicContainer::LoadHtmlL() - { - HBufC8 *htmlBuffer = STATIC_CAST(HBufC8*,iTopic->GetTopicContentL()); - if(htmlBuffer) - { - CleanupStack::PushL(htmlBuffer); - TUid uid; - uid.iUid = KCharacterSetIdentifierIso88591; - _LIT8(KContentType,"text/html"); - TDataType dataType(KContentType()); - iTopic->GetHtmlUrlL(iUrlNoAnchors); - iBack = EFalse; - ClearHistoryL(); - iLoadHtml = ETrue; - - //RUNTIME - //if it is context sensitive launch, Add CSS content to remove - //Application launch link. - if(iView->GetViewType() == CCSXHHtmlTopicView::EContextHtmlView) - { - HBufC8* ContextHtmlbuffer = HBufC8::NewLC(htmlBuffer->Size() + 100); - TPtr8 bufferPtr = ContextHtmlbuffer->Des(); - bufferPtr.Copy(KCsstextToRemovePathinfo); - bufferPtr.Append(htmlBuffer->Des()); - iBrCtrl->LoadDataL(iUrlNoAnchors,*ContextHtmlbuffer,dataType,uid); - CleanupStack::PopAndDestroy(ContextHtmlbuffer); - } - else - { - iBrCtrl->LoadDataL(iUrlNoAnchors,*htmlBuffer,dataType,uid); - } - CleanupStack::PopAndDestroy(htmlBuffer); - } - else - { - iTopic->GetHtmlUrlL(iUrlNoAnchors); - iBrCtrl->LoadUrlL(iUrlNoAnchors); - } - CheckForMSK(); - } - -TKeyResponse CCSXHHtmlTopicContainer::OfferKeyEventL(const TKeyEvent & -aKeyEvent,TEventCode aType ) - { - TKeyResponse result(EKeyWasNotConsumed); - - if ((aKeyEvent.iCode == EKeyEnter )&& (aType == EEventKey) - && (IsHyperLinkFocused())) - { - HandleCommandOpenHyperLinkL(); - CheckForMSK(); - return EKeyWasConsumed; - } - - if(iBrCtrl) - { - result = iBrCtrl->OfferKeyEventL(aKeyEvent, aType); - CheckForMSK(); - } - return result; - } - -TInt CCSXHHtmlTopicContainer::CountComponentControls() const - { - return 1; - } - -CCoeControl* CCSXHHtmlTopicContainer::ComponentControl(TInt aIndex) const - { - switch (aIndex) - { - case 0: - return iBrCtrl; - default: - return NULL; - } - } - -void CCSXHHtmlTopicContainer::HandleResourceChange(TInt aType) - { - CCSXHAppUi::GetInstance()->PropagateResourceChange(aType); - } -void CCSXHHtmlTopicContainer::HandleResourceChangeImpl(TInt aType) - { - if (aType == KEikDynamicLayoutVariantSwitch) - { - iBrCtrl->HandleResourceChange(aType); - TRect mainRect; - TRect statusPaneRect; - AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane,mainRect); - SetRect(mainRect); - if(iBrCtrl) -#ifndef __SERIES60_30__ - iBrCtrl->SetRect(Rect()); -#else - iBrCtrl->SetRect(mainRect); -#endif - DrawNow(); - } - else - { - CCoeControl::HandleResourceChange(aType); - } - } - -void CCSXHHtmlTopicContainer::SizeChanged() - { -#ifndef __SERIES60_30__ - if(iBrCtrl) - iBrCtrl->SetRect(Rect()); -#endif - } - -void CCSXHHtmlTopicContainer::HandleCommandBackL() - { - iBrCtrl->HandleCommandL(TBrCtlDefs::ECommandIdBase + TBrCtlDefs::ECommandBack); - } - - -TBool CCSXHHtmlTopicContainer::IsPrevPageAvbl() - { - if (iPrevPageCount > 0) - { - return ETrue; - } - else - { - return EFalse; - } - } - - - -void CCSXHHtmlTopicContainer::ClearHistoryL() - { - iBrCtrl->HandleCommandL(TBrCtlDefs::ECommandIdBase + TBrCtlDefs::ECommandClearHistory); - iPrevPageCount = 0; - } - -TBool CCSXHHtmlTopicContainer::ResolveEmbeddedLinkL(const TDesC& /*aEmbeddedUrl*/, - const TDesC& /*aCurrentUrl*/, - TBrCtlLoadContentType /*aLoadContentType*/, - MBrCtlLinkContent& /*aEmbeddedLinkContent*/) - { - return EFalse; - } -// -------------------------------------------------------------------------- -// Handling for -// 1) Compressed HTML content -// 2) Application Launch Links -// 3) External Hyperlinks -// -------------------------------------------------------------------------- -TBool CCSXHHtmlTopicContainer::ResolveLinkL(const TDesC& aUrl, const TDesC& aCurrentUrl, - MBrCtlLinkContent& aBrCtlLinkContent) - { -#ifdef FF_HELP_TUTORIAL_MERGE - if( KErrNotFound != aUrl.Find( KTutorialFileExtn )) - { - iView->LaunchTutorial(); - return ETrue; - } -#endif // FF_HELP_TUTORIAL_MERGE - if(NULL == iAppLauncher) - { - iAppLauncher = AppLauncherForCSXH::NewL(); - } - //Handling for application launch. - if(iAppLauncher->LaunchAppL(aUrl,aCurrentUrl)) - return ETrue;//Link is resolved locally. - - if(CheckForExternalLinkL(aUrl)) - return ETrue;//Link is resolved locally. - - //Remove the Anchor, if any - TInt DotPos = aUrl.LocateReverseF('.'); - TInt HashPos = aUrl.LocateReverseF('#'); - if(KErrNotFound != HashPos && HashPos > DotPos ) - { - //Direct assignment does not work - iUrlNoAnchors.Copy(KEmptyString); - iUrlNoAnchors.Append(aUrl.Mid(0,HashPos)); - } - else - { - //Direct assignment does not work - iUrlNoAnchors.Copy(KEmptyString); - iUrlNoAnchors.Append(aUrl); - } - - HBufC8 *htmlBuffer = CCSXHHtmlTOC2::GetContentsFromUrlL(iUrlNoAnchors,CCSXHAppUi::GetCoeEnv(),iFeatureControl); - if(htmlBuffer) - { - TPtrC p(NULL,0); - aBrCtlLinkContent.HandleResolveComplete(KContentType,p,htmlBuffer); - delete htmlBuffer; - iLoadHtml = EFalse; - if (iBack) - { - iPrevPageCount--; - iBack = EFalse; - } - else - { - iPrevPageCount++; - } - - return ETrue;//Link is resolved locally. - } - - return EFalse; - } - -void CCSXHHtmlTopicContainer::CancelFetchL() - { - if (iBrCtrl) - { - iBrCtrl->HandleCommandL( - (TInt)TBrCtlDefs::ECommandCancelFetch + (TInt)TBrCtlDefs::ECommandIdBase ); - } - } - -void CCSXHHtmlTopicContainer::CancelAll() - { - - } - - -void CCSXHHtmlTopicContainer::HandleResolveComplete(const TDesC& /*aContentType*/, - const TDesC& /*aCharset*/, - const HBufC8* /*aContentBuf*/) - { - - } - -void CCSXHHtmlTopicContainer::HandleResolveError(TInt /*aError*/) - { - - } -void CCSXHHtmlTopicContainer::RefreshL(CCSXHHtmlTOC2 *aTopic) - { - SetAndLoadInitialTopicL(aTopic); - } - -// -------------------------------------------------------------------------- -// This callback function is used for the following -// 1) When an HTML page is loaded, this callback function will be called. If -// this callback is invoked for hyperlink navigation, then the display topic -// has to be updated. For example, the Application Topics option menu is -// dependent on the dipslay topic. -// 2) Updation of the softkey from Options-Close to Options-Back (& Vice-Versa) -// in the context view as a result of hyperlink traveral -// -------------------------------------------------------------------------- -void CCSXHHtmlTopicContainer::HandleBrowserLoadEventL(TBrCtlDefs::TBrCtlLoadEvent aLoadEvent, - TUint /*aSize*/, TUint16 /*aTransactionId*/) - { - if(aLoadEvent == TBrCtlDefs::EEventLoadFinished) - { - - HBufC* title = iBrCtrl->PageInfoLC(TBrCtlDefs::EPageInfoTitle); - if(!title) - { - CleanupStack::PopAndDestroy(title); - return; - } - - //Update the title bar - CEikStatusPane* sp = CCSXHAppUi::GetInstance()->StatusPane(); - CAknTitlePane* titlePane = STATIC_CAST(CAknTitlePane*, - sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle))); - titlePane->SetTextL(*title); - CleanupStack::PopAndDestroy(title); - - //For the context sensitive view, the softkey texts need to be changed. - //add label iLoadHtml for ESNN-7N9CLN.If the html is opened by - //loadHtmlL, the iLoadHtml will be set to ETrue, which - //can guarantee the RSK keep as "CLOSE" when context is sensitive. - if ((!iLoadHtml) && (iView->GetViewType() == CCSXHHtmlTopicView::EContextHtmlView)) - { - iView->SetViewTypeL(IsPrevHtmlPageAvblL() ? - CCSXHHtmlTopicView::EHtmlView : CCSXHHtmlTopicView::EContextHtmlView); - } - - //TSW Error:TKOI-74KE89: Help crashes when closing after viewing a link topic - //When user presses back keys very quickly, TOC2 objects use to destroy and - //then browser call back function triggers which leads to crash. This check - //will avoid crash. - TUid viewId = iDocument.GetDisplayTopic()->GetViewID(); - if(viewId == KCSXHToc1ViewID || viewId == KCSXHKywdToc1ViewID - || viewId == KCSXHToc2ViewID || viewId == KCSXHKywdToc2ViewID) - return; - - //When user clicks on Application Topics, application topics - //corresponding to the topic being displayed has to be opened - //Hence update the Display topic information if required. - - //Check if this event is triggered for the first load after construction - TFileName url; - iTopic->GetHtmlUrlL(url); - if(url.Compare(iUrlNoAnchors) == 0) - { - iDocument.SetDisplayTopic(iTopic); - iNewTopic = NULL; - //Move the code from SetAndLoadInitialTopicL - //TSW Error:EJZG-7E2BUV - ClearHistoryL(); - return; - } - - iNewTopic = iDocument.GetHtmlTopicForUrlL(iUrlNoAnchors); - CheckForMSK(); - } - } - -CCSXHHelpContentBase* CCSXHHtmlTopicContainer::GetCurrActiveObject() - { - return iNewTopic; - } -// -------------------------------------------------------------------------- -// Back Key Handling -// -------------------------------------------------------------------------- -TBool CCSXHHtmlTopicContainer::HandleBackKeyL() - { - //When this view is initially created, the HTML content is loaded - //using the LoadDataL function and hence it will not be part of the - //History stack but all other subsequest navigation by the user - //using the hyperlinks will be part of the History Stack - if(IsPrevPageAvbl()) - { - iBack = ETrue; - TRAPD(res,HandleCommandBackL()); - if(res == KErrNone) - return ETrue; - else - ClearHistoryL(); - } - ClearHistoryL(); - - return EFalse; - } -TBool CCSXHHtmlTopicContainer::IsPrevHtmlPageAvblL() - { - if(IsPrevPageAvbl()) - return ETrue; - - return EFalse; - } - -void CCSXHHtmlTopicContainer::SetSelectedFontSizeL(TInt aValue) - { - iBrCtrl->SetBrowserSettingL(TBrCtlDefs::ESettingsFontSize,aValue); - } - -TInt CCSXHHtmlTopicContainer::GetCurrentValueL(TInt aSetting) - { - return iBrCtrl->BrowserSettingL(aSetting); - } - -void CCSXHHtmlTopicContainer::UpdateSoftkeyL(TBrCtlKeySoftkey /*aKeySoftkey*/, - const TDesC& /*aLabel*/, - TUint32 /*aCommandId*/, - TBrCtlSoftkeyChangeReason /*aBrCtlSoftkeyChangeReason*/) - { - } - -void CCSXHHtmlTopicContainer::UpdateBrowserVScrollBarL(TInt /*aDocumentHeight*/, - TInt /*aDisplayHeight*/, - TInt /*aDisplayPosY*/ ) - { - if(iBrCtrl) - CheckForMSK(); -} -void CCSXHHtmlTopicContainer::UpdateBrowserHScrollBarL(TInt /*aDocumentWidth*/, - TInt /*aDisplayWidth*/, - TInt /*aDisplayPosX*/ ) - { - if(iBrCtrl) - CheckForMSK(); - } -void CCSXHHtmlTopicContainer::NotifyLayoutChange( TBrCtlLayout /*aNewLayout*/ ) - { - } - -void CCSXHHtmlTopicContainer::UpdateTitleL( const TDesC& /*aTitle*/ ) - { - } - -void CCSXHHtmlTopicContainer::CheckForMSK() - { - if(IsHyperLinkFocused()) - { - iView->SetMiddleSoftKey(ETrue); - } - else - { - iView->SetMiddleSoftKey(EFalse); - } - } - -TBool CCSXHHtmlTopicContainer::IsHyperLinkFocused() - { - if(TBrCtlDefs::EElementAnchor == iBrCtrl->FocusedElementType()) - return ETrue; - else - return EFalse; - } - -void CCSXHHtmlTopicContainer::HandleCommandOpenHyperLinkL() - { - iBrCtrl->HandleCommandL(TBrCtlDefs::ECommandIdBase + TBrCtlDefs::ECommandOpen); - } - -TBool CCSXHHtmlTopicContainer::CheckForExternalLinkL(const TDesC& aUrl) - { - TBool Result = EFalse; - - if( KErrNotFound != aUrl.Find(_L("http://")) | - KErrNotFound != aUrl.Find(_L("https://")) | - KErrNotFound != aUrl.Find(_L("ftp://"))) - { - iAppLauncher->LaunchBrowserNGL(aUrl); - Result = ETrue; - } - - return Result; - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/src/CSXHHtmlTopicView.cpp --- a/csxhelp/src/CSXHHtmlTopicView.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,375 +0,0 @@ -/* -* 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: CCSXHHtmlTopicView class definition -* -*/ - -// INCLUDES -#include "CSXHHtmlTopicView.h" -#include "CSXHHtmlTopicContainer.h" -#include "CSXHHtmlTOC2.h" -#include "CSXHAppUi.h" -#include "CSXHDocument.h" -#include -#include "CsHelp.hrh" - -#include "CSXHViewIDs.h" -#include "CSXHKywdTOC1.h" -#include "CSXHHelpDataBase.h" -#include "CSXHContextTopic.h" -#include "CSXHHtmlTOC2.h" -#include "CSXHHtmlTOC1.h" - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -TInt CCSXHHtmlTopicView::iFontSize = TBrCtlDefs::EFontSizeLevelNormal; - -CCSXHHtmlTopicView* CCSXHHtmlTopicView::NewL(const TUid& aUid, const TInt& aFlags,const -TRect& aRect) - { - CCSXHHtmlTopicView* temp = new(ELeave) CCSXHHtmlTopicView(aUid,aFlags); - CleanupStack::PushL(temp); - temp->ConstructL(aRect); - CleanupStack::Pop(temp); - return temp; - } - -CCSXHHtmlTopicView::CCSXHHtmlTopicView(const TUid& aUid, const TInt& aFlags): - iUid(aUid),iAppFlags(aFlags) - { - } -CCSXHHtmlTopicView::~CCSXHHtmlTopicView() - { - if(iBCContainer) - { - delete iBCContainer; - iBCContainer = NULL; - } - } - -void CCSXHHtmlTopicView::ConstructL(const TRect& /*aRect*/) - { - BaseConstructL(iAppFlags); - } - -void CCSXHHtmlTopicView::SetViewTypeL(TInt type) - { - if(type == iContextTopicView) - return; - - if(type == EContextHtmlView) - { - iContextTopicView = ETrue; - SetSoftKeysL(R_CSHELP_SOFTKEYS_OPTIONS_CLOSE_OPENLINK); - } - else - { - iContextTopicView = EFalse; - SetSoftKeysL(R_CSHELP_SOFTKEYS_OPTIONS_BACK_OPENLINK); - } - } - -TInt CCSXHHtmlTopicView::GetViewType() - { - return iContextTopicView ? EContextHtmlView : EHtmlView; - } - -TUid CCSXHHtmlTopicView::Id() const - { - return iUid; - } -// -------------------------------------------------------------------------- -// Launches an application based on the Application UID and a View ID -// -------------------------------------------------------------------------- -void CCSXHHtmlTopicView::HandleCommandL(TInt aCommand ) - { - switch(aCommand) - { - case EAknSoftkeyBack: - { - if(iBCContainer->HandleBackKeyL()) - return; - CCSXHDocument *doc = static_cast(AppUi()->Document()); - //if not the current view, return - TUid viewId = doc->GetDisplayTopic()->GetViewID(); - if( viewId != KCSXHHtmlTopicViewID && viewId != KCSXHKywdToc2ViewID ) - { - return; - } - CCSXHHtmlTOC2 *displayTopic = STATIC_CAST(CCSXHHtmlTOC2*,doc->GetDisplayTopic()); - CCSXHKywdTOC1* kywdParent = displayTopic->GetKywdParent(); - if(kywdParent) - { - doc->SetDisplayAndPrevTopic(kywdParent); - AppUi()->HandleCommandL(ECSXHOpenItem); - } - else - { - HandleCommandL(ECSXHOpenApplicationTopics); - } - break; - } - case ECSXHOpenApplicationTopics: - { - CCSXHDocument *doc = static_cast(AppUi()->Document()); - if(iBCContainer->GetCurrActiveObject()) - { - doc->SetDisplayTopic(iBCContainer->GetCurrActiveObject()); - CCSXHAppUi::GetInstance()->ResetTOC2ViewContainer(); - } - CCSXHHtmlTOC2 *displayTopic = STATIC_CAST(CCSXHHtmlTOC2*,doc->GetDisplayTopic()); - doc->SetDisplayAndPrevTopic(displayTopic->GetParent()); - AppUi()->HandleCommandL(ECSXHOpenItem); - } - break; - case ECSXHTOC1ListView: - { - CCSXHDocument *doc = static_cast(AppUi()->Document()); - if(iBCContainer->GetCurrActiveObject()) - { - doc->SetDisplayTopic(iBCContainer->GetCurrActiveObject()); - CCSXHAppUi::GetInstance()->ResetTOC2ViewContainer(); - } - - CCSXHHtmlTOC2 *displayTopic = STATIC_CAST(CCSXHHtmlTOC2*,doc->GetDisplayTopic()); - //These two steps are necessary to set the correct display and prev topics - doc->SetDisplayTopic(displayTopic->GetParent()); - doc->SetDisplayAndPrevTopic(doc->GetHelpDataBase()->GetMainTopics()); - AppUi()->HandleCommandL(ECSXHOpenItem); - } - break; - case ECsHelpCmdFontLarge: - { - TInt CurrentFontSize = iBCContainer->GetCurrentValueL(TBrCtlDefs::ESettingsFontSize); - iBCContainer->SetSelectedFontSizeL(++CurrentFontSize); - iFontSize = CurrentFontSize; - } - break; - case ECsHelpCmdFontSmall: - { - TInt CurrentFontSize = iBCContainer->GetCurrentValueL(TBrCtlDefs::ESettingsFontSize); - iBCContainer->SetSelectedFontSizeL(--CurrentFontSize); - iFontSize = CurrentFontSize; - } - break; - case ECSXHOpenHyperLink: - { - iBCContainer->HandleCommandOpenHyperLinkL(); - } - break; - case ECSXHSearchText: - { - CCSXHDocument *doc = static_cast(AppUi()->Document()); - if(iBCContainer->GetCurrActiveObject()) - { - doc->SetDisplayTopic(iBCContainer->GetCurrActiveObject()); - CCSXHAppUi::GetInstance()->ResetTOC2ViewContainer(); - } - } - AppUi()->HandleCommandL( aCommand ); - break; - case EAknSoftkeyExit: - case EAknSoftkeyClose: - AppUi()->HandleCommandL( aCommand ); - break; - default: - break; - } - } -// -------------------------------------------------------------------------- -// Handlign for view activation. For a context view, the actual display topic -// has to be modified -// -------------------------------------------------------------------------- -void CCSXHHtmlTopicView::DoActivateL(const TVwsViewId& aPrevViewId,TUid,const TDesC8&) - { - iPrevious = aPrevViewId; - CCSXHDocument *doc = static_cast(AppUi()->Document()); - - if(!iBCContainer) - { - TRAPD(Result,iBCContainer = CCSXHHtmlTopicContainer::NewL(ClientRect(),*doc,this)); - if(KErrNone != Result) - return; - } - - //Set the correct display topic here for context sensitive launch - if(doc->GetDisplayTopic()->GetViewID() == KCSXHContextHtmlTopicViewID) - { - CCSXHContextTopic *topic = STATIC_CAST(CCSXHContextTopic*,doc->GetDisplayTopic()); - doc->SetDisplayTopic(topic->GetTopic()); - iContextTopicView = ETrue; - } - else - { - iContextTopicView = EFalse; - } - - CCSXHHtmlTOC2 *displayTopic = STATIC_CAST(CCSXHHtmlTOC2*,doc->GetDisplayTopic()); - TRAPD(err,iBCContainer->SetAndLoadInitialTopicL(displayTopic)); - - if( KErrNone != err ) - { - delete iBCContainer; - iBCContainer = NULL; - return; - } - if( iContextTopicView ) - { - SetSoftKeysL(R_CSHELP_SOFTKEYS_OPTIONS_CLOSE_OPENLINK); - } - else - { - SetSoftKeysL(R_CSHELP_SOFTKEYS_OPTIONS_BACK_OPENLINK); - } - iBCContainer->SetMopParent(this); - iBCContainer->SetRect(ClientRect()); - AppUi()->AddToStackL(*this, iBCContainer); - iBCContainer->MakeVisible(ETrue); - } - -void CCSXHHtmlTopicView::DoDeactivate() - { - if(iBCContainer) - { - TRAP_IGNORE(iBCContainer->CancelFetchL()); - iBCContainer->MakeVisible(EFalse); - AppUi()->RemoveFromStack(iBCContainer); - } - } -// -------------------------------------------------------------------------- -// When a view which was previously activated, goes to background and gets -// activated again, the DoActivateL will not be called only ViewActivatedL -// will be called. Special handling is required for the context view for the -// scenario, open context help from any application, with out changing the -// help view, open context help from another application, the contents of the -// context view has to be refreshed with the new topic -// -------------------------------------------------------------------------- -void CCSXHHtmlTopicView::ViewActivatedL(const TVwsViewId& aPrevViewId, - TUid aCustomMessageId, - const TDesC8& aCustomMessage) - { - - if(iBCContainer) - { - //This handling is required for the following scenario - //Context sensitive help launch more than once with no - //other view navigation in the help application - CCSXHDocument *doc = static_cast(AppUi()->Document()); - if(doc->GetDisplayTopic()->GetViewID() == KCSXHContextHtmlTopicViewID) - { - CCSXHContextTopic *topic = static_cast(doc->GetDisplayTopic()); - doc->SetDisplayTopic(topic->GetTopic()); - CCSXHHtmlTOC2 *displayTopic = STATIC_CAST(CCSXHHtmlTOC2*,doc->GetDisplayTopic()); - iBCContainer->RefreshL(displayTopic); - SetSoftKeysL(R_CSHELP_SOFTKEYS_OPTIONS_CLOSE_OPENLINK); - } - iBCContainer->CheckForMSK(); - } - CAknView::ViewActivatedL(aPrevViewId,aCustomMessageId,aCustomMessage); - } - -void CCSXHHtmlTopicView::SetSoftKeysL(TInt aSoftKeys) - { - if( Cba() ) - { - Cba()->SetCommandSetL( aSoftKeys ); - Cba()->DrawDeferred(); - } - } -// -------------------------------------------------------------------------- -// Dynamically updating Options menu item -// -------------------------------------------------------------------------- -void CCSXHHtmlTopicView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane) - { - - if( R_CSXH_MENU_HTMLTOPICVIEW == aResourceId) - { - TInt CurrentFontSize = iBCContainer->GetCurrentValueL(TBrCtlDefs::ESettingsFontSize); - - if(CurrentFontSize == TBrCtlDefs::EFontSizeLevelAllSmall) - { - aMenuPane->SetItemDimmed(ECsHelpCmdFontSmall,ETrue); - } - else if(CurrentFontSize == TBrCtlDefs::EFontSizeLevelAllLarge) - { - aMenuPane->SetItemDimmed(ECsHelpCmdFontLarge,ETrue); - } - - if(!iBCContainer->IsHyperLinkFocused()) - { - aMenuPane->SetItemDimmed(ECSXHOpenHyperLink,ETrue); - } - } - } -// -------------------------------------------------------------------------- -// MSK Handling -// -------------------------------------------------------------------------- -void CCSXHHtmlTopicView::SetMiddleSoftKey(TBool aValue) - { -#ifndef __SERIES60_30__ - if(AknLayoutUtils::MSKEnabled()) - { - Cba()->MakeCommandVisible(ECSXHOpenHyperLink,aValue); - Cba()->DrawDeferred(); - } -#endif - } - -TInt CCSXHHtmlTopicView::GetCurrentFontSize() - { - return iFontSize; - } - -void CCSXHHtmlTopicView::ResourceChangeHdl(TInt aType) - { - if(iBCContainer) - iBCContainer->HandleResourceChangeImpl(aType); - } - -#ifdef FF_HELP_TUTORIAL_MERGE - // -------------------------------------------------------------------------- -// CCSXHAppUi::LaunchTutorial -// Lauch tutorial if exist, else popup a error message. -// -------------------------------------------------------------------------- -void CCSXHHtmlTopicView::LaunchTutorial() - { - CCSXHDocument *doc = static_cast(AppUi()->Document()); - CCSXHHtmlTOC2 *displayTopic = STATIC_CAST(CCSXHHtmlTOC2*,doc->GetDisplayTopic()); - TCoeHelpContext helpContext; - displayTopic->GetHelpContext(helpContext); - CCSXHAppUi::GetInstance()->SetHelpContext(helpContext); - if( CCSXHAppUi::GetInstance()->IsApplicationPresentInTutorialL() ) - { - CCSXHAppUi::GetInstance()->CallTutorialAiwProviderL(); - } - else - { - HBufC* ErrorMessage = iCoeEnv->AllocReadResourceLC(R_TYPE_NO_HELP_TOPICS); - CAknGlobalNote* note = CAknGlobalNote::NewLC(); - note->ShowNoteL(EAknGlobalInformationNote, *ErrorMessage); - - CleanupStack::PopAndDestroy(note); - CleanupStack::PopAndDestroy(ErrorMessage); - } - } -#endif // FF_HELP_TUTORIAL_MERGE diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/src/CSXHLegacyTopicContainer.cpp --- a/csxhelp/src/CSXHLegacyTopicContainer.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,343 +0,0 @@ -/* -* 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: CCSXHLegacyTopicContainer class definition -* -*/ - - -#include "CSXHLegacyTOC2.h" -#include "CSXHLegacyTopicContainer.h" -#include "CSXHDocument.h" - -#include "CSXHAppUi.h" - -#include -#include -#include -#include -#include -#include //Dynamic layout functions -#include -#include -#include -#include -#include - -CCSXHLegacyTopicContainer* CCSXHLegacyTopicContainer::NewL(const TRect& -aRect,CCSXHDocument &aDocument,CCSXHLegacyTOC2 *aTopic) - { - CCSXHLegacyTopicContainer* self = CCSXHLegacyTopicContainer::NewLC(aRect,aDocument,aTopic); - CleanupStack::Pop(self); - return self; - } - -CCSXHLegacyTopicContainer* CCSXHLegacyTopicContainer::NewLC(const TRect& -aRect,CCSXHDocument &aDocument,CCSXHLegacyTOC2 *aTopic) - { - CCSXHLegacyTopicContainer* self = new (ELeave) CCSXHLegacyTopicContainer(aDocument,aTopic); - CleanupStack::PushL(self); - self->ConstructL(aRect); - return self; - } - -CCSXHLegacyTopicContainer::CCSXHLegacyTopicContainer(CCSXHDocument -&aDocument,CCSXHLegacyTOC2 *aTopic):iDocument(aDocument),iTopic(aTopic) - { - } - -void CCSXHLegacyTopicContainer::ConstructL(const TRect& aRect/*, CRichText* aText*/) - { - CreateWindowL(); - TRect rect(0,0,0,0); - // Temporary rect is passed. Correct rect is set in SizeChanged. - iSkinContext = CAknsBasicBackgroundControlContext::NewL( - KAknsIIDQsnBgAreaMain , rect, EFalse); - - iText = STATIC_CAST(CRichText*,iTopic->GetTopicContentL()); - - GetTextFormat(); - - iEdwin = new(ELeave) CEikEdwin(); - const TInt flags(CEikEdwin::EKeepDocument | - CEikEdwin::EUserSuppliedText | - CEikEdwin::ENoAutoSelection | - CEikEdwin::EAvkonDisableCursor | - CEikEdwin::EReadOnly | - CEikEdwin::EDisplayOnly); - iEdwin->SetContainerWindowL(*this); - - iEdwin->ConstructL(flags); - iEdwin->CreatePreAllocatedScrollBarFrameL()->SetScrollBarVisibilityL( - CEikScrollBarFrame::EOff, - CEikScrollBarFrame::EAuto); - SetTextL(iText); - FormatRichTextL(*iText); - SetRect(aRect); - ActivateL(); - } - -CCSXHLegacyTopicContainer::~CCSXHLegacyTopicContainer() - { - delete iEdwin; - delete iSkinContext; - } - -void CCSXHLegacyTopicContainer::RefreshL(CCSXHLegacyTOC2 *aTopic) - { - iTopic = aTopic; - iText = STATIC_CAST(CRichText*,iTopic->GetTopicContentL()); - SetTextL(iText); - FormatRichTextL(*iText); - SizeChanged(); - } - -void CCSXHLegacyTopicContainer::SetTextL(CRichText* aText) - { - iEdwin->SetDocumentContentL(*aText, CEikEdwin::EUseText); - iEdwin->SetCursorPosL(0, EFalse); - - } - -void CCSXHLegacyTopicContainer::FocusChanged(TDrawNow aDrawNow) - { - if (iEdwin) - { - iEdwin->SetFocus(IsFocused(), aDrawNow); - } - } - -void CCSXHLegacyTopicContainer::GetTextFormat() - { - - TAknMultiLineTextLayout layoutToUse; - if( AknLayoutUtils::ScalableLayoutInterfaceAvailable() ) - { - - TAknTextLineLayout layoutnew1 = AknLayoutScalable_Apps::help_list_pane_t1(0).LayoutLine(); - - - TAknLayoutScalableParameterLimits limits1 = - AknLayoutScalable_Apps::help_list_pane_t1_ParamLimits(); - - TInt numberoflines = limits1.LastRow() + 1; - - layoutnew1.iNumberOfLinesShown = numberoflines ; - - layoutToUse.iC = layoutnew1.iC; - layoutToUse.il = layoutnew1.il; - layoutToUse.ir = layoutnew1.ir; - layoutToUse.iB = layoutnew1.iB; - layoutToUse.iW = layoutnew1.iW; - layoutToUse.iJ = layoutnew1.iJ; - layoutToUse.iFont = layoutnew1.iFont; - layoutToUse.iBaselineSkip = layoutnew1.iBaselineSkip; - layoutToUse.iNumberOfLinesShown = layoutnew1.iNumberOfLinesShown; - } - else - { - layoutToUse = AppLayout::Multiline_Help_texts_Line_1(0); - } - - const CFont* font = AknLayoutUtils::FontFromId(layoutToUse.FontId() /*iFont*/, NULL); - iCharFormat.iFontSpec = font->FontSpecInTwips(); - iCharFormatMask.SetAttrib(EAttFontTypeface); - iCharFormatMask.SetAttrib(EAttFontHeight); - - TRgb color; - MAknsSkinInstance* skin = AknsUtils::SkinInstance(); - TInt error = AknsUtils::GetCachedColor(skin, color, KAknsIIDQsnTextColors, - EAknsCIQsnTextColorsCG6 ); - if(error==KErrNone) - iCharFormat.iFontPresentation.iTextColor = color; - - iCharFormatMask.SetAttrib(EAttColor); - iCharFormatMask.SetAttrib(EAttFontPosture); - } -void CCSXHLegacyTopicContainer::FormatRichTextL( CRichText& aText ) - { - TInt length = aText.DocumentLength(); - length++; - // Apply the general formatting rules... - aText.ApplyCharFormatL( iCharFormat, iCharFormatMask, 0, length ); - - TParaFormatMask paraFormatMask; - paraFormatMask.SetAttrib( EAttBullet ); - CParaFormat *paraFormat = new ( ELeave ) CParaFormat; - CleanupStack::PushL(paraFormat); - TInt paraCount = aText.ParagraphCount(); - for(TInt i = 0; i < paraCount ; ++i) - { - TInt paraLength; - TInt paraStart = aText.CharPosOfParagraph(paraLength,i); - - aText.GetParagraphFormatL(paraFormat,paraStart); - if(paraFormat->iBullet) - { - TBullet* bullet = new ( ELeave ) TBullet; - CleanupStack::PushL(bullet); - bullet->iColor = iCharFormat.iFontPresentation.iTextColor; - bullet->iHeightInTwips = iCharFormat.iFontSpec.iHeight; - - CParaFormat* paraFormatNew = new ( ELeave ) CParaFormat; - paraFormatNew->iBullet = bullet; // ownership xfer - - CleanupStack::Pop(); - CleanupStack::PushL(paraFormatNew); - - aText.ApplyParaFormatL( paraFormatNew, paraFormatMask, paraStart, paraLength - 1); - CleanupStack::PopAndDestroy(paraFormatNew); - } - } - CleanupStack::PopAndDestroy(paraFormat); - } - - -void CCSXHLegacyTopicContainer::SizeChanged() - { - if(iSkinContext) - iSkinContext->SetRect(Rect()); - if(iEdwin) - { - TRect clientrect = Rect(); - if(AknLayoutUtils::LayoutMirrored()) - { - clientrect.iTl.iX = clientrect.iTl.iX + (iEdwin->ScrollBarFrame() - ->ScrollBarBreadth(CEikScrollBar::EVertical))* 1.1; - } - else - { - TInt RectWidth = clientrect.Width() - (iEdwin->ScrollBarFrame() - ->ScrollBarBreadth(CEikScrollBar::EVertical))* 1.1; - - clientrect.SetWidth(RectWidth); - } - - iEdwin->SetRect(clientrect); - TRAP_IGNORE(iEdwin->ForceScrollBarUpdateL()); - } - } - -// --------------------------------------------------------- -// CCsHelpTopicContainer::OfferKeyEventL(...) -// Processing a key event -// -// (other items were commented in a header). -// --------------------------------------------------------- -TKeyResponse CCSXHLegacyTopicContainer::OfferKeyEventL( - const TKeyEvent& aKeyEvent, - TEventCode aType) - { - TKeyResponse result(EKeyWasConsumed); - - switch (aKeyEvent.iCode) - { - case EKeyUpArrow: - iEdwin->MoveDisplayL(TCursorPosition::EFLineUp); - iEdwin->UpdateScrollBarsL(); - break; - case EKeyDownArrow: - iEdwin->MoveDisplayL(TCursorPosition::EFLineDown); - iEdwin->UpdateScrollBarsL(); - break; - default: - result = iEdwin->OfferKeyEventL(aKeyEvent, aType); - } - - return result; - } - - -// --------------------------------------------------------- -// CCsHelpTopicContainer::CountComponentControls() const -// -// -// (other items were commented in a header). -// --------------------------------------------------------- -// -TInt CCSXHLegacyTopicContainer::CountComponentControls() const - { - return 1; // return nbr of controls inside this container - } - -// --------------------------------------------------------- -// CCsHelpTopicContainer::ComponentControl(TInt aIndex) const -// -// (other items were commented in a header). -// --------------------------------------------------------- -// -CCoeControl* CCSXHLegacyTopicContainer::ComponentControl(TInt aIndex) const - { - switch ( aIndex ) - { - case 0: - return iEdwin; - default: - return NULL; - } - } - -// --------------------------------------------------------- -// CCsHelpTopicContainer::Draw(..) -// -// (other items were commented in a header). -// --------------------------------------------------------- -// -void CCSXHLegacyTopicContainer::Draw(const TRect& aRect) const - { - CWindowGc& gc = SystemGc(); - gc.Clear(aRect); - MAknsSkinInstance* skin = AknsUtils::SkinInstance(); - if (iSkinContext) - {//Draw the skin background - AknsDrawUtils::Background( - skin, iSkinContext, this, gc, aRect); - } - } -void CCSXHLegacyTopicContainer::HandleResourceChange(TInt aType) - { - CCSXHAppUi::GetInstance()->PropagateResourceChange(aType); - } - -void CCSXHLegacyTopicContainer::HandleResourceChangeImpl(TInt aType) - { - if(aType == KEikDynamicLayoutVariantSwitch) - { - iEdwin->HandleResourceChange(aType); - TRect mainRect; - AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane,mainRect); - SetRect(mainRect); - } - else - { - CCoeControl::HandleResourceChange(aType); - } - - } - - -// --------------------------------------------------------- -// CCsHelpTopicContainer::MopSupplyObject() -// Pass skin information if need. -// --------------------------------------------------------- - -TTypeUid::Ptr CCSXHLegacyTopicContainer::MopSupplyObject(TTypeUid aId) - { - if (aId.iUid == MAknsControlContext::ETypeId && iSkinContext) - { - return MAknsControlContext::SupplyMopObject(aId, iSkinContext); - } - - return CCoeControl::MopSupplyObject(aId); - } -// End of File diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/src/CSXHLegacyTopicView.cpp --- a/csxhelp/src/CSXHLegacyTopicView.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,213 +0,0 @@ -/* -* 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: CCSXHLegacyTopicView class definition -* -*/ - - -// INCLUDES -#include "CSXHLegacyTopicView.h" -#include "CSXHLegacyTopicContainer.h" -#include "CSXHAppUi.h" -#include "CSXHDocument.h" -#include -#include "CsHelp.hrh" - -#include "CSXHHelpContentBase.h" -#include "CSXHLegacyTOC2.h" -#include "CSXHLegacyTOC1.h" -#include "CSXHViewIDs.h" -#include "CSXHHelpDataBase.h" -#include "CSXHContextTopic.h" - -#include - -CCSXHLegacyTopicView* CCSXHLegacyTopicView::NewL(const TUid& aUid, - const TInt& aFlags,const TRect& aRect) - { - CCSXHLegacyTopicView* temp = new(ELeave) CCSXHLegacyTopicView(aUid,aFlags); - CleanupStack::PushL(temp); - temp->ConstructL(aRect); - CleanupStack::Pop(temp); - return temp; - } - -CCSXHLegacyTopicView::CCSXHLegacyTopicView(const TUid& aUid, const TInt& aFlags) - : iUid(aUid),iAppFlags(aFlags) - { - } - -CCSXHLegacyTopicView::~CCSXHLegacyTopicView() - { - } - -void CCSXHLegacyTopicView::ConstructL(const TRect& /*aRect*/) - { - BaseConstructL(iAppFlags); - } - -TUid CCSXHLegacyTopicView::Id() const - { - return iUid; - } -// -------------------------------------------------------------------------- -// Launches an application based on the Application UID and a View ID -// -------------------------------------------------------------------------- -void CCSXHLegacyTopicView::HandleCommandL(TInt aCommand) - { - switch(aCommand) - { - case ECSXHOpenApplicationTopics: - { - CCSXHDocument* doc = static_cast(AppUi()->Document()); - CCSXHLegacyTOC2* displayTopic = STATIC_CAST(CCSXHLegacyTOC2*,doc->GetDisplayTopic()); - CCSXHLegacyTOC1* toc1 = displayTopic->GetLegacyParent(); - if(toc1) - { - doc->SetDisplayAndPrevTopic(toc1); - AppUi()->HandleCommandL(ECSXHOpenItem); - } - else - { - //Handling will be same as EAknSoftkeyBack - HandleCommandL(EAknSoftkeyBack); - } - break; - } - case EAknSoftkeyBack: - { - CCSXHDocument* doc = static_cast(AppUi()->Document()); - CCSXHLegacyTOC2* displayTopic = STATIC_CAST(CCSXHLegacyTOC2*,doc->GetDisplayTopic()); - doc->SetDisplayAndPrevTopic(displayTopic->GetParent()); - AppUi()->HandleCommandL(ECSXHOpenItem); - } - break; - case ECSXHTOC1ListView: - { - CCSXHDocument* doc = static_cast(AppUi()->Document()); - CCSXHLegacyTOC2* displayTopic = STATIC_CAST(CCSXHLegacyTOC2*,doc->GetDisplayTopic()); - CCSXHGenericTOC1* toc1 = displayTopic->GetLegacyParent(); - if(!toc1) - toc1 = displayTopic->GetParent(); - doc->SetDisplayTopic(toc1); - doc->SetDisplayAndPrevTopic(doc->GetHelpDataBase()->GetMainTopics()); - AppUi()->HandleCommandL(ECSXHOpenItem); - } - break; - default: - AppUi()->HandleCommandL(aCommand); - break; - } - } - -// -------------------------------------------------------------------------- -// Handlign for view activation. For a context view, the actual display topic -// has to be modified -// -------------------------------------------------------------------------- -void CCSXHLegacyTopicView::DoActivateL(const TVwsViewId& aPrevViewId,TUid /* aCustomMessageId */, - const TDesC8& /* aCustomMessage */) - { - iPrevious = aPrevViewId; - CCSXHDocument* doc = static_cast(AppUi()->Document()); - //Set the correct display topic here for context sensitive launch - if(iUid == KCSXHContextLegacyTopicViewID) - { - CCSXHContextTopic* topic = STATIC_CAST(CCSXHContextTopic*,doc->GetDisplayTopic()); - doc->SetDisplayTopic(topic->GetTopic()); - } - - if(!iTopicContainer) - { - CCSXHLegacyTOC2* displayTopic = STATIC_CAST(CCSXHLegacyTOC2*,doc->GetDisplayTopic()); - iTopicContainer = CCSXHLegacyTopicContainer::NewL(ClientRect(),*doc,displayTopic); - } - - iTopicContainer->SetMopParent(this); - iTopicContainer->SetRect(ClientRect()); - AppUi()->AddToStackL(*this, iTopicContainer); - iTopicContainer->MakeVisible(ETrue); - - //Set the title of the view - CEikStatusPane* sp = StatusPane(); - CAknTitlePane* title = STATIC_CAST(CAknTitlePane*, - sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle))); - title->SetTextL(doc->GetDisplayTopic()->GetName()); - - //MSK: Should be Inactive in this view - //TSW Error:EAJA-6XLFTW : - //S60 3.2 Help: Selection key opens Option menu in Topic view - //If MSK is not defined, "." appears in the MSK, - //On Middle key press, Options menu items are shown to the user -#ifndef __SERIES60_30__ - if(AknLayoutUtils::MSKEnabled()) - { - Cba()->MakeCommandVisible(ECSXHDummyMSK,EFalse); - Cba()->DrawDeferred(); - } -#endif - } - -void CCSXHLegacyTopicView::DoDeactivate() - { - if(iTopicContainer) - { - iTopicContainer->MakeVisible(EFalse); - AppUi()->RemoveFromStack(iTopicContainer); - delete iTopicContainer; - iTopicContainer = NULL; - } - } -// -------------------------------------------------------------------------- -// When a view which was previously activated, goes to background and gets -// activated again, the DoActivateL will not be called only ViewActivatedL -// will be called. Special handling is required for the context view for the -// scenario, open context help from any application, with out changing the -// help view, open context help from another application, the contents of the -// context view has to be refreshed with the new topic -// -------------------------------------------------------------------------- -void CCSXHLegacyTopicView::ViewActivatedL(const TVwsViewId& aPrevViewId, - TUid aCustomMessageId, - const TDesC8& aCustomMessage) - { - if(iTopicContainer && iUid == KCSXHContextLegacyTopicViewID) - { - CCSXHDocument* doc = static_cast(AppUi()->Document()); - - if(doc->GetDisplayTopic()->GetViewID() == KCSXHContextLegacyTopicViewID) - { - CCSXHContextTopic* topic = STATIC_CAST(CCSXHContextTopic*,doc->GetDisplayTopic()); - doc->SetDisplayTopic(topic->GetTopic()); - CCSXHLegacyTOC2* displayTopic = STATIC_CAST(CCSXHLegacyTOC2*,doc->GetDisplayTopic()); - iTopicContainer->RefreshL(displayTopic); - } - - //Set the title of the view - CEikStatusPane* sp = StatusPane(); - CAknTitlePane* title = STATIC_CAST(CAknTitlePane*, - sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle))); - title->SetTextL(doc->GetDisplayTopic()->GetName()); - } - - CAknView::ViewActivatedL(aPrevViewId,aCustomMessageId,aCustomMessage); - } -void CCSXHLegacyTopicView::ViewDeactivated() - { - CAknView::ViewDeactivated(); - } -void CCSXHLegacyTopicView::ResourceChangeHdl(TInt aType) - { - if(iTopicContainer) - iTopicContainer->HandleResourceChangeImpl(aType); - } - diff -r 27f5851bd5a5 -r 2cd891dccbbe csxhelp/src/csxhruntimeappwatcher.cpp --- a/csxhelp/src/csxhruntimeappwatcher.cpp Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ -/* -* 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: CCSXHRuntimeAppWatcher class definition -* -*/ - - -#include "csxhruntimeappwatcher.h" -#include "csxhconstants.h" - -// ======================================================================== -// CCSXHRuntimeAppWatcher -// ======================================================================== -// -CCSXHRuntimeAppWatcher::CCSXHRuntimeAppWatcher() - : CActive( CActive::EPriorityIdle ) - { - } - -CCSXHRuntimeAppWatcher::~CCSXHRuntimeAppWatcher() - { - if ( IsActive() ) - Cancel(); - iFileSession.Close(); - } - -CCSXHRuntimeAppWatcher* CCSXHRuntimeAppWatcher::NewL() - { - CCSXHRuntimeAppWatcher* self = new ( ELeave ) CCSXHRuntimeAppWatcher(); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - -void CCSXHRuntimeAppWatcher::ConstructL() - { - CActiveScheduler::Add( this ); - User::LeaveIfError( iFileSession.Connect() ); - } - -void CCSXHRuntimeAppWatcher::RunL() - { - // iStatus equals to KErrNone means completion - // - if ( iStatus == KErrNone ) - { - iObserver->RuntimeUpdateIndex(); - Start(); - } - - } - -void CCSXHRuntimeAppWatcher::DoCancel() - { - iFileSession.NotifyChangeCancel( iStatus ); - } - -void CCSXHRuntimeAppWatcher::Start() - { - // Requests a notification of change to files or directories - // Addition or deletion of a directory entry, or changing or formatting a disk - // - TBuf obsrvPath; - obsrvPath.Append( TChar('?') ); - obsrvPath.Append( KInstallPath ); - iFileSession.NotifyChange( ENotifyEntry, iStatus, obsrvPath ); - - // starts - SetActive(); - } - -void CCSXHRuntimeAppWatcher::SetObserver( MInstallationObserver* aObserver ) - { - iObserver = aObserver; - } diff -r 27f5851bd5a5 -r 2cd891dccbbe group/bld.inf --- a/group/bld.inf Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -/* -* Copyright (c) 2009 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: -* -*/ - -#include "../csxhelp/group/bld.inf" diff -r 27f5851bd5a5 -r 2cd891dccbbe layers.sysdef.xml --- a/layers.sysdef.xml Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ - - -]> - - - - - - - - - - diff -r 27f5851bd5a5 -r 2cd891dccbbe sysdef_1_4_0.dtd --- a/sysdef_1_4_0.dtd Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 27f5851bd5a5 -r 2cd891dccbbe systemDefinition.xml --- a/systemDefinition.xml Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ - - - - - - - - -]> - - - -&layer_file; - - -&targetDefinition_file; - - - - -&defaultbuild_file; - - - - - -&defaultclean_file; - - - - diff -r 27f5851bd5a5 -r 2cd891dccbbe systemDefinitionLayer.xml --- a/systemDefinitionLayer.xml Tue Feb 02 00:03:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ - - - - - - -