csxhelp/inc/CSXHDocument.h
branchRCL_3
changeset 17 12f60d9a73b3
parent 16 0d1adf67ec1b
child 18 cbffe13eac63
equal deleted inserted replaced
16:0d1adf67ec1b 17:12f60d9a73b3
     1 /*
       
     2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  CCSXHDocument class declaration
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef INC_CSXHDOCUMENT_H_HEADER_INCLUDED_BC0121B7
       
    20 #define INC_CSXHDOCUMENT_H_HEADER_INCLUDED_BC0121B7
       
    21 
       
    22 #include <AknDoc.h>
       
    23 
       
    24 // Forward references
       
    25 class CAknAppUi;
       
    26 class CEikApplication;
       
    27 class CCSXHHelpDataBase;
       
    28 class CCSXHHelpContentBase;
       
    29 class CEikAppUi;
       
    30 class CEikProgressInfo;
       
    31 class CAknProgressDialog;
       
    32 class CIdle;
       
    33 /** 
       
    34   @class CCSXHDocument
       
    35 * An instance of class CCSXHDocument is the Document part of the AVKON
       
    36 * application framework for the Csxhelp application
       
    37 */
       
    38 
       
    39 class CCSXHDocument : public CAknDocument
       
    40     {
       
    41     public:
       
    42 /** 
       
    43 *  @function NewL
       
    44 *  @since S60 3.2
       
    45 *  Construct a CCSXHDocument for the AVKON application aApp 
       
    46 *  construction, and return a pointer to the created object
       
    47 *  @param aApp - Application Object
       
    48 *  @return a CCSXHDocument Pointer 
       
    49 */
       
    50 	static CCSXHDocument* NewL(
       
    51 	// application creating this document
       
    52 	CEikApplication& aApp);
       
    53     // Construct a CCSXHDocument for the AVKON application aApp using two phase
       
    54     // construction, and return a pointer to the created object
       
    55 
       
    56 /** 
       
    57 *  @function NewLC
       
    58 *  @since S60 3.2
       
    59 *  Construct a CCSXHDocument for the AVKON application aApp using two phase
       
    60 *  construction, and return a pointer to the created object
       
    61 *  @param aApp - Application Object
       
    62 *  @return a CCSXHDocument Pointer 
       
    63 */
       
    64     static CCSXHDocument* NewLC(
       
    65 	// application creating this document
       
    66 	CEikApplication& aApp);
       
    67 
       
    68 
       
    69 /** 
       
    70 *  @function ~CCSXHDocument
       
    71 *  @since S60 3.2
       
    72 *  Destroy the object and release all memory objects
       
    73 */
       
    74 	    ~CCSXHDocument();
       
    75 
       
    76 	public: // from CAknDocument
       
    77 /** 
       
    78 *  @function CreateAppUiL
       
    79 *  @since S60 3.2
       
    80 *  Create a CCSXHAppUi object and return a pointer to it
       
    81 *  @return CCSXHAppUi class pointer
       
    82 */		
       
    83   	    CEikAppUi* CreateAppUiL();
       
    84 	    
       
    85   	public:
       
    86 /** 
       
    87 *  @function SetDisplayTopic
       
    88 *  @since S60 3.2
       
    89 *  @param aDisplayTopic - HelpContentbase Class pointer
       
    90 */  	
       
    91 		void SetDisplayTopic(CCSXHHelpContentBase *aDisplayTopic);
       
    92 /** 
       
    93 *  @function SetDisplayAndPrevTopic
       
    94 *  @since S60 3.2
       
    95 *  @param aDisplayTopic - HelpContentbase Class pointer
       
    96 */  	
       
    97 		void SetDisplayAndPrevTopic(CCSXHHelpContentBase *aDisplayTopic);
       
    98 /** 
       
    99 *  @function GetDisplayTopic
       
   100 *  @since S60 3.2
       
   101 *  @return HelpContentBase Class pointer
       
   102 */ 
       
   103    inline  CCSXHHelpContentBase* GetDisplayTopic() const 
       
   104    {return iDisplayTopic;}
       
   105 /** 
       
   106 *  @function GetPrevTopic
       
   107 *  @since S60 3.2
       
   108 *  @return HelpContentBase Class pointer
       
   109 */		
       
   110 	inline CCSXHHelpContentBase* GetPrevTopic() const
       
   111 	{return iPrevTopic;}
       
   112 /** 
       
   113 *  @function ClearPrevTopic
       
   114 *  @since S60 3.2
       
   115 *  @Clears the previous topic
       
   116 */		
       
   117 	inline void ClearPrevTopic()
       
   118 	{iPrevTopic = NULL;}
       
   119 /** 
       
   120 *  @function GetHelpDataBase
       
   121 *  @since S60 3.2
       
   122 *  @return HelpContentBase Class pointer
       
   123 */		
       
   124  	inline CCSXHHelpDataBase* GetHelpDataBase() const
       
   125  	{return iHelpDataBase;}
       
   126 
       
   127 /** 
       
   128 *  @function GetHelpDataBase
       
   129 *  @since S60 3.2
       
   130 *  Sends a Command to Application UI Class
       
   131 *  @param aCommand - Command to be Handled
       
   132 */		
       
   133 	 	void SendMessageToAppUiL(TInt aCommand);
       
   134 
       
   135 /** 
       
   136 *  @function SetContextTopicAsDisplayTopicL
       
   137 *  @since S60 3.2
       
   138 *  Parse the Message, Get the topic for Display & set this Object as Current Display Object
       
   139 *  @param aContextMessage - Message from Other Application for Context Sensitive launch
       
   140 *  @return  ETrue for Topic Found /EFalse for topic Not found
       
   141 */	 	
       
   142 	 	TBool SetContextTopicAsDisplayTopicL(const TDesC8& aContextMessage);
       
   143 
       
   144 /** 
       
   145 *  @function GetHtmlTopicForUrlL
       
   146 *  @since S60 3.2
       
   147 *  Get the Object for HTML topic using url Name
       
   148 *  @param url - url Name
       
   149 *  @return Pointer to the HelpDataBase which contains HTMLtopic info
       
   150 */	 	
       
   151 	 	CCSXHHelpContentBase* GetHtmlTopicForUrlL(const TDesC &url);
       
   152 
       
   153 /** 
       
   154 *  @function InitProgressBar
       
   155 *  @since S60 3.2
       
   156 *  Initializes the progress bar
       
   157 */	 	
       
   158 	    void InitProgressBarL();
       
   159 
       
   160 /** 
       
   161 *  @function FreeProgressBar
       
   162 *  @since S60 3.2
       
   163 *  Frees the progress bar
       
   164 */	 	
       
   165 	 	void FreeProgressBarL();
       
   166 	 	
       
   167 /**
       
   168         * function for TCAllBack protocol.
       
   169         * called directly
       
   170         * @since 1.1
       
   171         * @param aThis is the pointer to the actual instance
       
   172         * @return Whether finished or not
       
   173         */
       
   174         static TInt CallBack(TAny* aThis);
       
   175         
       
   176         /**
       
   177         * call back function.
       
   178         * called by CallBackL()
       
   179         * @since 1.1
       
   180         * @return Whether finished or not
       
   181         */
       
   182         TInt DoCallBackL();	 	
       
   183 	 	
       
   184 	private:
       
   185 /** 
       
   186 *  @function CCSXHDocument
       
   187 *  @since S60 3.2
       
   188 *  Perform the first phase of two phase construction
       
   189 */
       
   190 	    CCSXHDocument(
       
   191 	// application creating this document
       
   192 	CEikApplication& aApp);
       
   193   
       
   194   	private:  
       
   195     	CCSXHHelpDataBase *iHelpDataBase;
       
   196     	CAknAppUi *iHelpAppUi;
       
   197     	
       
   198     	CCSXHHelpContentBase *iDisplayTopic;
       
   199     	CCSXHHelpContentBase *iPrevTopic;
       
   200     	
       
   201     	CAknProgressDialog *iProgressDialog;
       
   202     	
       
   203     	CIdle *iIdle;
       
   204     	
       
   205     	TInt iTotalKeywordsInResultView;
       
   206     };
       
   207 
       
   208 
       
   209 
       
   210 #endif /* INC_CSXHDOCUMENT_H_HEADER_INCLUDED_BC0121B7 */