--- a/callcontinuity/vcchotrigger/src/vcchopolicyreader.cpp Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:
-*
-*/
-
-
-
-#include "vcchopolicyreader.h"
-#include "vccspsettings.h"
-#include "rubydebug.h"
-
-_LIT( KVccServiceName, "VCC" );
-
-// ======== MEMBER FUNCTIONS ========
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CVccHoPolicyReader::CVccHoPolicyReader()
- : iPolicy()
- {
- }
-
-// ---------------------------------------------------------------------------
-// Symbian 2nd phase constructor
-// ---------------------------------------------------------------------------
-//
-void CVccHoPolicyReader::ConstructL()
- {
- RUBY_DEBUG_BLOCKL( "ConstructL" );
-
- iSpSettings = CVccSPSettings::NewL();
- }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CVccHoPolicyReader* CVccHoPolicyReader::NewL()
- {
- RUBY_DEBUG_BLOCKL( "NewL" );
-
- CVccHoPolicyReader* self = CVccHoPolicyReader::NewLC();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CVccHoPolicyReader* CVccHoPolicyReader::NewLC()
- {
- CVccHoPolicyReader* self = new( ELeave ) CVccHoPolicyReader();
- CleanupStack::PushL( self );
- self->ConstructL();
-
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CVccHoPolicyReader::~CVccHoPolicyReader()
- {
- RUBY_DEBUG0( "~CVccHoPolicyReader START" );
-
- delete iSpSettings;
-
- RUBY_DEBUG0( "~CVccHoPolicyReader STOP" );
- }
-
-// ---------------------------------------------------------------------------
-// Returns ho policy
-// ---------------------------------------------------------------------------
-//
-TVccHoPolicy CVccHoPolicyReader::HoPolicy() const
- {
- return iPolicy;
- }
-
-// ---------------------------------------------------------------------------
-// Reads current settings which define when Ho can occur
-// from Sp table and user modifiable repositories.
-// ---------------------------------------------------------------------------
-//
-void CVccHoPolicyReader::ReadSettingsL()
- {
- RUBY_DEBUG_BLOCK( "ReadSettingsL" );
-
- iSpSettings->ReadSettingsL( KVccServiceName );
- //read user settings
-
- ResolvePreferredDomainL();
- ResolveImmediateHoL();
- ResolveHoDirectionL();
- ResolveHoInHeldWaitingCallsL();
- ResolveSignalLevelParametersL();
- ResolveDtAllowedWhenCsOriginatedL();
- }
-
-// ---------------------------------------------------------------------------
-// Defines what is the preferred domain the user should use for MO calls.
-// 3GPP 24.216-720 defines operator preference:
-// 0 - Indicates the preference for CS domain.
-// 1 - Indicates the preference for IM CN subsystem.
-// 2 - Indicates the preference for CS domain only.
-// 3 - Indicates the preference for IM CN subsystem only.
-//
-// User preferred domain overrides operator preference.
-// User preference modes: CS/PS
-// ---------------------------------------------------------------------------
-//
-void CVccHoPolicyReader::ResolvePreferredDomainL()
- {
- RUBY_DEBUG_BLOCK( "ResolvePreferredDomainL" );
-
- TVccHoPolicyPreferredDomain val =
- static_cast<TVccHoPolicyPreferredDomain>( iSpSettings->PreferredDomainL() );
-
- iPolicy.SetPreferredDomain( val );
- }
-
-// ---------------------------------------------------------------------------
-// Defines should handover occur immediately when preferred network becomes
-// available
-// 3GPP 24.216-720 defines operator preference:
-// 0 - Indicates the preference to not initiate domain transfer immediately
-// to the preferred domain when that domain becomes available.
-// 1 - Indicates the preference to initiate domain transfer immediately to
-// the preferred domain when that domain becomes available.
-//
-// ---------------------------------------------------------------------------
-//
-void CVccHoPolicyReader::ResolveImmediateHoL()
- {
- RUBY_DEBUG_BLOCK( "ResolveImmediateHoL" );
-
- TBool val( iSpSettings->ImmediateDtL() );
-
- iPolicy.SetDoImmediateHo( val );
- }
-
-// ---------------------------------------------------------------------------
-// Resolves into which domain hanover can occur
-// 3GPP 24.216-720 defines operator preference:
-// 0 - Indicates that the network operator prefers the domain transfer in the
-// CS to IM CN/IM CN to CS subsystem direction can occur.
-// 1 - Indicates that the network operator prefers the domain transfer in the
-// CS to IM CN/IM CN to CS subsystem direction cannot occur.
-//
-// ---------------------------------------------------------------------------
-//
-void CVccHoPolicyReader::ResolveHoDirectionL()
- {
- RUBY_DEBUG_BLOCK( "ResolveHoDirectionL" );
-
- TInt val( 0 );
-
- if( iSpSettings->DtCsToPsAllowedL() == 0 )
- val |= ECsToPsAllowed;
-
- if( iSpSettings->DtPsToCsAllowedL() == 0 )
- val |= EPsToCsAllowed;
-
- iPolicy.SetAllowedDirection( val );
- }
-
-// ---------------------------------------------------------------------------
-// Resolves can handover occur when held or waiting calls exist.
-// 3GPP 24.216-720 defines operator preference:
-// 0 - Indicates that the network operator prefers the domain transfer can
-// occur when the VCC UE is engaged in an active and a held/waiting
-// call/session on the transferring-out domain.
-// 1 - Indicates that the network operator prefers the domain transfer cannot
-// occur when the VCC UE is engaged in an active and a held/waiting
-// call/session on the transferring-out domain.
-//
-// ---------------------------------------------------------------------------
-//
-void CVccHoPolicyReader::ResolveHoInHeldWaitingCallsL()
- {
- RUBY_DEBUG_BLOCK( "ResolveHoInHeldWaitingCallsL" );
-
- TBool val( !iSpSettings->DtHeldWaitingCallsAllowedL() );
- iPolicy.SetDoHoInHeldWaitingCalls( val );
- }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CVccHoPolicyReader::ResolveSignalLevelParametersL()
- {
- iCsParams.iHighLevel = iSpSettings->CsHoTresholdL();
- iCsParams.iLowLevel = iCsParams.iHighLevel + iSpSettings->CsHoHysteresisL();
- iCsParams.iLowTimeout = iSpSettings->CsHoHysteresisTimerLowL();
- iCsParams.iHighTimeout = iSpSettings->CsHoHysteresisTimerHighL();
-
- iPsParams.iHighLevel = iSpSettings->PsHoTresholdL();
- iPsParams.iLowLevel = iPsParams.iHighLevel + iSpSettings->PsHoHysteresisL();
- iPsParams.iLowTimeout = iSpSettings->PsHoHysteresisTimerLowL();
- iPsParams.iHighTimeout = iSpSettings->PsHoHysteresisTimerHighL();
- }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TSignalLevelParams CVccHoPolicyReader::CsSignalLevelParams() const
- {
- return iCsParams;
- }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TSignalLevelParams CVccHoPolicyReader::PsSignalLevelParams() const
- {
- return iPsParams;
- }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CVccHoPolicyReader::ResolveDtAllowedWhenCsOriginatedL()
- {
- TBool val( iSpSettings->DtAllowedWhenCsOriginatedL() );
- iPolicy.SetDtAllowedWhenCsOriginated( val );
- }