diff -r 000000000000 -r 5a93021fdf25 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( 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