diff -r 30a5f517c615 -r b3d8f88532b7 hotspotfw/hsbrowser/src/hsbrowserloadeventobserver.cpp --- a/hotspotfw/hsbrowser/src/hsbrowserloadeventobserver.cpp Fri Jun 11 16:27:29 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,324 +0,0 @@ -/* -* 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: Handle load progress events -* -*/ - - - -// INCLUDE FILES -#include -#include -#include -#include -#include -#include -#include -#include "hotspotclientserver.h" - -#include "hsbrowsercontainer.h" -#include "hsbrowserloadeventobserver.h" -#include "hsbrowserictsobserver.h" -#include "hsbrowsermodel.h" -#include "hsbrowsercommon.h" -#include "am_debug.h" - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CHsBrowserLoadEventObserver::NewL -// --------------------------------------------------------- -// -CHsBrowserLoadEventObserver* -CHsBrowserLoadEventObserver::NewL( CHsBrowserContainer* aContainer ) - { - DEBUG( "CHsBrowserLoadEventObserver::NewL()" ); - CHsBrowserLoadEventObserver* self = new(ELeave) - CHsBrowserLoadEventObserver( aContainer ); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------- -// CHsBrowserLoadEventObserver::~CHsBrowserLoadEventObserver -// --------------------------------------------------------- -// -CHsBrowserLoadEventObserver::~CHsBrowserLoadEventObserver() - { - DEBUG( "CHsBrowserLoadEventObserver::~CHsBrowserLoadEventObserver()" ); - if ( iIcts ) - { - delete iIcts; - } - - } - -// --------------------------------------------------------- -// CHsBrowserLoadEventObserver::HandleBrowserLoadEventL -// --------------------------------------------------------- -// -void CHsBrowserLoadEventObserver::HandleBrowserLoadEventL( - TBrCtlDefs::TBrCtlLoadEvent aLoadEvent, - TUint /* aSize */, - TUint16 /* aTransactionId */ ) - { - DEBUG1( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() event=%d", aLoadEvent ); - - switch( aLoadEvent ) - { - case TBrCtlDefs::EEventUrlLoadingStart: - { - if ( !iIsFirstLoad ) - { - iContainer->UpdateNaviPane( CHsBrowserContainer::ELoadingUrl ); - } - else - { - iIsFirstLoad = EFalse; - } - // no break, fall through - } - case TBrCtlDefs::EEventNewContentDisplayed: - case TBrCtlDefs::EEventNewContentStart: - { - DEBUG( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() EEventNewContentStart" ); - if ( iDoIct ) - { - DEBUG( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() Start testing internet connectivity."); - iDoIct = EFalse; - TRAPD( err, TestInternetConnectivityL() ); - if ( err != KErrNone ) - { - DEBUG1( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() err=%d.", err ); - } - } - break; - } - case TBrCtlDefs::EEventLoadFinished://EEventUrlLoadingFinished: - { - DEBUG( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() EEventUrlLoadingFinished" ); - // We've finished loading one element of page - iContainer->UpdateNaviPane( CHsBrowserContainer::ELoadingFinished ); - break; - } - case TBrCtlDefs::EEventTitleAvailable: - { - DEBUG( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() EEventTitleAvailable" ); - UpdateNameL(); - break; - } - default: - { - break; - } - } // end of switch - - UpdateDoIctFlagL(); - - if ( iContainer ) - { - iContainer->DrawNow(); - iContainer->MakeVisible( ETrue ); - } - } - -// --------------------------------------------------------- -// CHsBrowserLoadEventObserver::CHsBrowserLoadEventObserver -// --------------------------------------------------------- -// -CHsBrowserLoadEventObserver::CHsBrowserLoadEventObserver( - CHsBrowserContainer* aContainer ) : - iContainer( aContainer ), - iIcts( NULL ), - iDoIct( EFalse ), - iIsFirstLoad( ETrue ) - { - DEBUG( "CHsBrowserLoadEventObserver::CHsBrowserLoadEventObserver()" ); - } - -// --------------------------------------------------------- -// CHsBrowserLoadEventObserver::ConstructL -// --------------------------------------------------------- -// -void -CHsBrowserLoadEventObserver::ConstructL() - { - DEBUG( "CHsBrowserLoadEventObserver::ConstructL()" ); - } - -// ---------------------------------------------------- -// CHsBrowserLoadEventObserver::UpdateNaviLabel() -// ---------------------------------------------------- -// -void CHsBrowserLoadEventObserver::UpdateNaviLabel( const TDesC& aName ) - { - DEBUG( "CHsBrowserLoadEventObserver::UpdateNaviLabel()" ); - if ( iContainer ) - { - TRAPD( err, iContainer->NaviLabel()->SetTextL( aName ) ); - if ( err == KErrNone ) - { - iContainer->NaviLabel()->DrawDeferred( ); - } - else - { - DEBUG1( "CHsBrowserLoadEventObserver::UpdateNaviLabel() err=%d", err ); - } - } - } - -// ---------------------------------------------------- -// CHsBrowserLoadEventObserver::UpdateFastSwapNameL() -// ---------------------------------------------------- -// -void CHsBrowserLoadEventObserver::UpdateFastSwapNameL( const TDesC& aName ) - { - DEBUG( "CHsBrowserLoadEventObserver::UpdateFastSwapNameL()" ); - - RApaLsSession appArcSession; - TInt err = KErrNone; - TApaAppInfo info; - - err = appArcSession.Connect(); // connect to AppArc server - if( KErrNone == err ) - { - CleanupClosePushL( appArcSession ); - appArcSession.GetAppInfo( info, KUidHsBrowserApp ); - - if ( aName.Length() > KApaMaxAppCaption ) - { - TPtrC shortName = aName.Left( KApaMaxAppCaption ); - err = appArcSession.SetAppShortCaption( shortName, ELangNone, KUidHsBrowserApp ); - } - else - { - err = appArcSession.SetAppShortCaption( aName, ELangNone, KUidHsBrowserApp ); - } - if ( err != KErrNone ) - { - DEBUG1( "CHsBrowserLoadEventObserver::UpdateFastSwapNameL() err=%d", err ); - } - CleanupStack::PopAndDestroy( &appArcSession ); - } - } - -// ---------------------------------------------------- -// CHsBrowserLoadEventObserver::UpdateNameL() -// ---------------------------------------------------- -// -void CHsBrowserLoadEventObserver::UpdateNameL() - { - DEBUG( "CHsBrowserLoadEventObserver::UpdateNameL()" ); - CBrCtlInterface* brCtlInterface = NULL; - if ( iContainer ) - { - brCtlInterface = iContainer->BrCtlInterface(); - } - if ( !brCtlInterface ) - { - return; - } - HBufC* title = brCtlInterface->PageInfoLC( TBrCtlDefs::EPageInfoTitle ); - if ( title ) - { - UpdateFastSwapNameL( *title ); - CHsBrowserModel* model = iContainer->Model(); - if ( model ) - { - model->SetPageTitle( *title ); - iContainer->UpdateNaviPane( CHsBrowserContainer::EPageTitleAvailable ); - } - } - CleanupStack::PopAndDestroy( title ); - } - -// ----------------------------------------------------------------------------- -// CHsBrowserLoadEventObserver::TestInternetConnectivityL -// ----------------------------------------------------------------------------- -// -void CHsBrowserLoadEventObserver::TestInternetConnectivityL() - { - DEBUG( "CHsBrowserLoadEventObserver::TestInternetConnectivity() 7" ); - - if ( !iContainer ) - { - DEBUG( "CHsBrowserLoadEventObserver::TestInternetConnectivity() iContainer=NULL" ); - return; - } - CHsBrowserModel* model = iContainer->Model(); - if ( !model ) - { - DEBUG( "CHsBrowserLoadEventObserver::TestInternetConnectivity() model=NULL" ); - return; - } - CHsBrowserIctsObserver* observer = iContainer->HsBrowserIctsObserver(); - if ( !observer ) - { - DEBUG( "CHsBrowserLoadEventObserver::TestInternetConnectivity() observer=NULL" ); - return; - } - DEBUG1( "CHsBrowserLoadEventObserver::TestInternetConnectivity() iap=%d", model->IapId() ); - DEBUG1( "CHsBrowserLoadEventObserver::TestInternetConnectivity() netid=%d", model->NetId() ); - if ( !iIcts ) - { - iIcts = CIctsClientInterface::NewL( model->IapId(), model->NetId(), *observer ); - } - else - { - // stop previously started polling - iIcts->StopPolling(); - } - // Start polling - DEBUG( "CHsBrowserLoadEventObserver::TestInternetConnectivity() starting ICT" ); - iIcts->StartPolling( KTotalPollingTime, KExecutionTimeInterval ); - } - -// ----------------------------------------------------------------------------- -// CHsBrowserLoadEventObserver::UpdateDoIctFlagL -// ----------------------------------------------------------------------------- -// -void CHsBrowserLoadEventObserver::UpdateDoIctFlagL() - { - DEBUG( "CHsBrowserLoadEventObserver::UpdateDoIctFlagL()" ); - CBrCtlInterface* brCtlInterface = NULL; - CHsBrowserModel* model = NULL; - if ( iContainer ) - { - brCtlInterface = iContainer->BrCtlInterface(); - model = iContainer->Model(); - } - if ( brCtlInterface && model ) - { - // get url - HBufC* url = brCtlInterface->PageInfoLC( TBrCtlDefs::EPageInfoUrl ); - if ( url ) - { - DEBUG1( "url=%S", url ); - if ( url->Compare( *model->Url() ) == 0 ) - { // match - iDoIct = ETrue; - DEBUG( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() iDoIct = ETrue." ); - } - } - else - { - DEBUG( "CHsBrowserLoadEventObserver::UpdateDoIctFlagL() url=NULL" ); - } - CleanupStack::PopAndDestroy( url ); - } - } - -// End of File