pnpmobileservices/pnpms/OnlineSupport/src/CCMAppUi.cpp
changeset 18 7d11f9a6646f
parent 4 75a71fdb4c92
child 21 c707676bf59f
--- a/pnpmobileservices/pnpms/OnlineSupport/src/CCMAppUi.cpp	Tue Feb 02 00:03:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2651 +0,0 @@
-/*
-* Copyright (c) 2003-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:  This module contains the implementation of CCMAppUi class
-*                methods
-*
-*/
-
-
-// INCLUDE FILES
-#include <avkon.hrh>
-#include <apgcli.h>                     // for RApaLsSession
-#include <commdb.h>                     // for CCommsDatabase
-#include <cdbpreftable.h>               // for CCommsDbConnectionPrefTableView
-#include <AknGlobalNote.h>              // for CAknGlobalNote
-#include <AknGlobalConfirmationQuery.h> // for CAknGlobalConfirmationQuery
-#include <escapeutils.h>
-#include <etelmm.h>
-#include <textresolver.h>
-#include <sysutil.h>
-#include <httpfiltercommonstringsext.h>
-#include <OnlineSupport.rsg>            // has to be system include.
-#include <centralrepository.h>          // link against centralrepository.lib
-#include <BrowserUiSDKCRKeys.h>         // for KCRUidBrowser
-#include <CoreApplicationUIsSDKCRKeys.h>// for KCRUidCoreApplicationUIs
-//#include <BrowserUiInternalCRKeys.h>    //  BrowserUiSDKCRKeys.h file can replace this header file
-#include <WebUtilsInternalCRKeys.h>     // for the profile strings
-
-#include "OnlineSupportLogger.h"
-#include "CCMAppUi.h"
-#include "CCMRegistrationMonitor.h"
-#include "CCMSocketsEngine.h"
-#include "OnlineSupport.hrh"
-#include "PnpUtilImpl.h"
-#include "CCMDocument.h"
-#include "MiniBrowser.h"
-#include "DeviceParameterDefs.h"
-#include "VersionStrings.h"
-#include "OnlineSupportPrivateCRKeys.h" // Own central repository keys
-#include <PnpProvUtil.h>
-#include <aknnotewrappers.h>
-#include <StringLoader.h>
-
-// EXTERNAL DATA STRUCTURES
-// None
-
-// EXTERNAL FUNCTION PROTOTYPES  
-// None
-
-// CONSTANTS
-
-// UID of the application
-const TUid KUidConfigurationManager = { 0x10204338 }; 
-// TimeoutValue for the RegistrationMonitor,
-// Registration monitor itself has a time-out of 15 seconds
-const TInt KMonitoringTimeOut = 20000000;
-// TimeoutValue for the ConnectionTest
-const TInt KConnectionTimeOut = 35000000;
-// Timeout after the startupOperation will continue after ConstructL()
-const TInt KStartUpTimeOut = 20;
-
-// 0.1s Timeout for closing the app after the user has selected "Cancel" to
-// ConfirmationDialogL or to iWaitDialog.
-// See comments on TApplicationStatus (CCMAppUi.h)
-const TInt KExitTimeOut = 100000;
-
-_LIT( KInitAccess, "initAccess" );
-
-_LIT( KSlash,"/");
-
-// Help portal 
-_LIT(KHelpPortal,".help-portal.com");
-
-// Nokia
-_LIT( KServerNokia,"nokia" );
-_LIT( KNokia,"pnpms.nokia.com");
-
-// HTTP
-_LIT(KHttp, "http://");
-
-// Default server string
-_LIT(KDefaultServerString,"www");
-
-// Default page string
-_LIT(KDefaultPageString,"page1");
-
-_LIT( KMNC0, "mnc0" );
-_LIT( KMCC, "mcc" );
-_LIT( KGprs, "gprs" );
-_LIT( KDot, "." );
-
-const TInt KMaxAPNLength = 256;
-
-_LIT( KDefaultRoamingName, "PNP Default Roaming" );
-
-_LIT( KInitAccessRoamingName, "PNP InitAccess Roaming" );
-
-const TInt KMaxSilentModeRedirectCount(3);
-
-
-// MACROS
-// None
-
-// LOCAL CONSTANTS AND MACROS
-// None
-
-// MODULE DATA STRUCTURES
-// None
-
-// LOCAL FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-// None
-
-// ============================= LOCAL FUNCTIONS ===============================
-// None
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CCMAppUI::CCMAppUi
-// -----------------------------------------------------------------------------
-//
-CCMAppUi::CCMAppUi():
-    iAccessPoint(0),
-    iAutoStart( EFalse),
-    iTokenOverride( EFalse ),
-    iStartingBrowser( EFalse ),
-    iRedirectsLeft( KMaxSilentModeRedirectCount ),
-    iInitAccessOn(KErrNone)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUi::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::ConstructL()
-    {
-    LOGSTRING( "Enter to CCMAppUi::ConstrtuctL" );
-    // Send to background
-    BaseConstructL(ENoScreenFurniture);
-    TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
-    TApaTask task = taskList.FindApp( KUidConfigurationManager );
-    task.SendToBackground();
-    
-    HideApplicationFromFSW();
-
-    iPreferencesChanged = EFalse;
-    iFirstStartInHomeNetwork = EFalse;
-    iNetworkStatusOk = EFalse; 
-    iNetworkStatus = CCMRegistrationMonitor::EStatusUnknown;
-    iApplicationStatus = EAppStatusInactive;
-    iInitAccessPointUsed = EFalse;
-    
-    iWaitDialogProgressVal = 1;
-
-    LOGSTRING( "BaseConstructOk" );
-    
-    //this->StatusPane()->SwitchLayoutL(R_AVKON_STATUS_PANE_LAYOUT_USUAL_EXT);
-    this->StatusPane()->MakeVisible( EFalse );
-
-    CEikonEnv::Static()->AddForegroundObserverL( *this );
-
-    TRAPD( err, iRepository = CRepository::NewL( KCRUidConfigurationManager ) );
-    if( err != KErrNone )
-        {
-        LOGSTRING2( "Central repository init: %i", err );
-        User::Leave( err );
-        }
-    err = GetIntValue(KOnlineSupportInitAccessOn,iInitAccessOn);
-    if( KErrNone == err && iInitAccessOn == KErrNone)
-    	{//Fetaure off
-    	iConnectingVia = EConnectingViaInit;
-    	}
-    else //feature off or Issue in reading cenrep key
-    	{
-    	iConnectingVia = EConnectingViaNull;
-    	}
-    // The default values; these might change later in ProcessCommandParametersL
-    SetServerString( KDefaultServerString );
-    SetPageString( KDefaultPageString );
-    SetConnectReason( EConnectReasonUnknown );
-
-    FetchProductModelAndSwVersionL();
-
-    iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
-    iEngine = CCMSocketsEngine::NewL( *this );
-    iRegistrationMonitor = CCMRegistrationMonitor::NewL( *this );
-    iApplicationStatus = EAppStatusStartingUp;
-    LOGSTRING( "Exit from ConstructL()" );
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::IsNetworkConnectionsAllowedL
-// -----------------------------------------------------------------------------
-//
-TBool CCMAppUi::IsNetworkConnectionsAllowedL()
-    {
-    LOGSTRING( "Enter to CCMAppUi::IsNetworkConnectionsAllowedL()" );
-    TBool networkConnectionsAllowed( EFalse );
-    TInt allowed(0);
-    CRepository* coreAppUisCr = CRepository::NewLC( KCRUidCoreApplicationUIs );
-    User::LeaveIfError( coreAppUisCr->Get( KCoreAppUIsNetworkConnectionAllowed, allowed ) );
-    CleanupStack::PopAndDestroy( coreAppUisCr );
-    if( allowed == ECoreAppUIsNetworkConnectionAllowed )
-        {
-        LOGSTRING( "ConnectionAllowed" );
-        networkConnectionsAllowed = ETrue;
-        }
-    else
-        {
-	// display dialog that operation that possible in offline mode
-   	HBufC* string = StringLoader::LoadLC( R_OFFLINE_MODE );
-        CAknGlobalNote* globalNote = CAknGlobalNote::NewL();
-        CleanupStack::PushL( globalNote );
-        globalNote->ShowNoteL( EAknGlobalErrorNote , *string );
-        CleanupStack::PopAndDestroy(2 );
-	}
-
-    LOGSTRING( "Exit from CCMAppUi::IsNetworkConnectionsAllowedL()" );
-    return networkConnectionsAllowed;
-    }
-
-// Destructor
-// -----------------------------------------------------------------------------
-// CCMAppUI::~CCMAppUi
-// -----------------------------------------------------------------------------
-//
-CCMAppUi::~CCMAppUi()
-    {
-    LOGSTRING( "Enter ~CCMAppUI" );
-
-    CEikonEnv::Static()->RemoveForegroundObserver( *this );
-
-    if (iTimer)
-        {
-        iTimer->Cancel();
-        }
-    delete iTimer;
-    LOGSTRING( "Timer deleted" );
-
-    if (iRegistrationMonitor)
-        {
-        iRegistrationMonitor->StopMonitoring();
-        }
-    delete iRegistrationMonitor;
-    LOGSTRING( "Monitor deleted" );
-
-    delete iRepository;
-
-    delete iMiniBrowser;
-    // Must be deleted after iMiniBrowser since iMiniBrowser uses RSocketServ and
-    // RConnection instances of iEngine
-    delete iEngine;
-    
-    if (iCommonDialogMonitor)
-        {
-        iCommonDialogMonitor->Cancel();
-        delete iCommonDialogMonitor;
-        }
-    if (iGlobalConfirmationQuery)
-        {
-        delete iGlobalConfirmationQuery;
-        }
-    if( iGlobalWaitNote )
-        {
-        //iGlobalWaitNote->CancelNoteL(iWaitNoteId);
-        delete iGlobalWaitNote;
-        }
-
-    LOGSTRING( "Exit ~CCMAppUI" );
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::ConfirmationDialogL
-// Activates Confirmation dialog
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::ConfirmationDialogL()
-    {
-    LOGSTRING("CCMAppUi::ConfirmationDialogL");
-    if( !iAutoStart ) 
-        {
-        HBufC* msgText = CEikonEnv::Static()->AllocReadResourceLC(
-            R_CONFMANAGER_CONFIRMATION ); 
-        
-        if (iCommonDialogMonitor)
-        {
-            iCommonDialogMonitor->Cancel();
-            delete iCommonDialogMonitor;
-            iCommonDialogMonitor = NULL;
-        }
-        // instantiate the active object CGlobalConfirmationObserver
-        iCommonDialogMonitor = CCMDialogMonitor::NewL( *this );
-        iCommonDialogMonitor->SetDialogMode( CCMDialogMonitor::EConfirmation );
-        // SetActive
-        iCommonDialogMonitor->Start();
-        // iGlobalConfirmationQuery is an instance of the global
-        // confirmation query class CAknGlobalConfirmationQuery.
-        // show the global confirmation query, set the iStatus variable
-        // of the active object as a parameter.
-        if (!iGlobalConfirmationQuery)
-            {
-            iGlobalConfirmationQuery = CAknGlobalConfirmationQuery::NewL();
-            }
-        
-        iGlobalConfirmationQuery->ShowConfirmationQueryL(
-            iCommonDialogMonitor->iStatus,
-            *msgText,
-            R_AVKON_SOFTKEYS_YES_NO__YES,
-            R_QGN_NOTE_QUERY_ANIM);
-            
-        CleanupStack::PopAndDestroy( msgText );
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::ErrorNoteConnectionL()
-// Activates error note.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::ErrorNoteConnectionL()
-    {
-    LOGSTRING( "CCMAppUi::ErrorNoteConnectionL" );
-    if( !iAutoStart ) 
-        {
-        HBufC* msgText = CEikonEnv::Static()->
-            AllocReadResourceLC( R_CONFMANAGER_ERRORNOTE ); 
-
-        CAknGlobalNote* globalNote = CAknGlobalNote::NewL();
-        CleanupStack::PushL( globalNote );
-        globalNote->ShowNoteL( EAknGlobalErrorNote , *msgText );
-        CleanupStack::PopAndDestroy( 2 );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::ErrorNoteUnknownL
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::ErrorNoteUnknownL( TInt aError )
-    {
-    LOGSTRING2( "CCMAppUi::ErrorNoteUnknownL %i", aError );
-    if( !iAutoStart ) 
-        {
-        CTextResolver* textResolver = CTextResolver::NewLC();
-        TPtrC errMsg = textResolver->ResolveErrorString( aError );
-        HBufC* errMsgBuf = HBufC::NewLC( errMsg.Length() );
-        errMsgBuf->Des().Append( errMsg );
-
-        CAknGlobalNote* globalNote = CAknGlobalNote::NewL();
-        CleanupStack::PushL( globalNote );
-        globalNote->ShowNoteL( EAknGlobalErrorNote , *errMsgBuf );
-        
-        CleanupStack::PopAndDestroy( globalNote );
-        CleanupStack::PopAndDestroy( errMsgBuf );
-        CleanupStack::PopAndDestroy( textResolver );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::ProcessCommandParametersL
-// 2 params
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CCMAppUi::ProcessCommandParametersL( TApaCommand /*aCommand*/, TFileName& /*aDocumentName*/ )
-    {
-    LOGSTRING( "CCMAppUi::ProcessCommandParametersL 2 params" );
-    return( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::ProcessCommandParametersL
-// 3 params
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CCMAppUi::ProcessCommandParametersL( TApaCommand /*aCommand*/, TFileName& /*aDocumentName*/, const TDesC8& aTail )
-    {
-    LOGSTRING( "CCMAppUi::ProcessCommandParametersL 3 params" );
-    LOGSTRING( "aTail:" );
-    LOGTEXT( aTail );
-    if( !IsNetworkConnectionsAllowedL() )
-        {
-        // network connections not allowed
-        LOGSTRING( "Network connections not allowed" );
-        //DelayedExit();
-        Exit();
-        return ETrue;
-        }
-
-    if( aTail.Length() == 0 )
-        {
-        LOGSTRING( "no params" )
-        }
-    else
-        {
-        // aTail is in 8-bit format, cast
-        // (The format was changed from 16-bit to 8-bit because of 3.0 porting;
-        // there is not CApaCommandLine::SetFullCommandLine in 3.0, SetTailEndL
-        // is used instead and it uses 8-bit format)
-        HBufC* paramsBuf = HBufC::NewLC( aTail.Length() );
-        TPtr paramsBufPtr = paramsBuf->Des();
-        paramsBufPtr.Copy( aTail );
-        TLex lexx( *paramsBuf );
-        TChar getchar;
-
-        for( ;; )
-            {
-            lexx.SkipSpace();
-            lexx.Mark();
-            TPtrC token = lexx.NextToken();
-
-            if( token.Length() == 0 )
-                {
-                LOGSTRING( "token length == 0");
-                break;
-                }
-            else if( token.Length() == 1 )
-                {
-                LOGSTRING( "token length == 1");
-                break;
-                }
-
-            // s"www"
-            // 012345
-
-            if( token[1] == '\"' && token[token.Length()-1] != '\"' )
-                {
-                do
-                    {
-                    getchar = lexx.Get();
-                    } while( (getchar != '\"') && (getchar != 0) );
-                token.Set( lexx.MarkedToken() );
-                }
-
-            LOGSTRING( "token:" );
-            LOGTEXT( token );
-
-            TChar param = token[0];
-            TPtrC paramVal;
-            if( token[1] == '\"' )
-                {
-                if( token[2] == '\"' )
-                    {
-                    // just quotes, e.g. q""
-                    }
-                else
-                    {
-                    paramVal.Set( token.Mid(2,token.Length()-3) );
-                    }
-                }
-            else
-                {
-                paramVal.Set( token.Mid(1) );
-                }
-            
-            LOGSTRING( "paramVal:" );
-            LOGTEXT( paramVal );
-
-            switch( param )
-                {
-                case 's':
-                    {
-                    LOGSTRING( "setting server to:" );
-                    LOGTEXT( paramVal );
-                    SetServerString( paramVal );
-                    break;
-                    }
-                case 'p':
-                    {
-                    LOGSTRING( "setting page to:" );
-                    LOGTEXT( paramVal );
-                    SetPageString( paramVal );
-                    break;
-                    }
-                case 'r':
-                    {
-                    TLex lexx2( paramVal );
-                    TInt reason = 0;
-                    lexx2.Val(reason);
-                    // Store connect reason
-                    switch(reason)
-                        {
-                        case 0:
-                            SetConnectReason(CCMAppUi::EConnectReasonUnknown);
-                            LOGSTRING( "Unknown connection reason" );
-                            break;
-                        case 1:
-                            SetConnectReason(CCMAppUi::EConnectReasonFirstBoot);
-                            LOGSTRING( "Connection reason first boot" );
-                            break;
-                        case 2:
-                            SetConnectReason(CCMAppUi::EConnectReasonNewSim);
-                            LOGSTRING( "Connection reason new sim" );
-                            break;
-                        case 3:
-                            SetConnectReason(CCMAppUi::EConnectReasonUserTriggered);
-                            LOGSTRING( "Connection reason user triggered" );
-                            break;
-                        case 4:
-                            SetConnectReason(CCMAppUi::EConnectReasonApplicationTriggered);
-                            LOGSTRING( "Connection reason application triggered" );
-                            break;
-                        case 5:
-                            SetConnectReason(CCMAppUi::EConnectReasonRemoteTriggered);
-                            LOGSTRING( "Connection reason remote triggered" );
-                            break;
-                        default:
-                            LOGSTRING( "Invalid connect reason parameter" );
-                            break;
-                        }
-                    break;
-                    }
-                case 'q':
-                    {
-                    LOGSTRING( "setting query string to:" );
-                    LOGTEXT( paramVal );
-                    SetQueryString( paramVal );
-                    break;
-                    }
-                case 'a':
-                    {
-                    LOGSTRING( "setting autostart to:" );
-                    TLex lexx2( paramVal );
-                    TInt autostart = 0; // Default is "off"
-                    TInt hiddenEnabled(0);
-                    TInt err(KErrNone);
-                    lexx2.Val( autostart );
-                    LOGTEXT( paramVal );
-                    switch( autostart )
-                        {
-                        case 0:
-                            iAutoStart = EFalse;
-                            break;
-                        case 1:
-                            // check that autostart mode is allowed
-                            err = GetIntValue( KOnlineSupportHiddenEnabled, hiddenEnabled );
-                            if (err != KErrNone)
-                                {
-                                LOGSTRING2( "GetIntValue(KOnlineSupportHiddenEnabled) errorcode %i", err  );
-                                }
-                                
-                            if(hiddenEnabled == 1)
-                                {
-                                iAutoStart = ETrue;
-                                }
-                            else
-                                {
-                                LOGSTRING( "Autostart not allowed" );
-                                iAutoStart = EFalse;
-                                }
-                            break;
-                        default:
-                            iAutoStart = EFalse;
-                            break;
-                        }
-                    break;
-                    }
-                case 't':
-                    {
-                    LOGSTRING( "setting TOKEN override to:" );
-                    TLex lexx2( paramVal );
-                    TInt tokenOverride = 0; // Default is "off"
-                    lexx2.Val( tokenOverride );
-                    LOGTEXT( paramVal );
-                    switch( tokenOverride )
-                        {
-                        case 0:
-                            iTokenOverride = EFalse;
-                            break;
-                        case 1:
-                            iTokenOverride = ETrue;
-                            break;
-                        default:
-                            iTokenOverride = EFalse;
-                            break;
-                        }
-                    break;
-                    }
-                default:
-                    {
-                    LOGSTRING( "commandline parse error, unrecognized param indentifier" );
-                    break;
-                    }
-                }
-            lexx.SkipCharacters();    
-
-            }
-        LOGSTRING( "cmdline parsing done" );
-
-        CleanupStack::PopAndDestroy( paramsBuf );
-        } // else
-
-       
-    if( iAutoStart )
-        {
-        // do not show confirmation dialog, but call "ok"-button handler
-        CommonDialogDismissedL(CCMDialogMonitor::EConfirmation, EAknSoftkeyYes);
-        }
-    else
-        {
-        // show confirmation dialog to user, after user has accepted or cancelled
-        // CommonDialogDismissedL -function is called
-        ConfirmationDialogL();
-
-        }
-
-    
-    //StartTimeOut( KStartUpTimeOut );
-
-    //TRAP_IGNORE( WaitDialogL( iWaitDialogProgressVal ) );
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::DelayedExit
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::DelayedExit()
-    {
-    LOGSTRING("CCMAppUi::DelayedExit - begin");
-    StartTimeOut( KExitTimeOut );
-    iApplicationStatus = EAppStatusClosing;
-
-    // In case doing a delayed exit, iWaitDialog has not been deleted yet
-    // (except if delayed exit is being done via iWaitDialog "Cancel" selection
-    // -> see DialogDismissedL)
-    /*if( iWaitDialog && !iWaitDialogProcessFinished )
-        {
-        LOGSTRING( "iWaitDialog->ProcessFinishedL" );
-        iWaitDialogProcessFinished = ETrue;
-        TRAP_IGNORE( iWaitDialog->ProcessFinishedL() );
-        LOGSTRING( "iWaitDialog->ProcessFinishedL - done" );
-        }*/
-
-    LOGSTRING("DelayedExit - done");
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::TimeOutCallBack
-// -----------------------------------------------------------------------------
-//
-TInt CCMAppUi::TimeOutCallBack( TAny* aCCMAppUi )
-    {
-    TRAPD( err, ( ( CCMAppUi* )aCCMAppUi )->DoTimeOutCallBackL() );
-    // DoTimeOutCallBackL might have called Exit()
-    if( err == KLeaveExit )
-        {
-        User::Leave( KLeaveExit );
-        }
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::DoTimeOutCallBackL
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::DoTimeOutCallBackL()
-    {
-    LOGSTRING( "CCMAppUi::DoTimeOutCallBackL()" );
-    LOGSTRING2( "application status %i", iApplicationStatus  )
-    if( iTimer->IsActive() ) 
-        {
-        iTimer->Cancel();
-        }
-
-    switch( iApplicationStatus )
-        {
-        case EAppStatusMonitoring:
-            LOGSTRING("CCMAppUi calls StopMonitoring ");
-            iRegistrationMonitor->StopMonitoring();
-            iApplicationStatus = EAppStatusInactive;
-            //ErrorNoteNetworkL();
-            ErrorNoteConnectionL();
-            //DelayedExit();
-            Exit();
-            break;
-        case EAppStatusConnecting:
-            LOGSTRING("CCMAppUi calls disconnect");
-            iEngine->Disconnect();
-            iApplicationStatus = EAppStatusInactive;
-            ConnectionResultL( KErrTimedOut );
-            break;
-        case EAppStatusWaitingDisconnect:
-            LOGSTRING("Connection will be disconnected");
-            iEngine->Disconnect();
-            iApplicationStatus = EAppStatusInactive;
-            break;
-        case EAppStatusStartingUp:
-            LOGSTRING("Starting up");
-            StartUpOperationL();
-            break;
-        case EAppStatusClosing:
-            LOGSTRING("EAppStatusClosing");
-            LOGSTRING("Restore settings");
-            // Exit immediately, a call to DelayedExit has been made
-            // (and the exit timeout has already been passed)
-            Exit(); // Leaves with KLeaveExit
-            break;
-        default:
-            LOGSTRING("Restore settings");
-            //DelayedExit();
-            Exit();
-            break;
-        };
-
-    LOGSTRING( "DoTimeOutCallBack - done" );
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::InitiateNextConnectionTestL()
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::InitiateNextConnectionTestL()
-    {
-    LOGSTRING( "CCMAppUi::InitiateNextConnectionTestL" );
-    TInt err( KErrNone );
-
-    if( iNetworkStatus != CCMRegistrationMonitor::EHomenetwork &&
-        iNetworkStatus != CCMRegistrationMonitor::ERoaming )
-        {
-        LOGSTRING( "InitiateNextConnectionTestL, network NOT ok" );
-        if( iGlobalWaitNote )
-            {
-            iGlobalWaitNote->CancelNoteL(iWaitNoteId);
-            delete iGlobalWaitNote;
-            iGlobalWaitNote = NULL;
-            }
-        /*if( iWaitDialog && !iWaitDialogProcessFinished )
-            {
-            LOGSTRING("iWaitDialog->ProcessFinishedL()");
-            iWaitDialogProcessFinished = ETrue;
-            iWaitDialog->ProcessFinishedL();
-            }*/
-        if( iConnectReason == CCMAppUi::EConnectReasonFirstBoot )
-            {
-            LOGSTRING( "...startupstart" );
-            //Roaming information to confmanager's ini file
-            if ( iNetworkStatusOk == EFalse )
-                {
-                StoreIntValue( KOnlineSupportRoaming, EFalse );
-                }
-            Exit();
-            //DelayedExit();
-            return;
-            }
-        else // menu start, show error note
-            {
-            LOGSTRING( "ErrorNoteConnectionL" );
-            //ErrorNoteNetworkL();
-            ErrorNoteConnectionL();
-            Exit();
-            //DelayedExit();
-            return;
-            }
-        }
-    if( iConnectingVia == EConnectingViaNull && iInitAccessOn )
-        {
-        iConnectingVia = EConnectingViaInit;
-        if( TryInitAccessL() ) 
-            {
-            return;
-            }
-        }
-    if( iConnectingVia == EConnectingViaInit )
-        {
-        iConnectingVia = EConnectingViaDefault;
-        __UHEAP_MARK;
-        TBool value( EFalse );
-        TRAP( err, value = TryDefaultAccessL() );
-        __UHEAP_MARKEND;
-        if( value )
-            {
-            return;
-            }
-        }
-    if( iConnectingVia == EConnectingViaDefault )
-        {
-        iConnectingVia = EConnectingViaUser;
-        TBool value( EFalse );
-        TRAP( err, value = TryUserAccessL() );
-        if( value )
-            {
-            LOGSTRING( "User access test initiated" );
-            return;
-            }
-        else
-            {
-            LOGSTRING2( "TryUserAccessL err: %i", err );
-            LOGSTRING( "ErrorNoteConnectionL" )
-            ErrorNoteConnectionL();
-            LOGSTRING( "Exit" )
-            //DelayedExit();
-            Exit();
-            }
-        }
-    }    
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::TryInitAccessL()
-// -----------------------------------------------------------------------------
-//
-TBool CCMAppUi::TryInitAccessL()
-    {
-    LOGSTRING( "CCMAppUi::TryInitAccessL()" );
-    if( iInitAccessOn )
-    	{
-    TUint32 ap = InitAccessPointL();
-    iInitAccessPointUsed = ETrue;
-
-    if ( ap != 0 )
-        {
-        TBuf<255> domain;
-        AppendDomainL( domain );
-        LOGSTRING( "Starting Init access test" );
-        iEngine->ConnectL( ap, domain );
-        
-        StartTimeOut( KConnectionTimeOut );
-        iApplicationStatus = EAppStatusConnecting;
-        return( ETrue );
-        }
-
-    LOGSTRING( "Init access failed in db" );
-    return( EFalse );
-    	}
-    else
-    	{
-    	LOGSTRING( "CCMAppUi::TryInitAccessL() InitAccess feature off " );
-    	return EFalse;
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::StartTimeOut
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::StartTimeOut( const TInt aTimeOut )
-    {
-    LOGSTRING2( "CCMAppUi::StartTimeOut: %i", aTimeOut );
-    // EAppStatusClosing means we are already waiting for the timer to
-    // trigger application exit, no need for a new time-out in that case
-    if( iApplicationStatus != EAppStatusClosing )
-        {
-        TCallBack callBack( TimeOutCallBack, this );
-        if( iTimer->IsActive() )
-            {
-            iTimer->Cancel();
-            }
-        iTimer->Start( aTimeOut, aTimeOut, callBack );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::TryDefaultAccessL()
-// -----------------------------------------------------------------------------
-//
-TBool CCMAppUi::TryDefaultAccessL()
-    {
-    LOGSTRING( "CCMAppUi::TryDefaultAccessL" );
-    TUint32 ap = CheckDefaultAccessPointL();
-    iInitAccessPointUsed = EFalse;
-
-    if ( ap != 0 )
-        {
-        TBuf<255> domain;
-        AppendDomainL( domain );
-        LOGSTRING( "Starting default access test" );
-        iEngine->ConnectL( ap, domain );
-
-        StartTimeOut( KConnectionTimeOut );
-        iApplicationStatus = EAppStatusConnecting;
-        return( ETrue );
-        }
-
-    LOGSTRING( "Default access failed in db" );
-    return( EFalse );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::TryUserAccessL()
-// -----------------------------------------------------------------------------
-//
-TBool CCMAppUi::TryUserAccessL()
-    {
-    LOGSTRING( "CCMAppUi::TryUserAccessL" );
-    TInt accessPoints = CheckSettingsL();
-    iInitAccessPointUsed = EFalse;
-
-    // initAccess and browser default is tested, if more ap then ask from user
-    if ( !iAutoStart )
-        {
-        	if( (iInitAccessOn && accessPoints > 2) || !iInitAccessOn)
-        	{
-        	  LOGSTRING( "Starting user access test" );
-
-        		TBuf<255> domain;
-        		AppendDomainL( domain );
-        		iEngine->ConnectL( 0, domain );         
-
-        		StartTimeOut( KConnectionTimeOut );
-        		iApplicationStatus = EAppStatusConnecting;
-
-        		return( ETrue );
-        	}
-        }	
-
-    LOGSTRING( "User access test not started" );
-    return( EFalse );
-    }
-
-/// -----------------------------------------------------------------------------
-// CCMAppUI::CheckSettingsL
-// Cheks if there is wap setting available.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CCMAppUi::CheckSettingsL()
-    {
-    CCommsDatabase*    theDb;
-    CCommsDbTableView* theView;
-    TInt settings( 0 );
-    TInt errorCode( KErrNone );
-    theDb = CCommsDatabase::NewL( );
-    CleanupStack::PushL( theDb );
-    theView = theDb->OpenTableLC( TPtrC( IAP ) );
-    errorCode = theView->GotoFirstRecord();
-    if ( errorCode != KErrNotFound )
-        {
-        settings = 1;
-        while ( errorCode != KErrNotFound )
-            {
-            errorCode = theView->GotoNextRecord();
-            if ( errorCode == KErrNone )
-                {
-                settings++;
-                }
-            }
-        }
-    CleanupStack::PopAndDestroy( 2 );
-    return settings;    
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::AppendDomainL
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::AppendDomainL( TDes& aUrl )
-    {
-    if( iServer.Compare( KServerNokia ) == 0 )
-        {
-        if( aUrl.MaxLength() < aUrl.Length() + KNokia().Length() )
-            {
-            User::Leave( KErrArgument );
-            }
-        aUrl.Append( KNokia );
-        }
-    else
-        {
-        if( aUrl.MaxLength() < aUrl.Length() + iServer.Length() + KHelpPortal().Length() )
-            {
-            User::Leave( KErrArgument );
-            }
-        aUrl.Append( iServer );
-        aUrl.Append( KHelpPortal );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::OpenWapBrowserL
-// Opens WAP browser
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::OpenWapBrowserL()
-    {
-    LOGSTRING( "Enter to CCMAppUi::OpenWapBrowserL" );
-    iWapPage.Zero();
-
-    DeleteServiceActivationInfoL();
-    
-    CPnpUtilImpl* pnpUtil = CPnpUtilImpl::NewLC();
-
-    LOGSTRING( "OpenWapBrowserL 2" );
-
-    if( !iAutoStart )
-        {
-        // Help portal address and type
-        // 4 means Url address. (see Browser API documentation)
-        _LIT ( KAddressType, "4 " ); 
-        iWapPage.Copy( KAddressType );
-        }
-
-    LOGSTRING( "OpenWapBrowserL 3" );
-
-    iWapPage.Append( KHttp );
-    AppendDomainL( iWapPage );
-    iWapPage.Append( KSlash );
-
-    LOGSTRING( "OpenWapBrowserL 4" );
-    iWapPage.Append( iPage );
-    iWapPage.Append( KQuestionMark );
-
-#ifdef __WINS__
-    RMobilePhone::TMobilePhoneNetworkInfoV1 homeNetworkInfo;
-    homeNetworkInfo.iCountryCode.Copy( _L("244") );
-    homeNetworkInfo.iNetworkId.Copy( _L("05") );
-#else
-    const RMobilePhone::TMobilePhoneNetworkInfoV1& homeNetworkInfo = iRegistrationMonitor->GetHomeNetworkInfo();
-#endif
-    // Home MCC
-    //iWapPage.Append( KParameterDelimeter );
-    iWapPage.Append( KSimMccParameter );
-    iWapPage.Append( homeNetworkInfo.iCountryCode );
-    pnpUtil->SetHomeMccL( homeNetworkInfo.iCountryCode );
-
-    LOGSTRING( "OpenWapBrowserL 5" );
-    // Home MNC
-    RMobilePhone::TMobilePhoneNetworkIdentity formattedMnc;
-    pnpUtil->FormatMncCodeL( homeNetworkInfo.iCountryCode, homeNetworkInfo.iNetworkId, formattedMnc );
-    iWapPage.Append( KParameterDelimeter );
-    iWapPage.Append( KSimMncParameter );
-    iWapPage.Append( formattedMnc );
-    pnpUtil->SetHomeMncL( formattedMnc );
-
-    LOGSTRING( "OpenWapBrowserL 6" );
-#ifdef __WINS__
-    RMobilePhone::TMobilePhoneNetworkInfoV1 currentNetworkInfo;
-    currentNetworkInfo.iCountryCode.Copy( _L("244") );
-    currentNetworkInfo.iNetworkId.Copy( _L("05") );
-#else
-    const RMobilePhone::TMobilePhoneNetworkInfoV1& currentNetworkInfo = iRegistrationMonitor->GetCurrentNetworkInfo();
-#endif
-    // current MCC
-    iWapPage.Append( KParameterDelimeter );
-    iWapPage.Append( KCurrentMccParameter );
-    iWapPage.Append( currentNetworkInfo.iCountryCode );
-    pnpUtil->SetNetworkMccL( currentNetworkInfo.iCountryCode );
-
-    LOGSTRING( "OpenWapBrowserL 7" );
-    // current MNC
-    TRAPD( err, pnpUtil->FormatMncCodeL( currentNetworkInfo.iCountryCode, currentNetworkInfo.iNetworkId, formattedMnc ) );
-    if( err != KErrNone )
-        {
-        LOGSTRING2( "FormatMncCodeL err: %i", err );
-        pnpUtil->SetNetworkMncL( currentNetworkInfo.iNetworkId );
-        }
-    else
-        {
-        iWapPage.Append( KParameterDelimeter );
-        iWapPage.Append( KCurrentMncParameter );
-        iWapPage.Append( formattedMnc );
-        pnpUtil->SetNetworkMncL( formattedMnc );
-        }
-
-    LOGSTRING( "OpenWapBrowserL 8" );
-    //pnpUtil->StoreAccessPoint( iAccessPoint ); // not needed anymore
-
-    // Init AP, use token
-    LOGSTRING( "iServer:" );
-    LOGTEXT( iServer );
-
-	// AppendTokenAndNonceVal
-	AppendTokenAndNonceValL();
-
-     // Connection reason
-    LOGSTRING( "connection reason" );
-    iWapPage.Append( KParameterDelimeter );
-    iWapPage.Append( KConnectReasonParameter );
-    if( iConnectReason == EConnectReasonUnknown )
-        {
-        iWapPage.AppendNum( (TInt)EConnectReasonUserTriggered );
-        }
-    else
-        {
-        iWapPage.AppendNum( (TInt)iConnectReason );
-        }   
-
-    // PnpVersion
-    TBuf<KMaxVersionStringLength> pnpversion;
-    User::LeaveIfError( pnpUtil->Version( pnpversion ) );
-    LOGSTRING( "PnPVersion" );
-    iWapPage.Append( KParameterDelimeter );
-    iWapPage.Append( KPnpVersionParameter );
-    iWapPage.Append( pnpversion );
-    LOGSTRING( "PopAndDestroy pnpUtil" )
-    CleanupStack::PopAndDestroy( pnpUtil );
-
-    // help query string
-    if( iQuery.Length() > 0 )
-        {
-        LOGSTRING( "query" );
-        HBufC16* param = EscapeUtils::EscapeEncodeL(iQuery,EscapeUtils::EEscapeUrlEncoded);
-        if(param)
-            {
-            LOGSTRING( "converted:" );
-            LOGTEXT( *param );
-            iWapPage.Append( KParameterDelimeter );
-            iWapPage.Append( KQueryParameter );
-            iWapPage.Append( *param );
-            delete param;
-            }
-
-        }
-
-    
-
-    // Append Device Information to URL
-    
-    AppendDeviceInfoL();
-    
-    
-    // Operator name, service provider
-    const RMobilePhone::TMobilePhoneServiceProviderNameV2& serviceProviderName = iRegistrationMonitor->GetServiceProviderName();
-    if( serviceProviderName.iSPName.Length() > 0 )
-        {
-        LOGSTRING( "spname" );
-        HBufC16* param = EscapeUtils::EscapeEncodeL( serviceProviderName.iSPName, EscapeUtils::EEscapeUrlEncoded );
-        if(param)
-            {
-            LOGSTRING( "converted:" );
-            LOGTEXT( *param );
-            iWapPage.Append( KParameterDelimeter );
-            iWapPage.Append( KOperatorNameParameter );
-            iWapPage.Append( *param );
-            delete param;
-            }
-        }
-    LOGTEXT( currentNetworkInfo.iShortName );
-    LOGTEXT( currentNetworkInfo.iLongName );
-
-    // Current operator name
-    if( currentNetworkInfo.iLongName.Length() > 0 )
-        {
-        LOGSTRING( "current operator name" );
-        HBufC16* param = EscapeUtils::EscapeEncodeL( currentNetworkInfo.iLongName, EscapeUtils::EEscapeUrlEncoded );
-        if(param)
-            {
-            LOGSTRING( "converted:" );
-            LOGTEXT( *param );
-            iWapPage.Append( KParameterDelimeter );
-            iWapPage.Append( KCurrentOperatorNameParameter );
-            iWapPage.Append( *param );
-            delete param;
-            }
-        }
-
-    //Append WebUtils Params to URL
-    AppendWebUtilParamsL();
-    
-    
-    
-    // MSISDN
-    const RMobileONStore::TMobileONEntryV1& ownNumberInfo = iRegistrationMonitor->GetOwnNumberInfo();
-    if( ownNumberInfo.iNumber.iTelNumber.Length() )
-        {
-        LOGSTRING( "ownNumberInfo.iNumber.iTelNumber" );
-        iWapPage.Append( KParameterDelimeter );
-        iWapPage.Append( KMSISDNParameter );
-        iWapPage.Append( ownNumberInfo.iNumber.iTelNumber );
-        }
-
-    // Phone alias
-    iWapPage.Append( KParameterDelimeter );
-    iWapPage.Append( KPhoneAlias );
-    iWapPage.Append( KPhoneAliasValue );
-
-	//Create online help based on Interactive or NonInteractive feature
-    OnlineHelpL();
-
-    LOGSTRING( "Exit from OpenWapBrowser" );
-    }
- 
- 
-// -----------------------------------------------------------------------------
-// CCMAppUI::DeleteServiceActivationInfoL
-//
-// -----------------------------------------------------------------------------
-//
-   
-void CCMAppUi::DeleteServiceActivationInfoL()
-{
-	
-	// Reset values for service activation. Service activation should not be supported 
-    // by online support since WDS Global server URL is hardcoded (help-portal server 
-    // connecting to WDS) if service activation required for onlinesupport comment below
-    // statements for PnpProvUtil.
-
-    CPnpProvUtil* prov = CPnpProvUtil::NewLC();
-    
-    const TUint32 uidval = 0;
-    prov->SetApplicationUidL(uidval);
-	
-	
-    TBuf<2> buf(_L(""));
-    prov->SetProvAdapterAppIdL(buf);
-
-    CleanupStack::PopAndDestroy();
-	
-}
-
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::AppendTokenAndNonceValL
-//
-// -----------------------------------------------------------------------------
-//
-   
-void CCMAppUi::AppendTokenAndNonceValL()
-{
-
-
-	CPnpUtilImpl *pnpUtil = CPnpUtilImpl::NewLC();
-
-	    
-    // TOKEN has to be sent:
-    // - When connecting through "initAccess" to www.help-portal.com/page1
-    // - When connecting through the fallback APN to *.help-portal.com EXCEPT to www.help-portal.com
-    //     -- This feature is needed for testing of provisioning over HTTP
-    // TOKEN should NOT be sent:
-    // - When connecting through "initAccess" to any other URL
-    // - When connecting through the fallback APN to pnpms.nokia.com
-
-    // Changed:
-    // Token override allows now giving token even when not connecting through initAccess,
-    // so there is no need to allow TOKEN for demo purposes if token override is not on
-
-    if( iTokenOverride    // token override set on commandline params
-        ||
-        // No token override:
-        ( iInitAccessPointUsed
-          && iServer.Compare( KDefaultServerString ) == 0 ) // connecting to www.help-portal.com
-        )
-        {
-        // Add Token
-        LOGSTRING( "token" );
-        TInt validitytime = pnpUtil->GetTokenValidityTime();
-        TInt tokenvalue = 0;
-        TInt err = pnpUtil->CreateNewToken( validitytime, tokenvalue );
-        if( err != KErrNone )
-            {
-            LOGSTRING2( "CreateNewToken returned: %i", err );
-            User::Leave( err );
-            }
-        iWapPage.Append( KParameterDelimeter );
-        iWapPage.Append( KTokenParameter );
-        iWapPage.AppendNum( tokenvalue );
-        // Token validity 
-        LOGSTRING( "token validity" );
-        iWapPage.Append( KParameterDelimeter );
-        iWapPage.Append( KTokenValidityTimeParameter );
-        iWapPage.AppendNum( validitytime );
-        }
-
-   
-    // The KEYINFO and NONCE should be SENT:
-    // - in all cases, also to "*help-portal.com" and through "initAccess".
- 
-    // Nonce
-    LOGSTRING( "nonce" );
-    // validity time not used
-    TBuf8<KNonceLength> nonce8;
-    TBuf<KNonceLength> nonce;
-    TRAPD( err, pnpUtil->CreateNewNonceL( 0, nonce8 ) );
-    if( err != KErrNone )
-        {
-        LOGSTRING2( "CreateNewNonceL leave code: %i", err );
-        User::Leave( err );
-        }
-    nonce.Copy( nonce8 );
-
-    iWapPage.Append( KParameterDelimeter );
-    iWapPage.Append( KNonceParameter );
-    iWapPage.Append( nonce );
-
-    TBuf8<KMaxKeyInfoLength> keyInfo8;
-    TBuf<KMaxKeyInfoLength> keyInfo;
-    pnpUtil->GetKeyInfoL( keyInfo8 );
-    keyInfo.Copy( keyInfo8 );
-
-    iWapPage.Append( KParameterDelimeter );
-    iWapPage.Append( KKeyInfoParameter );
-    iWapPage.Append( keyInfo );
-
-	CleanupStack::PopAndDestroy();
-	
-}
-
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::AppendSWandProductVersionL
-//
-// -----------------------------------------------------------------------------
-//
-  
-void CCMAppUi::AppendDeviceInfoL()
-{
-
-	const RMobilePhone::TMobilePhoneIdentityV1& phoneIdentity = iRegistrationMonitor->GetPhoneIdentity();
-
-    const TInt KManufLength = 128;
-
-    // Device type (for example dType=NOKIAE60)
-    iWapPage.Append( KParameterDelimeter );
-    iWapPage.Append( KDeviceTypeParameter );
-    
-    _LIT(KManufacturer, "Nokia");    
-
-    TBuf<KManufLength> manfacturer;
-    manfacturer.Append(phoneIdentity.iManufacturer);
-
-    TBuf<KManufLength> model;
-    
-    if(manfacturer.MatchF(KManufacturer)==KErrNotFound)
-	 model.Append( phoneIdentity.iManufacturer );	
-
-
-    model.Append( phoneIdentity.iModel );
-    
-    HBufC16* param_manf = EscapeUtils::EscapeEncodeL(model, EscapeUtils::EEscapeUrlEncoded );
-    iWapPage.Append( *param_manf );
-    delete param_manf;
-    
-
-    //iWapPage.Append( phoneIdentity.iModel );
-
-    // Add symbian os version, for example: dType=NOKIAE60(Symbian 9.1)
-    LOGSTRING("Reading OS versions");
-    TVersionBuf s60Version;
-    TVersionBuf symbianVersion;
-    TRAPD( err, TVersionStrings::GetUserAgentVersionsL( s60Version, symbianVersion ) );
-    LOGSTRING2( "Error: %i", err );
-    if( err == KErrNone )
-        {
-        TBuf<KMaxVersionBufLength> symbian;
-        symbian.Copy( symbianVersion );
-        iWapPage.Append( KParenthesisOpen );
-        iWapPage.Append( KSymbianOs );
-        iWapPage.Append( symbian );
-        iWapPage.Append( KParenthesisClose );
-        }
-
-
-	if( iSwVersion.Length() > 0 )
-        {
-        iWapPage.Append( KParameterDelimeter );
-        iWapPage.Append( KSW );
-	HBufC16* param_swversion = EscapeUtils::EscapeEncodeL(iSwVersion, EscapeUtils::EEscapeUrlEncoded );
-	iWapPage.Append( *param_swversion );
-	delete param_swversion;
-	}
-	LOGTEXT(iSwVersion);
-
-    // Product model
-    if( iProductModel.Length() > 0 )
-        {
-        iWapPage.Append( KParameterDelimeter );
-        iWapPage.Append( KHW );
-        iWapPage.Append( iProductModel );
-        }	
-}
-
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::LaunchMiniBrowserL()
-//
-// -----------------------------------------------------------------------------
-//
-  
-void CCMAppUi::LaunchMiniBrowserL()
-{
-		// create a mini browser for downloading provisioned settings
-        // from a supporting service
-        // mini browser has to be a member object as it has to exist
-        // during the async http request-response cycle
-        LOGSTRING2( "opening mini-browser, using AP: %i", iEngine->IapId() );
-        if( !iMiniBrowser )
-            {
-            RSocketServ& socketServ = iEngine->SocketServ();
-            RConnection& connection = iEngine->Connection();
-            iMiniBrowser = CMiniBrowser::NewL( *this, socketServ, connection );
-            }
-
-        LOGSTRING( "Calling HttpGetL" );
-        if( iEngine->ProxyDefined() )
-            {
-            iMiniBrowser->HttpGetL( iWapPage, iEngine->ProxyIp(), iEngine->ProxyPort() );
-            }
-        else
-            {
-            iMiniBrowser->HttpGetL( iWapPage );
-            }
-}
-
-
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::LaunchS60WebBrowser()
-//
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::LaunchS60WebBrowserL()
-{
-	LOGSTRING2( "opening browser, using AP: %i", iAccessPoint );
-        iEngine->Disconnect();
-        
-		// Append access point
-        
-		#if ( !defined (__WINS__) && !defined (__WINSCW) ) 
-			iAccessPoint = iEngine->ReturnIAPID();
-			iWapPage.Append( KSpace );
-        	iWapPage.AppendNumUC( iAccessPoint );
-		#endif
-	
-		
-
-        TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
-        TApaTask task = taskList.FindApp( KCRUidBrowser );
-
-        if ( task.Exists() )
-            {
-            TBuf8<1024> wapPage;
-            wapPage.Copy( iWapPage.Left( 1024 ) );
-            LOGSTRING( "OpenWapBrowserL sending message to Browser" );
-            task.SendMessage( TUid::Uid( 0 ), wapPage ); // Uid is not used
-            }
-        else
-            {
-            LOGSTRING( "OpenWapBrowserL Launching Browser" );
-            RApaLsSession appArcSession;
-            User::LeaveIfError( appArcSession.Connect() );
-            CleanupClosePushL( appArcSession );
-            TThreadId tid;
-            LOGSTRING( "before startDocument" );
-	    LOGTEXT(iWapPage);
-	
-            appArcSession.StartDocument( iWapPage, KCRUidBrowser, tid );
-            LOGSTRING( "Document started" );
-            CleanupStack::PopAndDestroy( &appArcSession );
-            }
-
-        // Browser was started, we are free to exit
-        iStartingBrowser = ETrue;
-        //DelayedExit();
-        Exit();
-}
-
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::AppendWebUtilParamsL()
-//
-// -----------------------------------------------------------------------------
-//
-
-void CCMAppUi::AppendWebUtilParamsL()
-{
-    // language
-    // HttpFilterCommonStringsExt::GetLanguageString is introduced in S60 2.6
-    RStringPool stringPool;
-    LOGSTRING("open string pool");
-    stringPool.OpenL( HttpFilterCommonStringsExt::GetLanguageTable() );
-    CleanupClosePushL( stringPool );
-    LOGSTRING("GetLanguageString");
-    RStringF languageString = HttpFilterCommonStringsExt::GetLocaleLanguage( stringPool );
-    CleanupClosePushL( languageString );
-    LOGSTRING("GetLanguageString - done");
-    LOGTEXT( languageString.DesC() );
-    const TPtrC8& language = languageString.DesC();
-    LOGSTRING("languageString.DesC - done");
-    LOGTEXT( language );
-    if( language.Length() )
-        {
-        const TInt KMaxLanguageLength(5);
-        TBuf<KMaxLanguageLength> lang;
-        lang.Copy( language.Left( KMaxLanguageLength ) );
-        iWapPage.Append( KParameterDelimeter );
-        iWapPage.Append( KLanguageParameter );
-        iWapPage.Append( lang );
-        }
-    CleanupStack::PopAndDestroy(); // languageString.Close
-    CleanupStack::PopAndDestroy(); // stringPool.Close
-
-    // User Agent profile
-    // Example value: "http://nds1.nds.nokia.com/uaprof/N6600r100.xml"
-    LOGSTRING( "uaProf" );
-    // Assume 128 chars is big enough
-    TBuf<128> uaProf;
-    CRepository* cenRep = CRepository::NewL( KCRUidWebUtils );
-    CleanupStack::PushL( cenRep );
-    TInt err = cenRep->Get( KWebUtilsUaProf, uaProf );
-    CleanupStack::PopAndDestroy( cenRep );
-    LOGSTRING2( "cenRep->Get err: %i", err );
-    LOGTEXT( uaProf );
-    if( uaProf.Length() )
-        {
-        HBufC16* param = EscapeUtils::EscapeEncodeL( uaProf, EscapeUtils::EEscapeUrlEncoded );
-        LOGSTRING( "converted:" );
-        LOGTEXT( *param );
-        if( param )
-            {
-            iWapPage.Append( KParameterDelimeter );
-            iWapPage.Append( KUAProfParameter );
-            iWapPage.Append( *param );
-            delete param;
-            }
-        }
-
-        }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::OnlineHelpL()
-//
-// -----------------------------------------------------------------------------
-//
-
-void CCMAppUi::OnlineHelpL()
-{
-    // Interactive option (silent mode)
-    iWapPage.Append( KParameterDelimeter );
-    iWapPage.Append( KInteractiveSessionParameter );
-    if( iAutoStart )
-        {
-        iWapPage.Append( KNonInteractiveSession );
-        }
-    else
-        {
-        iWapPage.Append( KInteractiveSession );
-        }
-
-#ifdef _DEBUG
-    for( TInt i(0); i < iWapPage.Length(); i += 128 )
-        {
-        LOGTEXT( iWapPage.Right( iWapPage.Length() - i ) );
-        }
-#endif
-
-    if( iAutoStart )
-        {
-        	LaunchMiniBrowserL();
-        }
-    else
-        {
-        	LaunchS60WebBrowserL();
-        }
-}
-      
-// -----------------------------------------------------------------------------
-// CCMAppUI::MiniBrowserRequestDoneL
-// Called after MiniBrowser has handled a request for an URL
-// (a call to HttpGetL resulted a successful http request-response)
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::MiniBrowserRequestDoneL()
-    {
-    LOGSTRING( "CCMAppUi::MiniBrowserRequestDoneL" );
-
-    // Leaves from here propagate to MiniBrowserUnhandledLeave (which causes app exit)
-
-    // Check we have not exceed the limit for maximum number of redirects
-    if( iRedirectsLeft <= 0 )
-        {
-        User::Leave( KErrOverflow );
-        }
-
-    iRedirectsLeft--;
-
-    // Leaves with KErrNotFound if there is no valid report URL
-    HBufC* reportUrl = iMiniBrowser->GetReportUrlLC();
-    LOGSTRING( "Calling HttpGetL" );
-    if( iEngine->ProxyDefined() )
-        {
-        iMiniBrowser->HttpGetL( *reportUrl, iEngine->ProxyIp(), iEngine->ProxyPort() );
-        }
-    else
-        {
-        iMiniBrowser->HttpGetL( *reportUrl );
-        }
-    CleanupStack::PopAndDestroy( reportUrl );
-    }
-
-  
-// -----------------------------------------------------------------------------
-// CCMAppUI::MiniBrowserErrorL
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::MiniBrowserErrorL( const TInt aError )
-    {
-    LOGSTRING2( "CCMAppUi::MiniBrowserErrorL: %i", aError );
-
-    // If there is no valid report url the KErrNotFound from GetReportUrlLC
-    // propagates to MiniBrowserUnhandledLeave and causes an Exit
-    HBufC* reportUrl = iMiniBrowser->GetReportUrlLC();
-    if( iEngine->ProxyDefined() )
-        {
-        iMiniBrowser->HttpGetL( *reportUrl, iEngine->ProxyIp(), iEngine->ProxyPort() );
-        }
-    else
-        {
-        iMiniBrowser->HttpGetL( *reportUrl );
-        }
-    CleanupStack::PopAndDestroy( reportUrl );
-    // Keep compiler happy
-    (void)aError;
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::MiniBrowserErrorL
-// Called if a call to MiniBrowserRequestDoneL or MiniBrowserErrorL leaves
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::MiniBrowserUnhandledLeave( const TInt aError )
-    {
-    LOGSTRING2( "CCMAppUi::MiniBrowserUnhandledLeave: %i", aError );
-    //DelayedExit();
-    Exit();
-    // Keep compiler happy
-    (void)aError;  
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::CheckDefaultAccessPointL()
-// Checks defaul access point for the browser
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TUint32 CCMAppUi::CheckDefaultAccessPointL()
-    {
-    LOGSTRING( "CCMAppUi::CheckDefaultAccessPointL()" );
-    TInt errorCode( KErrNone ) ;
-    TUint32 accessPoint;
-    TInt defaultAccessPoint( KErrNotFound );
-    CCommsDatabase*    theDb;
-    CCommsDbTableView* theView;
-    CCommsDbTableView* theDefaultRoamingView;
-
-    TUint32 returnValue( 0 );
-    TInt selectionMode = 0;
-
-    CRepository* browserRepository = CRepository::NewLC( KCRUidBrowser );
-    User::LeaveIfError( browserRepository->Get( KBrowserDefaultAccessPoint, defaultAccessPoint ) );
-  
-    // Also check with Selection mode if selection mode is always ask then go for User Access   
-    User::LeaveIfError(browserRepository->Get( KBrowserAccessPointSelectionMode, selectionMode ));
-       
-    CleanupStack::PopAndDestroy( browserRepository );
-    
-    if(selectionMode == 1)
-    User::Leave(KErrNotSupported);
-    
-
-    theDb = CCommsDatabase::NewL( );
-    CleanupStack::PushL( theDb ); 
-
-    theView = theDb->OpenViewMatchingUintLC( TPtrC( WAP_IP_BEARER ),
-                                     TPtrC( WAP_ACCESS_POINT_ID ), 
-                                     defaultAccessPoint );
-
-    User::LeaveIfError( theView->GotoFirstRecord() );
-
-    theView->ReadUintL( TPtrC( WAP_IAP ),  accessPoint);
-    returnValue = accessPoint;
-    iAccessPoint = defaultAccessPoint;
-    
-    CleanupStack::PopAndDestroy( theView );
-
-    // check type
-    theView = theDb->OpenViewMatchingUintLC( TPtrC(IAP),
-                                             TPtrC(COMMDB_ID),
-                                             accessPoint );                
-    errorCode = theView->GotoFirstRecord();
-    if ( errorCode == KErrNone )
-        {
-        TUint32 bearerId;
-        theView->ReadUintL( TPtrC(IAP_BEARER), bearerId );
-        CleanupStack::PopAndDestroy( theView );
-        
-        theView = theDb->OpenViewMatchingUintLC( TPtrC(OUTGOING_GPRS),
-                                                TPtrC(COMMDB_ID),
-                                                bearerId );
-        errorCode = theView->GotoFirstRecord();
-        if ( errorCode == KErrNone )
-            {
-            TUint32 apType;
-            theView->ReadUintL( TPtrC(GPRS_AP_TYPE), apType );
-            CleanupStack::PopAndDestroy( theView );
-            LOGSTRING2( "apType:%i", apType );
-            }
-        else
-            {
-            LOGSTRING2( "error in opening OUTGOING_GPRS:%i", errorCode );
-            CleanupStack::PopAndDestroy( theView );
-            }
-        }
-    else
-        {
-        LOGSTRING2( "error in opening WAP_IAP:%i", errorCode );
-        CleanupStack::PopAndDestroy( theView );
-        }
-    // type check done
-
-    if( iNetworkStatus == CCMRegistrationMonitor::ERoaming )
-        {    
-        // check the name for roaming support
-        CApAccessPointItem* apItem = CApAccessPointItem::NewLC();
-        CApDataHandler* apDataHandler = CApDataHandler::NewLC( *theDb );
-        apDataHandler->AccessPointDataL( defaultAccessPoint, *apItem );
-        const HBufC* apName = apItem->ReadConstLongTextL( EApGprsAccessPointName ); 
-        // ownership of apName stays in apItem, so no delete here for apName
-        LOGSTRING( "default apn:" );
-        LOGTEXT( *apName );
-        // check if it ends with ".gprs" == roaming safe
-        TBuf<10> dotGprs;
-        dotGprs.Append( KDot );
-        dotGprs.Append( KGprs );
-        TInt offset = apName->Find( dotGprs );
-        TInt expectedOffset = apName->Length() - dotGprs.Length();
-        if( offset != expectedOffset )
-            {
-            // we need to use a roaming safe version of the ap
-            // check if allready have made it
-            LOGSTRING( "Checking for existing KDefaultRoamingName" );
-            theDefaultRoamingView = theDb->OpenViewMatchingTextLC( TPtrC( WAP_ACCESS_POINT ),
-                                                 TPtrC( COMMDB_NAME ), 
-                                                 KDefaultRoamingName );
-            errorCode = theDefaultRoamingView->GotoFirstRecord();
-            if( errorCode == KErrNone )
-                {
-                LOGSTRING( "found, removing it" );
-                TUint32 defaultRoamingId;
-                theDefaultRoamingView->ReadUintL( TPtrC(COMMDB_ID),  defaultRoamingId);
-                LOGSTRING( "accesspoint id read done" );
-                
-                apDataHandler->RemoveAPL( defaultRoamingId );
-                }
-                
-            LOGSTRING( "create it" );
-            CApAccessPointItem* newAp = CApAccessPointItem::NewLC();
-            
-            newAp->CopyFromL( *apItem );
-
-            const RMobilePhone::TMobilePhoneSubscriberId& imsi = iRegistrationMonitor->GetImsi();
-            TBuf<KMaxAPNLength> newName;
-            newName.Append( *apName );
-            newName.Append( KDot );
-            newName.Append( KMNC0 );
-            newName.Append( imsi.Mid(3,2) );
-            newName.Append( KDot );
-            newName.Append( KMCC );
-            newName.Append( imsi.Mid(0,3) );
-            newName.Append( KDot );
-            newName.Append( KGprs );
-            newAp->SetNamesL( KDefaultRoamingName  );
-            newAp->WriteTextL( EApWapAccessPointName, KDefaultRoamingName );
-            newAp->WriteLongTextL( EApGprsAccessPointName, newName );
-            LOGSTRING( "calling update" );
-            TInt retries = KRetryCount;
-            TRAPD( err, apDataHandler->CreateFromDataL(*newAp) );
-            while( (err == KErrLocked) && retries-- )
-                {
-                User::After( KRetryWait );
-                TRAP( err, apDataHandler->CreateFromDataL(*newAp) );
-                }
-            if( err != KErrNone )
-                {
-                User::Leave( err );
-                }
-            LOGSTRING( "calling update done" );
-            
-            newAp->ReadUint( EApWapIap, returnValue );
-            newAp->ReadUint( EApWapAccessPointID, iAccessPoint );
-
-            LOGSTRING( "update done" );
-            CleanupStack::PopAndDestroy( newAp );
-            CleanupStack::PopAndDestroy( theDefaultRoamingView );
-            }
-        CleanupStack::PopAndDestroy( apDataHandler );
-        CleanupStack::PopAndDestroy( apItem );
-        }
-    CleanupStack::PopAndDestroy( theDb );
-
-
-    LOGSTRING2( "Check default access point returns %i", returnValue );
-    LOGSTRING2( "iAccessPoint %i", iAccessPoint );
-
-    return returnValue;
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::InitAccessPointL()
-// Cheks the id of accesspoint which APN is initAccess
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TUint32 CCMAppUi::InitAccessPointL()
-    {
-    LOGSTRING( "CCMAppUi::InitAccessPointL()" );
-    if(iInitAccessOn)
-    	{
-    CCommsDatabase*    theDb;
-
-    theDb = CCommsDatabase::NewL();
-    CleanupStack::PushL( theDb );
-
-    TUint32 initAP( 0 );
-
-    TBool value( EFalse );
-    TRAPD( err, value = CheckInitAccessPointL(*theDb, initAP) );
-
-    if( value == EFalse )
-        {
-        CreateInitAccessPointL( *theDb );
-        TRAP( err, CheckInitAccessPointL( *theDb, initAP ) );
-        }
-    else
-        {
-        LOGSTRING( "Init AP was ok" );
-        }
-        
-
-    CleanupStack::PopAndDestroy( theDb );
-
-    return( initAP );
-    }
-    else
-    	{
-    	LOGSTRING( "CCMAppUi::InitAccessPointL Init Access feature off" );
-    	return KErrNone;
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::CheckInitAccessPointL()
-// Cheks the settings of accesspoint which APN is initAccess
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CCMAppUi::CheckInitAccessPointL( CCommsDatabase& aDb, TUint32& aAccessPoint )
-    {
-    LOGSTRING( "CCMAppUi::CheckInitAccessPointL" ); 
-if(iInitAccessOn)
-	{
-    CCommsDbTableView* theView;
-    CCommsDbTableView* iapView;
-    CCommsDbTableView* wapIpBearerView;
-    TInt errorCode;
-    TBool firstTime = ETrue; // crude solution
-    TUint32 tableId;
-
-    TBuf<KMaxAPNLength> initAccess;
-    initAccess.Append( KInitAccess );
-
-    const RMobilePhone::TMobilePhoneSubscriberId& imsi = iRegistrationMonitor->GetImsi();
-    if( iNetworkStatus == CCMRegistrationMonitor::ERoaming )
-        {
-        initAccess.Append( KDot );
-        initAccess.Append( KMNC0 );
-        initAccess.Append( imsi.Mid(3,2) );
-        initAccess.Append( KDot );
-        initAccess.Append( KMCC );
-        initAccess.Append( imsi.Mid(0,3) );
-        initAccess.Append( KDot );
-        initAccess.Append( KGprs );
-        }
-    
-    theView = aDb.OpenViewMatchingTextLC( TPtrC( OUTGOING_GPRS),
-                                         TPtrC( GPRS_APN ), 
-                                         initAccess );
-    errorCode = theView->GotoFirstRecord();
-
-    FOREVER // will exit when no more records found or the first one not found or a valid found
-        {
-        if( !firstTime )
-            {
-            LOGSTRING( "trying to get next record" );
-            errorCode = theView->GotoNextRecord();
-            if( errorCode != KErrNone )
-                {
-                CleanupStack::PopAndDestroy( theView ); 
-                return( EFalse );
-                }
-            LOGSTRING( "checking next record" );    
-            }
-        firstTime = EFalse;
-
-        if ( errorCode == KErrNone )
-            {
-            theView->ReadUintL( TPtrC( COMMDB_ID ), tableId );
-            iapView = aDb.OpenViewMatchingUintLC(TPtrC( IAP ),
-                                             TPtrC( IAP_SERVICE ), 
-                                             tableId );
-            errorCode = iapView->GotoFirstRecord();
-
-            if ( errorCode == KErrNone )
-                {
-                iapView->ReadUintL( TPtrC( COMMDB_ID ), aAccessPoint );
-                wapIpBearerView = aDb.OpenViewMatchingUintLC(TPtrC( WAP_IP_BEARER ),
-                                             TPtrC( WAP_IAP ), 
-                                             aAccessPoint );
-                errorCode = wapIpBearerView->GotoFirstRecord();
-                if ( errorCode == KErrNone )
-                    {
-                    wapIpBearerView->ReadUintL( TPtrC( WAP_ACCESS_POINT_ID ), iAccessPoint );
-                    }
-                else
-                    {
-                    LOGSTRING( "wapIpBearerView->GotoFirstRecord()" );
-                    CleanupStack::PopAndDestroy( wapIpBearerView ); // wapIpBearerView
-                    CleanupStack::PopAndDestroy( iapView ); // iapView
-                    continue;
-                    }
-                CleanupStack::PopAndDestroy(); // wapIpBearerView
-                }
-            else
-                {
-                LOGSTRING( "iapView->GotoFirstRecord() failed" );
-                CleanupStack::PopAndDestroy( iapView ); // iapView
-                continue;
-                }
-
-            CleanupStack::PopAndDestroy( iapView ); // iapView
-            }
-        else
-            {
-            LOGSTRING( "theView->GotoFirstRecord() failed" );
-            CleanupStack::PopAndDestroy( theView );
-            return( EFalse );
-            }
-
-        if( iServer == KDefaultServerString )
-            {
-            LOGSTRING( "checking that init access not modified" );
-            // check also user name, prompt password, password, authentication, homepage
-            TBuf8<100> userName;
-            theView->ReadTextL( TPtrC(GPRS_IF_AUTH_NAME), userName );
-            if( userName.Length() != 0 )
-                {
-                LOGSTRING( "username length was not 0" );
-                continue;
-                }
-            TBool promptPasswd;
-            theView->ReadBoolL( TPtrC(GPRS_IF_PROMPT_FOR_AUTH), promptPasswd );
-            if( promptPasswd != EFalse )
-                {
-                LOGSTRING( "promptPasswd was not EFalse" );
-                continue;
-                }
-            TBuf8<100> passwd;
-            theView->ReadTextL( TPtrC(GPRS_IF_AUTH_PASS), passwd );
-            if( passwd.Length() != 0 )
-                {
-                LOGSTRING( "passwd length was not 0" );
-                continue;
-                }
-            LOGSTRING( "init access not modified" );
-            }
-
-        CleanupStack::PopAndDestroy( theView );
-        return( ETrue );
-        }
-    }
-    else
-    	{
-    	LOGSTRING( "CCMAppUi::CheckInitAccessPointL Init Access feature off" );
-    	return EFalse;
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::CreateInitAccessPointL( CCommsDatabase& aDb )
-// Creates the Init Access point to comms db
-// -----------------------------------------------------------------------------
-//
-TUint32 CCMAppUi::CreateInitAccessPointL( CCommsDatabase& aDb )
-    {
-    if(iInitAccessOn)
-    {
-    CApDataHandler* apDataHandler = CApDataHandler::NewLC( aDb );
-    CApAccessPointItem* apItem = CApAccessPointItem::NewLC();
-
-    TBuf<KMaxAPNLength> initAccess;
-    initAccess.Append( KInitAccess );
-
-    if( iNetworkStatus == CCMRegistrationMonitor::ERoaming )
-        {
-        const RMobilePhone::TMobilePhoneSubscriberId& imsi = iRegistrationMonitor->GetImsi();
-        initAccess.Append( KDot );
-        initAccess.Append( KMNC0 );
-        initAccess.Append( imsi.Mid(3,2) );
-        initAccess.Append( KDot );
-        initAccess.Append( KMCC );
-        initAccess.Append( imsi.Mid(0,3) );
-        initAccess.Append( KDot );
-        initAccess.Append( KGprs );
-        }
-
-    if( iNetworkStatus == CCMRegistrationMonitor::ERoaming )
-        {
-        apItem->SetNamesL( KInitAccessRoamingName  );
-        }
-    else
-        {
-        apItem->SetNamesL( KInitAccess );
-        }
-    
-    apItem->WriteLongTextL( EApGprsAccessPointName, initAccess );
-
-    LOGSTRING( "CreateInitAccessPointL, setting bearer type" );
-    apItem->SetBearerTypeL( EApBearerTypeGPRS );
-    LOGSTRING( "CreateInitAccessPointL, setting isp type type" );
-    apItem->WriteUint( EApIspIspType, EIspTypeInternetOnly );
-    LOGSTRING( "CreateInitAccessPointL, creating" );
-    apDataHandler->CreateFromDataL( *apItem );
-
-    CleanupStack::PopAndDestroy( apItem );
-    CleanupStack::PopAndDestroy( apDataHandler );
-    
-    return apItem->WapUid();
-    	}
-    else
-    	{
-    	LOGSTRING( "CCMAppUi::CreateInitAccessPointL Init Access feature off" );
-    	return KErrNone;
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::ReadAccessPointFromPreferencesL()
-// Reads the accesspoint value from Connection preferences table
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CCMAppUi::ReadAccessPointFromPreferencesL()
-    {
-    LOGSTRING( "CCMAppUi::ReadAccessPointFromPreferencesL()" );
-    TInt errorCode( KErrGeneral );
-    TInt returnValue;
-    CCommsDatabase*    theDb;
-    CCommsDbConnectionPrefTableView* thePrefView;
-    CCommsDbTableView* theView;
-    CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref pref;
-    CCommsDbConnectionPrefTableView::TCommDbIapBearer bearer;
-
-    theDb = CCommsDatabase::NewL( );
-    CleanupStack::PushL( theDb );
-    thePrefView = theDb->
-        OpenConnectionPrefTableViewOnRankLC( ECommDbConnectionDirectionOutgoing, TUint( 1 ));
-    returnValue = thePrefView -> GotoFirstRecord();
-    if ( returnValue == KErrNone )
-        {
-        thePrefView->ReadConnectionPreferenceL( pref );
-        bearer = pref.iBearer;
-        LOGSTRING2("ReadAccessPointFromPreferencesL: iap %i", bearer.iIapId );
-        
-        theView = theDb->OpenViewMatchingUintLC( TPtrC( WAP_IP_BEARER ),
-                                         TPtrC( WAP_IAP ), 
-                                         bearer.iIapId );
-        errorCode = theView->GotoFirstRecord();
-        if ( errorCode == KErrNone )
-            {
-            theView->ReadUintL( TPtrC( WAP_ACCESS_POINT_ID ),  iAccessPoint );
-            }
-
-        CleanupStack::PopAndDestroy( theView );
-        CleanupStack::PopAndDestroy( thePrefView );
-        CleanupStack::PopAndDestroy( theDb );
-        }
-
-    return returnValue;
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::CheckIniFileSettings
-// cheks what kind of information exsist in configuration managers ini file
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::CheckIniFileSettingsL()
-    {
-    LOGSTRING( "CCMAppUi::CheckIniFileSettingsL()" );
-    TInt roaming(0);
-
-    TInt errorCodeRoaming = GetIntValue( KOnlineSupportRoaming, roaming );
-    LOGSTRING2("Errorcode roaming %i", errorCodeRoaming );    
-    
-    if ( errorCodeRoaming == KErrNone )
-        {
-        iFirstStartInHomeNetwork = ETrue;
-        }
-    }
-
-
-TInt CCMAppUi::StoreIntValue( const TUint32 aCrKey, const TInt aValue )
-    {
-    return iRepository->Set( aCrKey, aValue );
-    }
-
-TInt CCMAppUi::StoreStringValue( const TUint32 aCrKey, const TDesC& aValue )
-    {
-    return iRepository->Set( aCrKey, aValue );
-    }
-
-TInt CCMAppUi::GetIntValue( const TUint32 aCrKey, TInt& aValue )
-    {
-    return iRepository->Get( aCrKey, aValue );
-    }
-
-TInt CCMAppUi::GetStringValue( const TUint32 aCrKey, TDes& aValue )
-    {
-    return iRepository->Get( aCrKey, aValue );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::ShowWaitDialogL
-// Shows wait note
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::ShowWaitDialogL()
-    {
-    LOGSTRING( "Enter to CCMAppUi::ShowWaitDialogL");
-    if( !iAutoStart ) 
-        {
-        HBufC* msgText = CEikonEnv::Static()->
-            AllocReadResourceLC( R_CONFMANAGER_WAITNOTE ); 
-
-        if (iCommonDialogMonitor)
-            {
-            iCommonDialogMonitor->Cancel();
-            delete iCommonDialogMonitor;
-            iCommonDialogMonitor = NULL;
-            }
-        // instantiate the active object CGlobalConfirmationObserver
-        iCommonDialogMonitor = CCMDialogMonitor::NewL( *this );
-        
-        iCommonDialogMonitor->SetDialogMode(CCMDialogMonitor::EWait);
-        // SetActive
-        iCommonDialogMonitor->Start();
-        
-        if (!iGlobalWaitNote)
-            {
-            iGlobalWaitNote = CAknGlobalNote::NewL();
-            }
-
-        iWaitNoteId = iGlobalWaitNote->ShowNoteL(
-            iCommonDialogMonitor->iStatus,
-            EAknGlobalWaitNote,
-            *msgText );
-        
-        CleanupStack::PopAndDestroy( msgText );
-        }
-    LOGSTRING( "Exit from ShowWaitDialogL" );
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::StartUpOperationL()
-// Shows wait note
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::StartUpOperationL()
-    {
-    LOGSTRING( "CCMAppUi::StartUpOperationL" );
-    CheckIniFileSettingsL();
-
-    iApplicationStatus = EAppStatusMonitoring;
-    iRegistrationMonitor->StartMonitoring();
-
-    // Start time-out timer
-    StartTimeOut( KMonitoringTimeOut );
-    LOGSTRING( "Monitoring started" );
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUi::SetServerString()
-// Sets server string
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::SetServerString(const TDesC& aServer)
-    {
-    if (aServer.Length()>KMaxServerString)
-        {
-        iServer.Copy( TPtrC( aServer.Left( KMaxServerString ) ) );
-        }
-    else
-        {
-        iServer.Copy( TPtrC( aServer ) );
-        }
-    LOGTEXT (iServer);
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUi::SetPageString()
-// Sets page string
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::SetPageString(const TDesC& aPage)
-    {
-    if (aPage.Length() > KMaxPageString)
-        {
-        iPage = TPtrC( aPage.Left( KMaxPageString ) );
-        }
-    else
-        {
-        iPage = TPtrC( aPage );
-        }
-    LOGTEXT (iPage);
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUi::SetConnectReason()
-// Sets connect reason
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::SetConnectReason(TConnectReason aReason)
-    {
-    iConnectReason = aReason;
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUi::SetQueryString()
-// Sets query string
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::SetQueryString(const TDesC& aQuery)
-    {
-    if ( aQuery.Length() > KMaxQueryString )
-        {
-        iQuery = TPtrC( aQuery.Left( KMaxQueryString ) );
-        }
-    else
-        {
-        iQuery = TPtrC( aQuery );
-        }
-    LOGTEXT (iQuery);
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::ConnectionResultL
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::ConnectionResultL( const TInt aErrorCode )
-    {
-    if( iApplicationStatus == EAppStatusClosing )
-        {
-        return;
-        }
-        
-    if( iTimer->IsActive() )
-        {
-        iTimer->Cancel();
-        }
-        
-    iApplicationStatus = EAppStatusInactive;
-
-    LOGSTRING( "CCMAppUi::ConnectionResultL" );
-    LOGSTRING2( "iConnectingVia:%i", iConnectingVia );
-    LOGSTRING2( "aErrrorCode:%i", aErrorCode );
-
-    
-    if( iConnectingVia == EConnectingViaUser ) // this was the last access point to test
-        {
-        if( aErrorCode != KErrNone )
-            {
-            LOGSTRING( "ErrorNoteConnectionL" );
-            ErrorNoteConnectionL();
-            LOGSTRING( "RestoreSettings done" );
-            //DelayedExit();
-            Exit();
-            return;
-            }
-        else
-            {
-            ReadAccessPointFromPreferencesL();
-            }
-        }
-
-    if( aErrorCode == KErrNone )
-        {
-        if( iGlobalWaitNote )
-            {
-            iGlobalWaitNote->CancelNoteL(iWaitNoteId);
-            delete iGlobalWaitNote;
-            iGlobalWaitNote = NULL;
-            }
-        /*        
-        if( iConnectReason == CCMAppUi::EConnectReasonFirstBoot )
-            {
-            TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
-            TApaTask task = taskList.FindApp( KUidConfigurationManager );
-            if( iWaitDialog && !iWaitDialogProcessFinished )
-                {
-                LOGSTRING("iWaitDialog->ProcessFinishedL()");
-                iWaitDialogProcessFinished = ETrue;
-                iWaitDialog->ProcessFinishedL();
-                }
-            
-            
-            task.BringToForeground();
-            }
-
-        // this test succeeded, open the browser
-        LOGSTRING( "Test succeeded, closing waitdialog" )
-        if( iWaitDialog && !iWaitDialogProcessFinished )
-            {
-            LOGSTRING("iWaitDialog->ProcessFinishedL()");
-            iWaitDialogProcessFinished = ETrue;
-            iWaitDialog->ProcessFinishedL();
-            }*/
-        OpenWapBrowserL();
-        }
-    else
-        {
-        // failed, continue to next test
-        iEngine->Disconnect();
-        InitiateNextConnectionTestL();
-        LOGSTRING( "InitiateNextConnectionTestL done" );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::UnhandledLeave
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::UnhandledLeave( TInt aErrorCode )
-    {
-    LOGSTRING2( "CCMAppUi::UnhandledLeave: %i", aErrorCode );
-
-    TRAP_IGNORE( ErrorNoteUnknownL( aErrorCode ) );
-    //DelayedExit();
-    Exit();
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::StatusChanged
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::RegistrationMonitoringDoneL( CCMRegistrationMonitor::TNetworkStatus aNetworkStatus )
-    {    
-    LOGSTRING2( "CCMAppUi::RegistrationMonitoringDoneL %i", aNetworkStatus );
-
-    iNetworkStatus = aNetworkStatus;
-
-    switch( aNetworkStatus )
-        {
-        case CCMRegistrationMonitor::EStatusUnknown:
-        case CCMRegistrationMonitor::ERequestCancelled:
-        case CCMRegistrationMonitor::ERoaming:
-        case CCMRegistrationMonitor::EHomenetwork:
-            {
-            iNetworkStatusOk = ETrue;
-            if( iApplicationStatus == EAppStatusClosing )
-                {
-                return;
-                }   
-            if( iTimer->IsActive() )
-                {
-                iTimer->Cancel();
-                }
-            iRegistrationMonitor->StopMonitoring(); 
-            break;
-            }
-        default:
-            break;
-        };
-    LOGSTRING( "Status changed" );
-    InitiateNextConnectionTestL();
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::RegistrationReportErrorL
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::RegistrationReportErrorL( const CCMRegistrationMonitor::TMonitoringStatus aStatus, const TInt aError )
-    {
-    LOGSTRING( "CCMAppUi::RegistrationReportErrorL " );
-    LOGSTRING2( "Registration monitor failed: %i", aStatus );
-    LOGSTRING2( "error: %i", aError );
-    LOGSTRING2( "iApplicationStatus: %i", iApplicationStatus );
-
-    if( iApplicationStatus != EAppStatusClosing )
-        {
-        iApplicationStatus = EAppStatusInactive;
-        if( aError == KErrCancel )
-            {
-            //ErrorNoteNetworkL();
-            ErrorNoteConnectionL();
-            }
-        else
-            {
-            ErrorNoteUnknownL(aError);
-            }
-        //DelayedExit();
-        Exit();
-        }
-    // Keep compiler happy
-    (void)aStatus;
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::DynInitMenuPaneL
-// Takes care of menu handling.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::DynInitMenuPaneL(
-        TInt /*aResourceId*/,
-        CEikMenuPane* /*aMenuPane*/
-        )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::HandleCommandL
-// Handles commands
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::HandleCommandL( TInt  /*aCommand*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::HandleKeyEventL
-// Handles key events
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CCMAppUi::HandleKeyEventL(
-        const TKeyEvent& /*aKeyEvent*/, // aKeyEvent Event to handled.
-        TEventCode /*aType*/)           // aType Type of the key event.
-    {
-    return EKeyWasNotConsumed;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::WaitDialogDismissedL
-// Handles key events
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::WaitDialogDismissedL( TInt aButtonId )
-    {
-    LOGSTRING2( "CCMAppUi::WaitDialogDismissedL %i", aButtonId );
-    LOGSTRING2( "iApplicationStatus %i", iApplicationStatus );
-
-    if( iApplicationStatus == EAppStatusClosing )
-        {
-        LOGSTRING("Already closing");
-        return;
-        }
-
-    if( iTimer->IsActive() )
-        {
-        iTimer->Cancel();
-        }
-
-    if( aButtonId == EAknSoftkeyCancel /*EConfmSoftkeyCancel*/
-        || aButtonId == EAknSoftkeyExit )
-        {
-        // User pressed Cancel to iWaitDialog
-        LOGSTRING("EConfmSoftkeyCancel");
-
-        // iWaitDialog is already being destroyed, do not destroy again
-        //iWaitDialogProcessFinished = ETrue;
-
-        iEngine->Disconnect();
-        //DelayedExit();
-        Exit();
-        return;
-        }
-
-    if ( iApplicationStatus == EAppStatusMonitoring )
-        {
-        LOGSTRING("EAppStatusMonitoring");
-        //DelayedExit();
-        Exit();
-        }
-    else if ( iApplicationStatus == EAppStatusConnecting )
-        {
-        LOGSTRING("EAppStatusConnecting");
-        iEngine->Disconnect();
-        //DelayedExit();
-        Exit();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::HandleGainingForeground
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::HandleGainingForeground()
-    {
-    LOGSTRING( "CCMAppUi::HandleGainingForeground" );
-    #ifndef _DEBUG // if urel -> hide application in silent mode
-    if( iAutoStart )
-        {
-        // prevent user from switching to ServiceHelp application
-        // when using silent mode by always sending ServiceHelp to background
-        TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
-        TApaTask task = taskList.FindApp( KUidConfigurationManager );
-        if( task.Exists() )
-            {
-            task.SendToBackground();
-            }
-        }
-    #endif
-    }
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::HandleLosingForeground
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::HandleLosingForeground()
-    {
-    LOGSTRING( "CCMAppUi::HandleLosingForeground" );
-    }
-    
-void CCMAppUi::CommonDialogDismissedL( const CCMDialogMonitor::TDialogMode aDialog, const TInt aStatusCode )
-    {
-    LOGSTRING( "CCMAppUi::CommonDialogDismissedL" );
-    if( aDialog == CCMDialogMonitor::EConfirmation )
-        {
-        if( aStatusCode == EAknSoftkeyYes )
-            {
-            StartTimeOut( KStartUpTimeOut );
-            ShowWaitDialogL();
-            }
-        else
-            {
-            Exit();
-            }
-        }
-    else if ( aDialog == CCMDialogMonitor::EWait )
-        {
-        // cancel
-        WaitDialogDismissedL( aStatusCode );
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CCMAppUI::FetchProductModelAndSwVersionL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCMAppUi::FetchProductModelAndSwVersionL()
-    {
-    LOGSTRING( "CCMAppUi::FetchProductModelAndSwVersionL - begin" );
-    iSwVersion.Zero();
-    iProductModel.Zero();
-
-    HBufC* tmpVersion = HBufC::NewLC( KSysUtilVersionTextLength );
-    TPtr ptr( tmpVersion->Des() );
-    User::LeaveIfError( SysUtil::GetSWVersion( ptr ) );
-    LOGTEXT(ptr);
-
-    _LIT(KVerStrStart,"V ");
-    _LIT(KVerStrEnd,"\n");
-
-    TInt pos1 = tmpVersion->Find(KVerStrStart);
-    TInt pos2 = tmpVersion->Find(KVerStrEnd);
-    TInt verlen = ((TDesC)(KVerStrStart)).Length();
-    
-    if( pos1==KErrNotFound) // Version does not start with "V "
-        {
-        pos1=0;
-        verlen=0;
-        }
-
-    if(    (pos1!=KErrNotFound) 
-        && (pos2!=KErrNotFound) 
-        && (pos2 > (pos1 + verlen) ) 
-      )
-        {
-        pos2 -= (verlen + pos1);
-        TPtrC ptrSw = ptr.Mid(pos1+verlen,pos2);
-        iSwVersion.Append(ptrSw);
-        LOGTEXT( iSwVersion);
-
-        TPtrC ptrSeek(ptr);
-        pos1 = ptrSeek.Find(KVerStrEnd);
-        if(pos1>=0)
-            {
-            ptrSeek.Set(ptrSeek.Mid(pos1+1));
-            pos1 = ptrSeek.Find(KVerStrEnd);
-            if( pos1 >= 0 )
-                {
-                ptrSeek.Set(ptrSeek.Mid(pos1+1));
-                pos1 = ptrSeek.Find(KVerStrEnd);
-                if( pos1 < 0 )
-                    {
-                    ptrSeek.Set(ptrSeek.Mid(1));
-                    iProductModel.Append(ptrSeek);
-                    }
-                else if( pos1 > 0 )
-                    {
-                    ptrSeek.Set(ptrSeek.Mid(1,pos1-1));
-                    iProductModel.Append(ptrSeek);
-                    }
-                LOGTEXT(iProductModel);
-                }
-            }
-        
-        }
-
-    CleanupStack::PopAndDestroy();
-    LOGSTRING( "CCMAppUi::FetchProductModelAndSwVersionL - end" );
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
-
-
-// End of File