browserui/browser/BrowserAppSrc/BrowserCommsModel.cpp
changeset 51 48e827313edd
parent 37 481242ead638
child 53 f427d27b98d8
--- a/browserui/browser/BrowserAppSrc/BrowserCommsModel.cpp	Tue Feb 02 00:12:41 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,288 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "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: 
-*      Implementation of CBrowserCommsModel.
-*
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <ActiveApDb.h>
-#include <ApUtils.h>
-#include <ApSelect.h>
-#include <ApListItemList.h>
-#include <ApListItem.h>
-#include <BrowserNG.rsg>
-#include "BrowserCommsModel.h"
-#include "BrowserDialogs.h"
-#include "Browser.hrh"
-
-// CONSTANTS
-
-/// Granularity of observer list.
-LOCAL_D const TInt KObserverListGranularity = 4;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::NewL
-// ---------------------------------------------------------
-//
-CBrowserCommsModel* CBrowserCommsModel::NewL()
-    {
-    CBrowserCommsModel* model = new (ELeave) CBrowserCommsModel();
-    CleanupStack::PushL( model );
-    model->ConstructL();
-    CleanupStack::Pop();    // model
-    return model;
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::~CBrowserCommsModel
-// ---------------------------------------------------------
-//
-CBrowserCommsModel::~CBrowserCommsModel()
-    {
-    delete iObservers;
-    if ( iDb )
-        {
-        iDb->RemoveObserver( this );
-        }
-    delete iCachedApList;
-    delete iDb;
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::CBrowserCommsModel
-// ---------------------------------------------------------
-//
-CBrowserCommsModel::CBrowserCommsModel(): iUpdatePending( EFalse )
-    {
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::ConstructL
-// ---------------------------------------------------------
-//
-void CBrowserCommsModel::ConstructL()
-    {
-    iDb = CActiveApDb::NewL( EDatabaseTypeIAP );
-    iDb->AddObserverL( this );
-    iCachedApList = new (ELeave) CApListItemList();
-    iObservers = new (ELeave) CArrayPtrFlat<MCommsModelObserver>
-                                                ( KObserverListGranularity );
-    iDelayedRefresh = ETrue;
-    //GetAccessPointsL();
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::HandleApDbEventL
-// ---------------------------------------------------------
-//
-void CBrowserCommsModel::HandleApDbEventL
-( MActiveApDbObserver::TEvent aEvent )
-    {
-    // We try to refresh AP list in two cases:
-    // 1. Database changed;
-    // 2. Database unlocked and we have a pending update (previous update was
-    //    unsuccessful).
-    if ( aEvent == MActiveApDbObserver::EDbChanged ||
-         ( aEvent == MActiveApDbObserver::EDbAvailable && iUpdatePending ) )
-            {
-            // Try to refresh cached AP list.
-            iDelayedRefresh = ETrue;
-            //GetAccessPointsL();
-            NotifyObserversL();
-            }
-    // MActiveApDbObserver::EDbClosing:
-    // MActiveApDbObserver::EDbAvailable:
-       // These events will never come. Commdb cannot be closed
-        // with a notifier still on it. (It must be deleted to close.)
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::ApDb
-// ---------------------------------------------------------
-//
-CActiveApDb& CBrowserCommsModel::ApDb() const
-    {
-    return *iDb;
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::CommsDb
-// ---------------------------------------------------------
-//
-CCommsDatabase& CBrowserCommsModel::CommsDb() const
-    {
-    return *(iDb->Database());
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::CopyAccessPointsL
-// ---------------------------------------------------------
-//
-CApListItemList* CBrowserCommsModel::CopyAccessPointsL()
-    {
-    if ( iDelayedRefresh )
-    	{
-    	GetAccessPointsL();
-    	iDelayedRefresh = EFalse;
-    	}
-    CApListItemList* accessPoints = new (ELeave) CApListItemList();
-    CleanupStack::PushL( accessPoints );
-    CApListItem* ap;
-    TInt i;
-    TInt count = iCachedApList->Count();
-    for ( i = 0; i < count; i++ )
-        {
-        ap = CApListItem::NewLC( iCachedApList->At( i ) );
-        accessPoints->AppendL( ap );
-        CleanupStack::Pop();    // ap; owner is now the list.
-        }
-    CleanupStack::Pop();    // accessPoints
-    return accessPoints;
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::AccessPoints
-// ---------------------------------------------------------
-//
-const CApListItemList* CBrowserCommsModel::AccessPointsL()
-    {
-    if ( iDelayedRefresh )
-    	{
-    	GetAccessPointsL();
-    	iDelayedRefresh = EFalse;
-    	}
-    return iCachedApList;
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::RefreshAccessPointsL
-// ---------------------------------------------------------
-//
-void CBrowserCommsModel::RefreshAccessPointsL()
-    {
-    iDelayedRefresh = ETrue;
-    //GetAccessPointsL();
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::AddObserverL
-// ---------------------------------------------------------
-//
-void CBrowserCommsModel::AddObserverL( MCommsModelObserver& aObserver )
-    {
-    iObservers->AppendL( &aObserver );
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::RemoveObserver
-// ---------------------------------------------------------
-//
-void CBrowserCommsModel::RemoveObserver( MCommsModelObserver& aObserver )
-    {
-    TInt i;
-    TInt count = iObservers->Count();
-    for ( i = 0; i < count; i++ )
-        {
-        if ( iObservers->At( i ) == &aObserver )
-            {
-            iObservers->Delete( i );
-            break;
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::GetAccessPointsL
-// ---------------------------------------------------------
-//
-void CBrowserCommsModel::GetAccessPointsL()
-    {
-    CApListItemList* apList = new (ELeave) CApListItemList();
-    CleanupStack::PushL( apList );
-    TRAPD( err, DoGetAccessPointsL( *apList ) );
-    switch ( err )
-        {
-        case KErrNone:
-            {
-            // Got new data.
-            delete iCachedApList;
-            CleanupStack::Pop();    // apList: now member.
-            iCachedApList = apList;
-            iUpdatePending = EFalse;
-            //NotifyObserversL();
-            break;
-            }
-
-        case KErrLocked:
-        case KErrAccessDenied:
-        case KErrPermissionDenied:
-            {
-            // Could not access database. Update now pending, old data remains.
-            CleanupStack::PopAndDestroy();  // apList
-            iUpdatePending = ETrue;
-            break;
-            }
-
-        default:
-            {
-            // Other error. Propagate.
-            User::Leave( err );
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::DoGetAccessPointsL
-// ---------------------------------------------------------
-//
-void CBrowserCommsModel::DoGetAccessPointsL( CApListItemList& aList ) const
-    {
-    CApSelect* apSelect = CApSelect::NewLC
-        (
-        *(iDb->Database()),
-        KEApIspTypeAll,
-//        KEApIspTypeAll | KEApIspTypeWAPMandatory,
-        EApBearerTypeAll,
-        KEApSortNameAscending,
-		EIPv4 | EIPv6
-        );
-    (void)apSelect->AllListItemDataL( aList );
-    CleanupStack::PopAndDestroy();  // apSelect
-    }
-
-// ---------------------------------------------------------
-// CBrowserCommsModel::NotifyObserversL
-// ---------------------------------------------------------
-//
-void CBrowserCommsModel::NotifyObserversL()
-    {
-    if ( iObservers )
-        {
-        TInt i;
-        TInt count = iObservers->Count();
-        for ( i = 0; i < count; i++ )
-            {
-            iObservers->At( i )->HandleCommsModelChangeL();
-            }
-        }
-    }
-// End of File