diff -r 000000000000 -r 5a93021fdf25 connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionCArray.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionCArray.cpp Thu Dec 17 08:55:21 2009 +0200 @@ -0,0 +1,172 @@ +/* +* Copyright (c) 2004 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: +* Declares the CConnectionCArray +* +*/ + + +// INCLUDE FILES +#include "ConnectionCArray.h" +#include "ConnectionInfo.h" +#include "ConnectionDialogsLogger.h" +#include "connectioninfosortkey.h" + +// CONSTANTS +LOCAL_D const TUint KConnArrayGranularity = KConnMonMaxClientUids; + // from rconnmon.h + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CConnectionCArray::NewL +// --------------------------------------------------------- +// +CConnectionCArray* CConnectionCArray::NewL() + { + CLOG_ENTERFN("CConnectionCArray::NewL"); + CConnectionCArray* self = new( ELeave ) CConnectionCArray(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); // self + CLOG_LEAVEFN("CConnectionCArray::NewL"); + + return self; + } + + +// --------------------------------------------------------- +// CConnectionCArray::CConnectionCArray +// --------------------------------------------------------- +// +CConnectionCArray::CConnectionCArray() + { + } + + +// --------------------------------------------------------- +// CConnectionCArray::ConstructL +// --------------------------------------------------------- +// +void CConnectionCArray::ConstructL() + { + CLOG_ENTERFN("CConnectionCArray::ConstructL"); + + iConnArray = new( ELeave )CArrayPtrFlat( + KConnArrayGranularity ); + CLOG_LEAVEFN("CConnectionCArray::ConstructL"); + } + + +// --------------------------------------------------------- +// CConnectionCArray::~CConnectionCArray +// --------------------------------------------------------- +// +CConnectionCArray::~CConnectionCArray() + { + CLOG_ENTERFN("CConnectionCArray::~CConnectionCArray"); + + if ( iConnArray ) + { + iConnArray->ResetAndDestroy(); + } + delete iConnArray; + + CLOG_LEAVEFN("CConnectionCArray::~CConnectionCArray"); + } + +// --------------------------------------------------------- +// CConnectionCArray::Count +// --------------------------------------------------------- +// +TInt CConnectionCArray::Count() const + { + return iConnArray->Count(); + } + + +// --------------------------------------------------------- +// CConnectionCArray::AppendL +// --------------------------------------------------------- +// +void CConnectionCArray::AppendL( const CConnectionInfo* aInfo ) + { + iConnArray->AppendL( CONST_CAST( CConnectionInfo* , aInfo ) ); + } + + +// --------------------------------------------------------- +// CConnectionCArray::ResetAndDestroy +// --------------------------------------------------------- +// +void CConnectionCArray::ResetAndDestroy() + { + iConnArray->ResetAndDestroy(); + } + + +// --------------------------------------------------------- +// CConnectionCArray::At +// --------------------------------------------------------- +// +CConnectionInfo* CConnectionCArray::At( TInt aIndex ) const + { + return iConnArray->At( aIndex ); + } + + +// --------------------------------------------------------- +// CConnectionCArray::GetArrayIndex +// --------------------------------------------------------- +// +TInt CConnectionCArray::GetArrayIndex( TUint aConnectionId ) const + { + CLOG_WRITEF( _L( "GetArrayIndex: %d" ), aConnectionId ); + TBool found( EFalse ); + TInt index( 0 ); + TInt count = iConnArray->Count(); + TUint connectionId( 0 ); + + while( ( index < count ) && !found ) + { + connectionId = ( *iConnArray )[index]->GetConnId(); + if( connectionId == aConnectionId ) + { + found = ETrue; + } + else + { + ++index; + } + } + + CLOG_WRITEF( _L("Found: %d"), found ); + + return ( found ? index : KErrNotFound ); + } + +// --------------------------------------------------------- +// CConnectionCArray::SortL +// --------------------------------------------------------- +// +void CConnectionCArray::Sort() const + { + TConnectionInfoSortKey key; + key.SetPtr( iConnArray ); + iConnArray->Sort( key ); + } + + +// End of File