--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspotfw/hsbrowser/inc/hsbrowsercontainer.h Wed Sep 01 12:20:32 2010 +0100
@@ -0,0 +1,333 @@
+/*
+* Copyright (c) 2007 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: Declares container control for HotSpot Browser Application.
+*
+*/
+
+
+
+#ifndef HSBROWSERCONTAINER_H
+#define HSBROWSERCONTAINER_H
+
+// INCLUDES
+#include <coecntrl.h>
+#include <coecobs.h>
+#include <ictscommon.h>
+#include <ictsclientinterface.h>
+#include <eikmenup.h>
+#include <brctlinterface.h>
+#include <wlanmgmtcommon.h>
+#include <wlanmgmtclient.h>
+
+// FORWARD DECLARATIONS
+class CBrCtlInterface;
+class CHsBrowserSpecialLoadObserver;
+class CHsBrowserLoadEventObserver;
+class CHsBrowserIctsObserver;
+class CHsBrowserHsSrvNotifs;
+class CHsBrowserModel;
+class TCoeEvent;
+class CAknNavigationControlContainer;
+class CAknNavigationDecorator;
+class CAknIndicatorContainer;
+class CAknNaviLabel;
+
+// CONSTANTS
+const TInt KComponentsNumber = 1;
+const TInt KBrCtlComponentIndex = 0;
+
+// CLASS DECLARATION
+/**
+* CHsBrowserContainer class.
+* This is the container control class.
+*/
+class CHsBrowserContainer : public CCoeControl
+ {
+ public: // Constructors and destructor
+
+ /**
+ * C++ default constructor.
+ *
+ * @param aModel Pointer to model of HsBrowser.
+ */
+ CHsBrowserContainer( CHsBrowserModel* aModel );
+
+ /**
+ * EPOC default constructor.
+ *
+ * @param aRect Frame rectangle for container.
+ */
+ void ConstructL( const TRect& aRect );
+
+ /**
+ * Destructor.
+ */
+ ~CHsBrowserContainer();
+
+ public:
+ enum TNaviPaneEvent
+ {
+ ELoadingLoginPage,
+ ELoadingUrl,
+ EPageTitleAvailable,
+ ELoadingFinished
+ };
+
+
+ public: // new
+
+ /**
+ * Initializes the indicators in the navi pane.
+ */
+ void InitNaviPaneL();
+
+ /**
+ * Updates the indicators in the navi pane.
+ */
+ void UpdateNaviPane( TNaviPaneEvent aUpdateEvent );
+
+ /**
+ * Pass a command to the Browser Control
+ *
+ * @param aCommand The command that the Browser Control should process.
+ */
+ void HandleCommandL( TInt aCommand );
+
+ /**
+ * Handles key events
+ *
+ * @param aKeyEvent The key event that occurred.
+ * @param aType The window server event type that is being handled
+ * @return TKeyResponse Value indicates whether or not the key event was consumed by the control.
+ * The default implementation simply returns EKeyWasNotConsumed.
+ */
+ TKeyResponse HandleKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
+
+ /**
+ * Handle events when when an application switches to,
+ * or from, the foreground.
+ *
+ * @param aForeground ETrue if the application is in the foreground,
+ * otherwise EFalse.
+ */
+ void ProcessForegroundEvent( TBool aForeground );
+
+ /**
+ * Send application to foreground.
+ */
+ void SendToForeground();
+
+ /**
+ * Restore original ordinary position and priority.
+ */
+ void RestorePositionAndPriority();
+
+ /**
+ * Send application to background.
+ */
+ void SendToBackground();
+
+ /**
+ * Update softkeys according to model state.
+ */
+ void UpdateSoftkeys();
+
+ /**
+ * Show login complete information note.
+ */
+ void ShowLoginCompleteNote();
+
+ /**
+ * Show connection closed information note.
+ */
+ void ShowConnClosedNote();
+
+ /**
+ * Initialize model, attach to connection, and load specified URL.
+ *
+ * @param aUrl URL of authentication web page.
+ * @param aIapId ID of IAP.
+ * @param aNetId Network ID.
+ * @return KErrNone, if successful, otherwice one of system wide errorcodes.
+ */
+ TInt LoadRedirect( const TPtrC& aUrl, TInt aIapId, TInt aNetId );
+
+ /**
+ * Called when wlan connection is lost.
+ * Shows information note and exits.
+ */
+ void ProcessWlanConnModeNotConnected();
+
+ /**
+ * Returns boolean value for application foreground status.
+ *
+ * @return ETrue / EFalse
+ */
+ TBool IsForeground();
+
+ public: // access
+
+ /**
+ * Accessor method for iBrCtlInterface
+ *
+ * @return CBrCtlInterface* A pointer to the browser control interface.
+ */
+ inline CBrCtlInterface* BrCtlInterface();
+
+ /**
+ * Accessor method for iHsBrowserSpecialLoadObserver.
+ *
+ * @return CHsBrowserSpecialLoadObserver* A pointer to the special load observer.
+ */
+ inline CHsBrowserSpecialLoadObserver* HsBrowserSpecialLoadObserver();
+
+ /**
+ * Accessor method for iHsBrowserIctsObserver.
+ *
+ * @return CHsBrowserIctsObserver* A pointer to the Internet connectivity test observer.
+ */
+ inline CHsBrowserIctsObserver* HsBrowserIctsObserver();
+
+ /**
+ * Accessor method for iModel.
+ *
+ * @return CHsBrowserModel* A pointer to the model of HsBrowser.
+ */
+ inline CHsBrowserModel* Model();
+
+ /**
+ * Accessor method for iNaviLabel.
+ *
+ * @return CAknNaviLabel* A pointer to the label control in the navigation pane.
+ */
+ inline CAknNaviLabel* NaviLabel();
+
+ /**
+ * Get boolean value if input box is active or not.
+ *
+ * @return ETrue / EFalse
+ */
+ inline TBool ActiveInputBox();
+
+ /**
+ * Set input box active flag
+ */
+ inline void SetActiveInputBox( TBool aActiveInputBox );
+
+ private: // From CoeControl
+
+ /**
+ * From CoeControl,SizeChanged.
+ */
+ void SizeChanged();
+
+ /**
+ * From CoeControl,CountComponentControls.
+ */
+ TInt CountComponentControls() const;
+
+ /**
+ * From CCoeControl,ComponentControl.
+ */
+ CCoeControl* ComponentControl( TInt aIndex ) const;
+
+ /**
+ * From CCoeControl,Handle key events.
+ */
+ TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
+ TEventCode aType);
+
+ /**
+ * From CCoeControl,Handle resource change events.
+ */
+ void HandleResourceChange( TInt aType );
+
+ private: //data
+
+ /**
+ * Pointer to the browser control interface.
+ * Owned.
+ */
+ CBrCtlInterface* iBrCtlInterface;
+
+ /**
+ * Command Base
+ */
+ TInt iCommandBase;
+
+ /**
+ * Special Load Observer
+ */
+ CHsBrowserSpecialLoadObserver* iHsBrowserSpecialLoadObserver;
+
+ /**
+ * Load Event Observer
+ */
+ CHsBrowserLoadEventObserver* iHsBrowserLoadEventObserver;
+
+ /**
+ * Internet connectivity test observer
+ */
+ CHsBrowserIctsObserver* iHsBrowserIctsObserver;
+
+ /**
+ * Notifications from hotspot server.
+ */
+ CHsBrowserHsSrvNotifs* iHsBrowserHsSrvNotifs;
+
+ /**
+ * Model of HsBrowser
+ */
+ CHsBrowserModel* iModel;
+
+ /**
+ * Pointer to default control in the status pane's navigation pane.
+ * Not owned.
+ */
+ CAknNavigationControlContainer* iNaviPane;
+
+ /**
+ * Pointer to the editor indicator control in the navigation pane.
+ * Owned.
+ */
+ CAknNavigationDecorator* iEditorIndicatorContainer;
+
+ /**
+ * Pointer to the editor indicator control in the navigation pane
+ * Not owned.
+ */
+ CAknIndicatorContainer* iIndiContainer;
+
+ /**
+ * Resource.
+ */
+ TInt iResource;
+
+ /**
+ * Flag for softkey press.
+ */
+ TBool iActiveInputBox;
+
+ /**
+ * handle to WlanMgmtClient
+ */
+ CWlanMgmtClient *iMgtClient;
+ };
+
+#include "hsbrowsercontainer.inl"
+
+#endif
+
+// End of File
+