connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/NetworkInfoArray.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/NetworkInfoArray.cpp Thu Dec 17 08:55:21 2009 +0200
@@ -0,0 +1,218 @@
+/*
+* Copyright (c) 2005 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: NetworkInfoArray contains and handles CNetworkInfoBase
+* and derived class instances
+*
+*
+*/
+
+
+// INCLUDE FILES
+
+#include "NetworkInfoArray.h"
+#include "ConnectionDialogsLogger.h"
+
+
+// CONSTANTS
+/**
+* Granularity of NetworkInfoArray array
+*/
+LOCAL_D const TUint KConnArrayGranularity = 3;
+
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// CNetworkInfoArray::CNetworkInfoArray
+// ---------------------------------------------------------
+//
+CNetworkInfoArray::CNetworkInfoArray()
+ {
+ }
+
+
+// ---------------------------------------------------------
+// CNetworkInfoArray::~CNetworkInfoArray
+// ---------------------------------------------------------
+//
+CNetworkInfoArray::~CNetworkInfoArray()
+ {
+ CLOG_ENTERFN( "CNetworkInfoArray::~CNetworkInfoArray" );
+
+ if( iNetworkInfoArray )
+ {
+ iNetworkInfoArray->ResetAndDestroy();
+ }
+ delete iNetworkInfoArray;
+
+ CLOG_LEAVEFN( "CNetworkInfoArray::~CNetworkInfoArray" );
+ }
+
+
+// ---------------------------------------------------------
+// CNetworkInfoArray::NewL
+// ---------------------------------------------------------
+//
+CNetworkInfoArray* CNetworkInfoArray::NewL()
+ {
+ CLOG_ENTERFN( "CNetworkInfoArray::NewL" );
+
+ CNetworkInfoArray* self = new ( ELeave ) CNetworkInfoArray();
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+
+ CLOG_LEAVEFN( "CNetworkInfoArray::NewL" );
+
+ return self;
+ }
+
+
+// ---------------------------------------------------------
+// CNetworkInfoArray::ConstructL
+// ---------------------------------------------------------
+//
+void CNetworkInfoArray::ConstructL()
+ {
+ CLOG_ENTERFN( "CNetworkInfoArray::ConstructL" );
+
+ iNetworkInfoArray = new( ELeave )
+ CArrayPtrFlat<CNetworkInfoBase>( KConnArrayGranularity );
+
+ CLOG_LEAVEFN( "CNetworkInfoArray::ConstructL" );
+ }
+
+
+// ---------------------------------------------------------
+// CNetworkInfoArray::MdcaCount
+// ---------------------------------------------------------
+//
+TInt CNetworkInfoArray::MdcaCount() const
+ {
+ CLOG_WRITE( "CNetworkInfoArray::MdcaCount" );
+ CLOG_WRITEF( _L( "Count : %d" ), iNetworkInfoArray->Count() );
+ return iNetworkInfoArray->Count();
+ }
+
+
+// ---------------------------------------------------------
+// CNetworkInfoArray::MdcaPoint
+// ---------------------------------------------------------
+//
+TPtrC CNetworkInfoArray::MdcaPoint( TInt aIndex ) const
+ {
+ CLOG_WRITEF( _L( "CNetworkInfoArray::MdcaPoint aIndex: %d" ), aIndex );
+ return ( *iNetworkInfoArray )[aIndex]->GetNetworkListBoxItemText();
+ }
+
+
+// ---------------------------------------------------------
+// CNetworkInfoArray::GetArrayIndex
+// ---------------------------------------------------------
+//
+TInt CNetworkInfoArray::GetArrayIndex( TName aNetworkName ) const
+ {
+ CLOG_ENTERFN( "CNetworkInfoArray::GetArrayIndex" );
+
+ TBool found( EFalse );
+ TInt index( 0 );
+
+ while( ( index < iNetworkInfoArray->Count() ) && !found )
+ {
+ if( ( *iNetworkInfoArray )[index]->NetworkName().Compare(
+ aNetworkName ) )
+ {
+ ++index;
+ }
+ else
+ {
+ found = ETrue;
+ }
+ }
+
+ CLOG_LEAVEFN( "CNetworkInfoArray::GetArrayIndex" );
+
+ return ( found ? index : KErrNotFound );
+ }
+
+
+// ---------------------------------------------------------
+// CNetworkInfoArray::AppendL
+// ---------------------------------------------------------
+//
+void CNetworkInfoArray::AppendL( CNetworkInfoBase* aNetwork )
+ {
+ CLOG_ENTERFN( "CNetworkInfoArray::AppendL " );
+
+ if ( aNetwork )
+ {
+ iNetworkInfoArray->AppendL( aNetwork );
+ }
+
+ CLOG_LEAVEFN( "CNetworkInfoArray::AppendL " );
+ }
+
+
+// ---------------------------------------------------------
+// CNetworkInfoArray::Reset
+// ---------------------------------------------------------
+//
+void CNetworkInfoArray::Reset()
+ {
+ iNetworkInfoArray->ResetAndDestroy();
+ }
+
+
+// ---------------------------------------------------------
+// CNetworkInfoArray::operator[]
+// ---------------------------------------------------------
+//
+CNetworkInfoBase* CNetworkInfoArray::operator[]( TUint aIndex ) const
+ {
+ return ( *iNetworkInfoArray )[aIndex];
+ }
+
+
+// ---------------------------------------------------------
+// CNetworkInfoArray::At
+// ---------------------------------------------------------
+//
+CNetworkInfoBase* CNetworkInfoArray::At( TInt aIndex ) const
+ {
+ CLOG_ENTERFN( "CNetworkInfoArray::At " );
+
+ CNetworkInfoBase* temp = NULL;
+ if ( ( aIndex < iNetworkInfoArray->Count() ) &&
+ ( aIndex > KErrNotFound ) )
+ {
+ temp = ( *iNetworkInfoArray )[aIndex];
+ }
+
+ CLOG_LEAVEFN( "CNetworkInfoArray::At " );
+
+ return temp;
+ }
+
+
+// ---------------------------------------------------------
+// CNetworkInfoArray::Sort
+// ---------------------------------------------------------
+//
+TInt CNetworkInfoArray::Sort( TKeyArrayFix& aKey )
+ {
+ return iNetworkInfoArray->Sort( aKey );
+ }
+
+
+// End of File