callcontinuity/settingsreader/src/vccsettingsreader.cpp
branchRCL_3
changeset 21 f742655b05bf
parent 20 65a3ef1d5bd0
child 22 d38647835c2e
--- a/callcontinuity/settingsreader/src/vccsettingsreader.cpp	Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +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:   Implements VCC setting reader
-*
-*/
-
-
-
-#include <spsettings.h>
-#include <spproperty.h>
-#include <spdefinitions.h>
-#include <spentry.h>
-
-#include "vccsettingsreader.h"
-#include "vccdefinitions.h"
-
-#include "rubydebug.h"
-
-// CS Service Entry name in SP settings table
-_LIT( KCSEntryName, "CS" );
-
-
-// ---------------------------------------------------------------------------
-// Returns the domain transfer number from sp settings
-// ---------------------------------------------------------------------------
-//
-HBufC* VccSettingsReader::DomainTransferNumberL()
-    {
-    RUBY_DEBUG_BLOCK( "VccSettingsReader::GetDomainTransferNumberL" );
-
-    return VccSettingsReader::PropertyValueByNameL( ESubPropertyVccVDN );
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the domain transfer URI from sp settings
-// ---------------------------------------------------------------------------
-//
-HBufC* VccSettingsReader::DomainTransferUriL()
-    {
-    RUBY_DEBUG_BLOCK( "VccSettingsReader::GetDomainTransferUriL" );
-
-    return VccSettingsReader::PropertyValueByNameL( ESubPropertyVccVDI );
-    }
-
-// ---------------------------------------------------------------------------
-// Returns a VCC property value from SP-settings table by
-// given property name
-// ---------------------------------------------------------------------------
-//
-HBufC* VccSettingsReader::PropertyValueByNameL(
-        TServicePropertyName aPropertyName )
-    {
-    RUBY_DEBUG_BLOCK( "VccSettingsReader::GetValueL" );
-
-    // Create settings object and then the property one
-    CSPSettings* settings = CSPSettings::NewLC();
-
-    CSPProperty* property = CSPProperty::NewLC();
-
-    // First we must find what is our vcc service id in sp-settings table
-    // This is done by searching the vcc entry name.
-    TInt vccServiceId( KErrNone );
-
-     vccServiceId = VccSettingsReader::VccServiceIdL(); 
-    
-    // If the VCC service id was not found, leave.
-    User::LeaveIfError( vccServiceId );
-
-    settings->FindPropertyL( vccServiceId, aPropertyName, *property );
-
-    HBufC* value = HBufC::NewLC( KMaxFileName );
-    TPtr valuePtr = value->Des();
-
-    TInt error = property->GetValue( valuePtr );
-
-    User::LeaveIfError( error );
-
-    // Cleanup and return
-    CleanupStack::Pop( value );
-    CleanupStack::PopAndDestroy( property );
-    CleanupStack::PopAndDestroy( settings );
-
-    RUBY_DEBUG2( "..Value of %d = %S", aPropertyName, value );
-
-    return value;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns service id of the CS service
-// ---------------------------------------------------------------------------
-//
-TInt VccSettingsReader::CSServiceIdL()
-    {
-    RUBY_DEBUG_BLOCK( "VccSettingsReader::CSServiceIdL" );
-
-    // Get the service id by entry name
-    return VccSettingsReader::ServiceIdByNameL( KCSEntryName );
-    }
-
-// ---------------------------------------------------------------------------
-// Returns service id of the VoIP service
-// ---------------------------------------------------------------------------
-//
-TInt VccSettingsReader::VoIPServiceIdL()
-    {
-    RUBY_DEBUG_BLOCK( "VccSettingsReader::VoIPServiceIdL" );
-
-    // Get the VoIP service id.
-    return VccSettingsReader::DoVoIPServiceIdL(
-                    ESubPropertyVccDtVoipServiceId );
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the id of VCC enabled VoIP service.
-// ---------------------------------------------------------------------------
-//
-TInt VccSettingsReader::DoVoIPServiceIdL(
-                TServicePropertyName aPropertyName )
-    {
-    RUBY_DEBUG_BLOCK( "VccSettingsReader::DoVoIPServiceIdL" );
-
-    // Create settings object and then the property one
-    CSPSettings* settings = CSPSettings::NewLC();
-
-    CSPProperty* property = CSPProperty::NewLC();
-
-    // First we must find what is our vcc service id in sp-settings table
-    // This is done by searching the vcc entry name.
-
-    TInt vccServiceId( KErrNone );
-
-    vccServiceId = VccSettingsReader::VccServiceIdL();
-    
-    // If the VCC service id was not found, leave.
-    User::LeaveIfError( vccServiceId );
-
-    // Now get the VCC enabled VoIP service id. The id is
-    // saved into VCC settings.
-    // First, get the property and then use the property to get its value.
-    settings->FindPropertyL( vccServiceId, aPropertyName, *property );
-
-    TInt voipId;
-    TInt error = property->GetValue( voipId );
-
-    User::LeaveIfError( error );
-
-    // Cleanup and return
-    CleanupStack::PopAndDestroy( property );
-    CleanupStack::PopAndDestroy( settings );
-
-    RUBY_DEBUG2( "..Value of %d = %d", aPropertyName, voipId );
-
-    return voipId;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the service id by given service entry name
-// ---------------------------------------------------------------------------
-//
-TInt VccSettingsReader::ServiceIdByNameL( const TDesC& aEntryName )
-    {
-    RUBY_DEBUG_BLOCK( "VccSettingsReader::ServiceIdL" );
-    RUBY_DEBUG1( "..Entry name to search = %S", &aEntryName );
-
-    //  Array of service provider IDs
-    // is defined as: typedef RArray<TServiceId> RIdArray
-    // in spdefinitions.h
-    RIdArray serviceIdArray;
-
-    // KErrNotFound is the default return value if the entry
-    // is not found.
-    TInt serviceId( KErrNotFound );
-
-    CleanupClosePushL( serviceIdArray );
-
-    CSPSettings* settings = CSPSettings::NewLC();
-
-    TInt error( KErrNone );
-
-    // This should leave if error occurs
-    error = settings->FindServiceIdsL( serviceIdArray );
-
-    User::LeaveIfError( error );
-
-    TBool foundEntry( EFalse );
-
-    for ( TInt i( 0 ); i < serviceIdArray.Count() && !foundEntry; i++ )
-        {
-        CSPEntry* entry = CSPEntry::NewLC();
-        error = settings->FindEntryL( serviceIdArray[i], *entry );
-
-        User::LeaveIfError( error );
-
-        if ( entry->GetServiceName() == aEntryName )
-            {
-            serviceId = entry->GetServiceId();
-            foundEntry = ETrue;
-            }
-
-        CleanupStack::PopAndDestroy( entry );
-        }
-    CleanupStack::PopAndDestroy( settings );
-    CleanupStack::PopAndDestroy( &serviceIdArray );
-
-    RUBY_DEBUG1( "..Service id = %d", serviceId );
-
-    return serviceId;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns service id of the VCC service
-// ---------------------------------------------------------------------------
-//
-TInt VccSettingsReader::VccServiceIdL()
-    {
-    RUBY_DEBUG_BLOCK( "VccSettingsReader::VccServiceIdL" );
-
-    TInt vccServiceId( KErrNone );
-    TInt error( KErrNone );
-    
-    //  Array of service provider IDs
-    // is defined as: typedef RArray<TServiceId> RIdArray
-    // in spdefinitions.h
-    RIdArray serviceIdArray;
-    
-    CleanupClosePushL( serviceIdArray );
-    
-    CSPSettings* settings = CSPSettings::NewLC();
-    
-    // This should leave if error occurs
-    error = settings->FindServiceIdsL( serviceIdArray );
-    
-    User::LeaveIfError( error );
-    
-    TBool foundEntry( EFalse );
-    
-    for ( TInt i( 0 ); i < serviceIdArray.Count() && !foundEntry; i++ )
-          {
-          CSPProperty* property = CSPProperty::NewLC(); 
-          error = settings->FindPropertyL( serviceIdArray[i], ESubPropertyVccVDI, *property ); 
-       
-          if( error == KErrNone )
-              {
-              vccServiceId =  serviceIdArray[i];
-              foundEntry = ETrue;
-              }
-             CleanupStack::PopAndDestroy( property );
-          }
-    CleanupStack::PopAndDestroy( settings );
-    CleanupStack::PopAndDestroy( &serviceIdArray );
-    RUBY_DEBUG1( "VccService id = %d", vccServiceId );
-    
-    return vccServiceId;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns service id VCC should use for specified call provider plugin 
-// ---------------------------------------------------------------------------
-//
-TInt VccSettingsReader::ServiceIdL( TInt aCallProviderPluginUid )
-    {
-    RUBY_DEBUG_BLOCK( "VccSettingsReader::ServiceIdL" );
-    TInt id( KErrNone );
-    
-    switch ( aCallProviderPluginUid )
-    	{
-    	case KVccCallProviderPlugId:
-    		{
-    		id = VccSettingsReader::VccServiceIdL();
-    		}break;
-        case KCSCallProviderPlugId:
-            {
-            id = VccSettingsReader::CSServiceIdL();
-            }break;
-        default:
-            {
-            id = VccSettingsReader::VoIPServiceIdL();
-            }break;
-       	}
-    
-    return id;
-    }
-
-