connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/NetworkInfoArray.cpp
changeset 0 5a93021fdf25
child 41 bbb64eb3bdee
equal deleted inserted replaced
-1:000000000000 0:5a93021fdf25
       
     1 /*
       
     2 * Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  NetworkInfoArray contains and handles CNetworkInfoBase 
       
    15 *  and derived class instances
       
    16 *     
       
    17 *
       
    18 */
       
    19 
       
    20 
       
    21 // INCLUDE FILES
       
    22 
       
    23 #include "NetworkInfoArray.h"
       
    24 #include "ConnectionDialogsLogger.h"
       
    25 
       
    26 
       
    27 // CONSTANTS
       
    28 /**
       
    29 * Granularity of NetworkInfoArray array
       
    30 */
       
    31 LOCAL_D const TUint KConnArrayGranularity = 3;
       
    32 
       
    33 
       
    34 // ================= MEMBER FUNCTIONS =======================
       
    35 // ---------------------------------------------------------
       
    36 // CNetworkInfoArray::CNetworkInfoArray
       
    37 // ---------------------------------------------------------
       
    38 //
       
    39 CNetworkInfoArray::CNetworkInfoArray()
       
    40     {
       
    41     }
       
    42 
       
    43 
       
    44 // ---------------------------------------------------------
       
    45 // CNetworkInfoArray::~CNetworkInfoArray
       
    46 // ---------------------------------------------------------
       
    47 //
       
    48 CNetworkInfoArray::~CNetworkInfoArray()
       
    49     {
       
    50     CLOG_ENTERFN( "CNetworkInfoArray::~CNetworkInfoArray" );  
       
    51 
       
    52     if( iNetworkInfoArray )
       
    53         {
       
    54         iNetworkInfoArray->ResetAndDestroy();
       
    55         }
       
    56     delete iNetworkInfoArray;
       
    57 
       
    58     CLOG_LEAVEFN( "CNetworkInfoArray::~CNetworkInfoArray" );  
       
    59     }
       
    60 
       
    61 
       
    62 // ---------------------------------------------------------
       
    63 // CNetworkInfoArray::NewL
       
    64 // ---------------------------------------------------------
       
    65 //
       
    66 CNetworkInfoArray* CNetworkInfoArray::NewL()
       
    67     {
       
    68     CLOG_ENTERFN( "CNetworkInfoArray::NewL" );  
       
    69 
       
    70     CNetworkInfoArray* self = new ( ELeave ) CNetworkInfoArray();
       
    71 
       
    72     CleanupStack::PushL( self );
       
    73     self->ConstructL();
       
    74     CleanupStack::Pop( self );
       
    75 
       
    76     CLOG_LEAVEFN( "CNetworkInfoArray::NewL" );
       
    77 
       
    78     return self;
       
    79     }
       
    80 
       
    81 
       
    82 // ---------------------------------------------------------
       
    83 // CNetworkInfoArray::ConstructL
       
    84 // ---------------------------------------------------------
       
    85 //
       
    86 void CNetworkInfoArray::ConstructL()
       
    87     {
       
    88     CLOG_ENTERFN( "CNetworkInfoArray::ConstructL" );  
       
    89 
       
    90     iNetworkInfoArray = new( ELeave )
       
    91                     CArrayPtrFlat<CNetworkInfoBase>( KConnArrayGranularity );
       
    92 
       
    93     CLOG_LEAVEFN( "CNetworkInfoArray::ConstructL" );
       
    94     }
       
    95 
       
    96 
       
    97 // ---------------------------------------------------------
       
    98 // CNetworkInfoArray::MdcaCount
       
    99 // ---------------------------------------------------------
       
   100 //
       
   101 TInt  CNetworkInfoArray::MdcaCount() const
       
   102     {
       
   103     CLOG_WRITE( "CNetworkInfoArray::MdcaCount" );
       
   104     CLOG_WRITEF( _L( "Count : %d" ),  iNetworkInfoArray->Count() );
       
   105     return iNetworkInfoArray->Count();
       
   106     }
       
   107 
       
   108 
       
   109 // ---------------------------------------------------------
       
   110 // CNetworkInfoArray::MdcaPoint
       
   111 // ---------------------------------------------------------
       
   112 //
       
   113 TPtrC CNetworkInfoArray::MdcaPoint( TInt aIndex ) const
       
   114     {
       
   115     CLOG_WRITEF( _L( "CNetworkInfoArray::MdcaPoint aIndex: %d" ),  aIndex );
       
   116     return ( *iNetworkInfoArray )[aIndex]->GetNetworkListBoxItemText();
       
   117     }
       
   118 
       
   119 
       
   120 // ---------------------------------------------------------
       
   121 // CNetworkInfoArray::GetArrayIndex
       
   122 // ---------------------------------------------------------
       
   123 //
       
   124 TInt CNetworkInfoArray::GetArrayIndex( TName aNetworkName ) const
       
   125     {
       
   126     CLOG_ENTERFN( "CNetworkInfoArray::GetArrayIndex" );
       
   127 
       
   128     TBool found( EFalse );
       
   129     TInt index( 0 );
       
   130 
       
   131     while( ( index < iNetworkInfoArray->Count() ) && !found  )
       
   132         {
       
   133         if( ( *iNetworkInfoArray )[index]->NetworkName().Compare(
       
   134                                                             aNetworkName ) )
       
   135             {
       
   136             ++index;
       
   137             }
       
   138         else
       
   139             {
       
   140             found = ETrue;
       
   141             }
       
   142         }
       
   143 
       
   144     CLOG_LEAVEFN( "CNetworkInfoArray::GetArrayIndex" );  
       
   145 
       
   146     return ( found ? index : KErrNotFound );
       
   147     }
       
   148 
       
   149 
       
   150 // ---------------------------------------------------------
       
   151 // CNetworkInfoArray::AppendL
       
   152 // ---------------------------------------------------------
       
   153 //
       
   154 void CNetworkInfoArray::AppendL( CNetworkInfoBase* aNetwork )
       
   155     {
       
   156     CLOG_ENTERFN( "CNetworkInfoArray::AppendL " );
       
   157 
       
   158     if ( aNetwork )
       
   159         {
       
   160         iNetworkInfoArray->AppendL( aNetwork );
       
   161         }
       
   162 
       
   163     CLOG_LEAVEFN( "CNetworkInfoArray::AppendL " );  
       
   164     }
       
   165 
       
   166 
       
   167 // ---------------------------------------------------------
       
   168 // CNetworkInfoArray::Reset
       
   169 // ---------------------------------------------------------
       
   170 //
       
   171 void CNetworkInfoArray::Reset()
       
   172     {
       
   173     iNetworkInfoArray->ResetAndDestroy();
       
   174     }
       
   175 
       
   176 
       
   177 // ---------------------------------------------------------
       
   178 // CNetworkInfoArray::operator[]
       
   179 // ---------------------------------------------------------
       
   180 //
       
   181 CNetworkInfoBase* CNetworkInfoArray::operator[]( TUint aIndex ) const
       
   182     {
       
   183     return ( *iNetworkInfoArray )[aIndex];
       
   184     }
       
   185 
       
   186 
       
   187 // ---------------------------------------------------------
       
   188 // CNetworkInfoArray::At
       
   189 // ---------------------------------------------------------
       
   190 //
       
   191 CNetworkInfoBase* CNetworkInfoArray::At( TInt aIndex ) const
       
   192     {
       
   193     CLOG_ENTERFN( "CNetworkInfoArray::At " );
       
   194 
       
   195     CNetworkInfoBase* temp = NULL;
       
   196     if ( ( aIndex < iNetworkInfoArray->Count() ) && 
       
   197          ( aIndex > KErrNotFound ) )
       
   198         {
       
   199         temp = ( *iNetworkInfoArray )[aIndex];
       
   200         }
       
   201 
       
   202     CLOG_LEAVEFN( "CNetworkInfoArray::At " );
       
   203 
       
   204     return temp;
       
   205     }
       
   206 
       
   207 
       
   208 // ---------------------------------------------------------
       
   209 // CNetworkInfoArray::Sort
       
   210 // ---------------------------------------------------------
       
   211 //    
       
   212 TInt CNetworkInfoArray::Sort( TKeyArrayFix& aKey )
       
   213     {
       
   214     return iNetworkInfoArray->Sort( aKey );
       
   215     }
       
   216     
       
   217 
       
   218 // End of File