--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingslbmodel.cpp Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,430 +0,0 @@
-/*
-* Copyright (c) 2006 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: List box for the SUPL Settings UI
-*
-*/
-
-
-// System Includes
-#include <e32keys.h>
-#include <locsuplsettingsui.rsg>
-#include <avkon.rsg>
-#include <StringLoader.h>
-#include <centralrepository.h>
-#include <epos_csuplsettings.h>
-
-
-// User Include
-#include "locsuplsettingslbmodel.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsuplsettingsprivatecrkeys.h"
-#include "epos_omasuplconfigurationkeys.h"
-#include "locsupldebug.h"
-
-// Constants
-
-const TInt KMaxConversionBufferLength = 0x200;
-
-_LIT( KDefaultServerIPAddress, " " );
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsLBModel::CLocSUPLSettingsLBModel
-// Default Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsLBModel::CLocSUPLSettingsLBModel(
- CLocSUPLSettingsUiEngine& aEngine )
- :iEngine( aEngine )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsLBModel::~CLocSUPLSettingsLBModel
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsLBModel::~CLocSUPLSettingsLBModel()
- {
- DEBUG( + CLocSUPLSettingsLBModel::~CLocSUPLSettingsLBModel );
- // Delete the Buffers
- delete iBuffer;
- iBuffer = NULL;
-
- delete iServerDetailTitle;
- iServerDetailTitle = NULL;
-
- delete iSuplUsageTitle;
- iSuplUsageTitle = NULL;
-
- delete iSuplServerDetail;
- iSuplServerDetail = NULL;
-
- delete iDefaultSuplUsage;
- iDefaultSuplUsage = NULL;
- DEBUG( - CLocSUPLSettingsLBModel::~CLocSUPLSettingsLBModel );
- }
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsLBModel* CLocSUPLSettingsLBModel::NewL
-// Two-phased constructor
-//
-// @param aEngine Reference the SUPL Settings Engine
-// @return CLocSUPLSettingsLBModel* Reference to the object created
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsLBModel* CLocSUPLSettingsLBModel::NewL(
- CLocSUPLSettingsUiEngine& aEngine )
- {
- DEBUG( + CLocSUPLSettingsLBModel::NewL );
- CLocSUPLSettingsLBModel* self = CLocSUPLSettingsLBModel::NewLC( aEngine );
- CleanupStack::Pop( self );
- DEBUG( - CLocSUPLSettingsLBModel::NewL );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsLBModel* CLocSUPLSettingsLBModel::NewLC
-// Two-phased constructor
-//
-// @param aEngine Reference the SUPL Settings Engine
-// @return CLocSUPLSettingsLBModel* Reference to the object created
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsLBModel* CLocSUPLSettingsLBModel::NewLC(
- CLocSUPLSettingsUiEngine& aEngine )
- {
- CLocSUPLSettingsLBModel* self =
- new( ELeave )CLocSUPLSettingsLBModel( aEngine );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsLBModel::ConstructL
-// Second Phase of the two phase constructor.
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsLBModel::ConstructL()
- {
- DEBUG( + CLocSUPLSettingsLBModel::ConstructL );
- // Allocate the Conversion Buffer
- iBuffer = HBufC16::NewL( KMaxConversionBufferLength );
-
- // Read the Local Variation Key and set the Item count
- TInt flagValue = 0;
- CRepository* repository = CRepository::NewLC( TUid::Uid( KCRUidLocSuplSettingsUi ) );
- repository->Get( KLocSuplSettingsLVFlags, flagValue );
- CleanupStack::PopAndDestroy( repository );
- repository = NULL;
- if( flagValue )
- {
- iServerAddressPresent = ETrue;
-
- // Allocate and set the server ip address title field
- iServerDetailTitle = StringLoader::LoadL( R_LOC_SUPL_SERVER_DETAIL );
-
- // Allocate the Default IP address
- iSuplServerDetail = HBufC16::NewL( KDefaultServerIPAddress().Length() );
- TPtr16 ptr( iSuplServerDetail->Des() );
- ptr.Copy( KDefaultServerIPAddress );
- }
-
- // Reinitializing the flag value
- flagValue = 0;
- TRAPD( error, repository = CRepository::NewL( KCRUidOMASuplConfiguration ) );
- if ( !error )
- {
- error = repository->Get( KOMASuplConfigurationSuplPermissionQueryUsage, flagValue );
- if ( error || flagValue < 0 )
- {
- flagValue = 0;
- }
- delete repository;
- repository = NULL;
- }
-
- // Check for SUPL Setting usage variationing.
- if( flagValue )
- {
- iSuplUsagePresent = ETrue;
-
- // Allocate and set the server ip address title field
- iSuplUsageTitle = StringLoader::LoadL( R_LOC_SUPL_USE );
-
- iDefaultSuplUsage = StringLoader::LoadL( R_AVKON_SELEC_SETT_VAL_FIELD_NONE );
- // Default value can be used for this field as well
- // So no need to have another variable.
- }
-
- DEBUG( - CLocSUPLSettingsLBModel::ConstructL );
- }
-
-// ---------------------------------------------------------------------------
-// TSUPLSettingsItemId CLocSUPLSettingsLBModel::ResolveSettingsItem
-// Packs the server address to the end of the buffer passed.
-//
-// @param aPtr Buffer to which the server address needs to be appended.
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsLBModel::TSUPLSettingsItemId
- CLocSUPLSettingsLBModel::ResolveSettingsItem( TInt aListboxIndex ) const
- {
- DEBUG( + CLocSUPLSettingsLBModel::ResolveSettingsItem );
- TSUPLSettingsItemId selectedItem = ESUPLSettingsUsage;
-
- switch ( aListboxIndex )
- {
- case 0:
- {
- selectedItem = ESUPLSettingsUsage;
- break;
- }
- case 1:
- {
- selectedItem = ESUPLSettingsServersDetail;
- break;
- }
- case 2:
- {
- selectedItem = ESUPLSettingsActiveSessions;
- break;
- }
- default:
- {
- break;
- }
- }
- DEBUG( - CLocSUPLSettingsLBModel::ResolveSettingsItem );
- return selectedItem;
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLSettingsLBModel::MdcaCount() const
-// Inherited from MDesCArray. Returns the total number of items in the
-// Settings description array
-//
-// @return TInt The total number of elements in the Settings Description array
-// ---------------------------------------------------------------------------
-//
-TInt CLocSUPLSettingsLBModel::MdcaCount() const
- {
- DEBUG( + CLocSUPLSettingsLBModel::MdcaCount );
- // Initialize the count to 0
- TInt itemCount = 0;
-
- // Check for SUPL usage.
- if ( iSuplUsagePresent )
- {
- itemCount++;
- // Check if the usage value is disabled
- if ( iEngine.GetSuplUsage() == CSuplSettings::ESuplUsageDisabled )
- {
- return itemCount;
- }
- // Check for Server address
- iServerAddressPresent ? itemCount++ : itemCount;
- }
- itemCount++; // For the third entry "Active sessions"
- // Check if the SUPL Usage value is Disabled
- // If that is the case then only SUPL usage will be displayed
- DEBUG( - CLocSUPLSettingsLBModel::MdcaCount );
- return itemCount;
- }
-
-// ---------------------------------------------------------------------------
-// TPtrC16 CLocSUPLSettingsLBModel::MdcaPoint() const
-// Inherited from MDesCArray. Returns the list box entry corresponding to the
-// index value
-//
-// @param aIndex The index whose list box entry needs to be retrieved
-// @return TPtr16 The list box description
-// ---------------------------------------------------------------------------
-//
-TPtrC16 CLocSUPLSettingsLBModel::MdcaPoint( TInt aIndex ) const
- {
- DEBUG( + CLocSUPLSettingsLBModel::MdcaPoint );
- // Zero the internal buffer
- TPtr16 ptr( iBuffer->Des() );
- ptr.Zero();
-
- // CAknSettingStyleListBox
- // Format "\t%S\t\t%S"
-
- // Append the first tab
- ptr.Append( EKeyTab );
-
- TSUPLSettingsItemId index = ResolveSettingsItem( aIndex );
- switch( index )
- {
- case ESUPLSettingsUsage:
- {
- AppendSuplUsage( ptr );
- break;
- }
- case ESUPLSettingsServersDetail:
- {
- AppendSuplServerDetail( ptr );
- break;
- }
- case ESUPLSettingsActiveSessions:
- {
- TRAP_IGNORE( AppendSuplActiveSessionsDetailL( ptr ) );
- break;
- }
- default:
- {
- // Append the second tab
- ptr.Append( EKeyTab );
- // Append the third tab
- ptr.Append( EKeyTab );
- break;
- }
- }
- DEBUG( - CLocSUPLSettingsLBModel::MdcaPoint );
- return iBuffer->Des();
- }
-
-// ---------------------------------------------------------------------------
-// TPtrC16 CLocSUPLSettingsLBModel::AppendSuplServerDetail()
-// Packs the server address to the end of the buffer passed.
-//
-// @param aPtr Buffer to which the server address needs to be appended.
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsLBModel::AppendSuplUsage( TDes& aPtr ) const
- {
- DEBUG( + CLocSUPLSettingsLBModel::AppendSuplUsage );
- // Append the Title text
- aPtr.Append( iSuplUsageTitle->Des() );
-
- // Append the second tab
- aPtr.Append( EKeyTab );
-
- // Append the third tab
- aPtr.Append( EKeyTab );
-
- // Obtain the SUPL usage from the SUPL Settings Engine. If
- // the settings is not set then a Not defined value would be
- // displayed to the user
- TPtr16 suplUsagePtr( NULL, 0 );
- TRAPD( error, suplUsagePtr.Set( iEngine.GetSuplUsageL() ) );
- if( error || !suplUsagePtr.Length() )
- {
- // Using the same string as SUPL settings AP
- aPtr.Append( iDefaultSuplUsage->Des() );
- }
- else
- {
- aPtr.Append( suplUsagePtr );
- }
- DEBUG( - CLocSUPLSettingsLBModel::AppendSuplUsage );
- }
-
-// ---------------------------------------------------------------------------
-// TPtrC16 CLocSUPLSettingsLBModel::AppendSuplServerDetail()
-// Packs the server address to the end of the buffer passed.
-//
-// @param aPtr Buffer to which the server address needs to be appended.
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsLBModel::AppendSuplServerDetail( TDes& aPtr ) const
- {
- DEBUG( + CLocSUPLSettingsLBModel::AppendSuplServerDetail );
- // Append the Title text
- aPtr.Append( iServerDetailTitle->Des() );
-
- // Append the second tab
- aPtr.Append( EKeyTab );
-
- // Append the third tab
- aPtr.Append( EKeyTab );
-
- // Append the forth tab
- aPtr.Append( EKeyTab );
- DEBUG( - CLocSUPLSettingsLBModel::AppendSuplServerDetail );
- }
-
-// ---------------------------------------------------------------------------
-// TPtrC16 CLocSUPLSettingsLBModel::AppendSuplActiveSessionsDetailL()
-// Packs the server address to the end of the buffer passed.
-//
-// @param aPtr Buffer to which the server address needs to be appended.
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsLBModel::AppendSuplActiveSessionsDetailL( TDes& aPtr ) const
- {
- DEBUG( + CLocSUPLSettingsLBModel::AppendSuplActiveSessionsDetailL );
-
- HBufC16* suplActiveSessionsTitle;
-
- TRAPD( error, iEngine.GetActiveSessionsCountL( iSessionCount ) );
-
- if( !error )
- {
- switch( iSessionCount )
- {
- case 0:
- suplActiveSessionsTitle = StringLoader::LoadL( R_LOC_SUPL_NO_SERVICE );
- break;
- case 1:
- suplActiveSessionsTitle = StringLoader::LoadL( R_LOC_SUPL_SINGLE_SERVICE );
- break;
- default:
- suplActiveSessionsTitle = StringLoader::LoadL( R_LOC_SUPL_MULTIPLE_SERVICES, iSessionCount );
- break;
- }
-
- if( suplActiveSessionsTitle )
- {
- // Append the Title text
- aPtr.Append( suplActiveSessionsTitle->Des() );
- delete suplActiveSessionsTitle;
- suplActiveSessionsTitle = NULL;
- }
- }
-
- // Append the second tab
- aPtr.Append( EKeyTab );
-
- // Append the third tab
- aPtr.Append( EKeyTab );
-
- // Append the forth tab
- aPtr.Append( EKeyTab );
-
- DEBUG( - CLocSUPLSettingsLBModel::AppendSuplActiveSessionsDetailL );
-}
-
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLSettingsLBModel::ActiveSessionCount()
-// Returns the number of Active sessions.
-//
-// @return TInt Returns the number of Active sessions count.
-// ---------------------------------------------------------------------------
-//
-TInt CLocSUPLSettingsLBModel::ActiveSessionCount( ) const
- {
- return iSessionCount;
- }
-
-
-// End of file