csxhelp/inc/CSXHDocument.h
branchRCL_3
changeset 18 cbffe13eac63
parent 0 1f04cf54edd8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/csxhelp/inc/CSXHDocument.h	Wed Sep 01 12:30:56 2010 +0100
@@ -0,0 +1,210 @@
+/*
+* 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 <AknDoc.h>
+
+// 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 */