S60 3rd Edition SDK for Symbian OS
Example Applications Guide

WebClientAppUI.h

00001 /*
00002 * ==============================================================================
00003 *  Name        : WebClientAppUI.h
00004 *  Part of     : WebClient
00005 *  Interface   : 
00006 *  Description : 
00007 *  Version     : 
00008 *
00009 *  Copyright (c) 2005-2006 Nokia Corporation.
00010 *  This material, including documentation and any related 
00011 *  computer programs, is protected by copyright controlled by 
00012 *  Nokia Corporation.
00013 * ==============================================================================
00014 */
00015 
00016 #ifndef WEBCLIENTAPPUI_H
00017 #define WEBCLIENTAPPUI_H
00018 
00019 // INCLUDES
00020 #include <aknappui.h>
00021 #include <aknprogressdialog.h>
00022 
00023 // CONSTANTS
00024 // Schemes for given uris
00025 _LIT(KHttpPrefix, "http://");
00026 _LIT8(KHttpPrefix8, "http://");
00027 
00028 // HTTPS schemes
00029 _LIT(KHttpsPrefix, "https://");
00030 _LIT8(KHttpsPrefix8, "https://");
00031 
00032 // FORWARD DECLARATIONS
00033 class CWebClientContainer;
00034 class CWebClientEngine;
00035 class CAknWaitDialog;
00036 
00037 // CLASS DECLARATION
00038 
00039 /**
00040 * Application UI class.
00041 * Provides support for the following features:
00042 * - EIKON control architecture
00043 */
00044 class CWebClientAppUi : public CAknAppUi,
00045                         public MProgressDialogCallback
00046     {
00047     public:
00048         /**
00049         * ConstructL()
00050         * Perform the second phase construction of a CWebClientAppUi object.
00051         */
00052         void ConstructL();
00053 
00054         /**
00055         * CWebClientAppUi()
00056         * First phase construction of CWebClientAppUi.
00057         */
00058         CWebClientAppUi();
00059 
00060         /**
00061         * ~CWebClientAppUi()
00062         * Destructor for CWebClientAppUi.
00063         */
00064         ~CWebClientAppUi();
00065 
00066         /**
00067         * RemoveWaiDialogL()
00068         * Called by CWebClientEngine when Http transaction is finished.
00069         */
00070         void RemoveWaitDialogL();
00071 
00072     private:
00073         /**
00074         * From CEikAppUi
00075         * HandleCommandL()
00076         * Handles user commands.
00077         * @param aCommand: Command ID.
00078         */
00079         void HandleCommandL( TInt aCommand );
00080 
00081         /**
00082         *  HandleUrlRequestL()
00083         *  Handles user command Request URL.
00084         *  Called from HandleCommandL()
00085         */
00086                 void HandleUrlRequestL();
00087 
00088         /**
00089         * HandleResourceChangeL()
00090         * Called by framework when layout is changed.
00091         */
00092         virtual void HandleResourceChangeL(TInt aType);
00093 
00094         /**
00095         *  HandleStatusPaneSizeChange()
00096         *  Called by the framework when the application status pane
00097         *  size is changed.
00098         */
00099         void HandleStatusPaneSizeChange();
00100 
00101         /**
00102         * From CEikAppUi, handles key events.
00103         * @param aKeyEvent Event to handled.
00104         * @param aType Type of the key event. 
00105         * @return Response code (EKeyWasConsumed, EKeyWasNotConsumed). 
00106         */
00107         virtual TKeyResponse HandleKeyEventL(
00108             const TKeyEvent& aKeyEvent,TEventCode aType );
00109 
00110         /**
00111         * From MProgressDialogCallBack
00112         * Is called when a dialog is dismissed.
00113         * @param aButtonId: ButtunId when a dialog is dismissed.
00114         */
00115         void DialogDismissedL( TInt aButtonId );
00116 
00117     private: // Data
00118         CWebClientContainer*    iContainer;
00119         CWebClientEngine*       iClient;
00120         CAknWaitDialog*         iWaitDialog;
00121         };
00122 
00123 #endif // WEBCLIENTAPPUI_H
00124 

© Nokia 2006

Back to top