cellular/SSSettings/src/CSSSettingsAlsNotifier.cpp
changeset 46 2fa1fa551b0b
parent 42 35488577e233
child 48 78df25012fda
--- a/cellular/SSSettings/src/CSSSettingsAlsNotifier.cpp	Mon Aug 23 15:50:31 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,703 +0,0 @@
-/*
-* Copyright (c) 2002-2005 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:  Interface for ALS control
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    <rmmcustomapi.h>
-#include    <startupdomainpskeys.h>
-#include    <centralrepository.h>
-#include    <sssettingsprivatepskeys.h> // sssettings pub&sub keys. 
-#include    <sssettingsprivatecrkeys.h> // sssettings centrep keys. 
-#include    <PSVariables.h> 
-
-#include    "csssettingsalsnotifier.h" 
-#include    "csssettingsactiveobject.h" 
-#include    "sssettingslogger.h" 
-
-// ================= MEMBER FUNCTIONS =======================
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::CSSSettingsAlsNotifier
-// -----------------------------------------------------------------------------
-//
-CSSSettingsAlsNotifier::CSSSettingsAlsNotifier( 
-    RMobilePhone& aMobilePhone,
-    RMmCustomAPI& aCustomPhone,
-    MCenRepNotifyHandlerCallback& aAlsNotifyHandler )
-: CActive( EPriorityStandard ), 
-  iMobilePhone( aMobilePhone ),
-  iCustomPhone( aCustomPhone ),
-  iAlsNotifyHandler( &aAlsNotifyHandler )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::ConstructL
-// -----------------------------------------------------------------------------
-// 
-void CSSSettingsAlsNotifier::ConstructL()
-    {
-    iRepository = CRepository::NewL ( KCRUidSupplementaryServiceSettings );
-    iCenRepNotifyHandler = CCenRepNotifyHandler::NewL(
-            *this, 
-            *iRepository, 
-            CCenRepNotifyHandler::EIntKey, 
-            KSettingsAlsLine );
-    iCenRepNotifyHandler->StartListeningL();
-
-    TInt error(KErrNone);
-    error = RProperty::Define(
-        KPSUidSSConfig,
-        KSettingsPPSupportsALS,
-        RProperty::EInt );
-    if( ( error != KErrNone ) && ( error != KErrAlreadyExists ) )
-        {
-        User::Leave ( error );
-        }
-    error = RProperty::Define(
-        KPSUidSSConfig,
-        KSettingsSIMSupportsALS,
-        RProperty::EInt );
-    if( ( error != KErrNone ) && ( error != KErrAlreadyExists ) )
-        {
-        User::Leave ( error );
-        }
-
-    iPPSupportsAlNotifier = CSSSettingsActiveObject::NewL(
-        KPSUidSSConfig,
-        KSettingsPPSupportsALS,
-        *this );
-    iSimSupportsAlsNotifier = CSSSettingsActiveObject::NewL(
-        KPSUidSSConfig,
-        KSettingsSIMSupportsALS,
-        *this );
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::NewL
-// -----------------------------------------------------------------------------
-//
-CSSSettingsAlsNotifier* CSSSettingsAlsNotifier::NewL(
-    RMobilePhone& aMobilePhone,
-    RMmCustomAPI& aCustomPhone,
-    MCenRepNotifyHandlerCallback& aAlsNotifyHandler )
-    {
-    CSSSettingsAlsNotifier* self = 
-        new ( ELeave ) CSSSettingsAlsNotifier(  
-            aMobilePhone, 
-            aCustomPhone, 
-            aAlsNotifyHandler );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::~CSSSettingsAlsNotifier
-// -----------------------------------------------------------------------------
-// 
-CSSSettingsAlsNotifier::~CSSSettingsAlsNotifier()
-    {
-    delete iPPSupportsAlNotifier;
-    delete iSimSupportsAlsNotifier;
-
-    if( iCenRepNotifyHandler )
-        {
-        iCenRepNotifyHandler->StopListening();
-        }
-    delete iCenRepNotifyHandler;
-    delete iRepository;
-    
-    Cancel();
-    // Do close after active request has been cancelled.
-    iMobilePhone.Close();
-    iCustomPhone.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::RunL
-// -----------------------------------------------------------------------------
-//
-void CSSSettingsAlsNotifier::RunL()
-    {
-    __SSSLOGSTRING("[SSS]--> CSSSettingsAlsNotifier::RunL");
-    TInt error = iStatus.Int();
-    if (( error == KErrCancel ) || ( error == KErrNotSupported ))
-        {
-        return;
-        }
-
-    // Reset the request:
-    RMobilePhone::TMobilePhoneALSLine newLine = iSimActiveAls;
-    iMobilePhone.NotifyALSLineChange( iStatus, iSimActiveAls );
-    SetActive();
-    
-    if ( error == KErrNone )
-        {
-        TSSSettingsAlsValue newValue = ESSSettingsAlsNotSupported;
-        if ( newLine == RMobilePhone::EAlternateLinePrimary )
-            {
-            newValue = ESSSettingsAlsPrimary;
-            }
-        else if ( newLine == RMobilePhone::EAlternateLineAuxiliary )
-            {
-            newValue = ESSSettingsAlsAlternate;
-            }
-        else
-            {
-            newValue = ESSSettingsAlsNotSupported;
-            }
-
-        // Inform observer.
-        iAlsNotifyHandler->HandleNotifyInt(
-            KSettingsAlsLine,
-            newValue );
-        }
-    __SSSLOGSTRING("[SSS] <--CSSSettingsAlsNotifier::RunL");
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CSSSettingsAlsNotifier::DoCancel()
-    {
-    iMobilePhone.CancelAsyncRequest( EMobilePhoneNotifyALSLineChange );    
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::NotifyAlsChange
-// -----------------------------------------------------------------------------
-//
-TInt CSSSettingsAlsNotifier::NotifyAlsChange()
-    {
-    __SSSLOGSTRING("[SSS]--> CSSSettingsAlsNotifier::NotifyAlsChange");
-    TInt error = EnsureAlsStatus();
-    if ( error == KErrNone )
-        {
-        error = iPPSupportsAlNotifier->NotifyKeyChange();
-        
-        if ( error == KErrNone || error == KErrAlreadyExists )
-            {
-            error = iSimSupportsAlsNotifier->NotifyKeyChange();
-            if ( error != KErrNone && error != KErrAlreadyExists )
-                {
-                iPPSupportsAlNotifier->CancelNotify();
-                }
-            }   
-        if ( error == KErrNone || error == KErrAlreadyExists )
-            {
-            // Add notifier to Etel side if supported
-            if ( !IsActive() && iSimSupportAls )
-                {
-                iMobilePhone.NotifyALSLineChange( iStatus, iSimActiveAls );
-                SetActive();
-
-                // Everything was ok, so inform that.
-                error = KErrNone;
-                }
-            }
-        }
-    __SSSLOGSTRING("[SSS] <--CSSSettingsAlsNotifier::NotifyAlsChange");
-    return error;
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::CancelNotify
-// -----------------------------------------------------------------------------
-//
-void CSSSettingsAlsNotifier::CancelNotify()
-    {
-    iCenRepNotifyHandler->StopListening();
-    iPPSupportsAlNotifier->CancelNotify();
-    iSimSupportsAlsNotifier->CancelNotify();
-    Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::SetAlsValue
-// -----------------------------------------------------------------------------
-//
-TInt CSSSettingsAlsNotifier::SetAlsValue( TSSSettingsAlsValue aValue )
-    {
-    __SSSLOGSTRING("[SSS]--> CSSSettingsAlsNotifier::SetAlsValue");
-    TInt error = EnsureAlsStatus();
-    if ( error != KErrNone )
-        {
-        return error;
-        }
-        // If ALS not supported...
-    if ( !iPPSupportAls && !iSimSupportAls && !iAlsCSPSupport )
-        {
-        aValue = ESSSettingsAlsNotSupported;
-        __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::SetAlsValue: aValue: %d", aValue);
-        return KErrNone;
-        }
-    
-    // Check if aValue is corrupted.
-    if (( aValue < ESSSettingsAlsNotSupported ) || 
-        ( aValue > ESSSettingsAlsAlternate ))
-        {
-        return KErrArgument;
-        }
-
-    // If ALS is supported on SIM, use that.
-    if ( iSimSupportAls )
-        {
-        __SSSLOGSTRING("[SSS]--> CSSSettingsAlsNotifier::SetAlsValue: SIM ALS supported");
-        // Write to ETel
-        RMobilePhone::TMobilePhoneALSLine simAlsLine;
-        switch ( aValue )
-            {
-            case ESSSettingsAlsPrimary:
-                simAlsLine = RMobilePhone::EAlternateLinePrimary;
-                break;
-            case ESSSettingsAlsAlternate:
-                simAlsLine = RMobilePhone::EAlternateLineAuxiliary;
-                break;
-            default:
-                return KErrNotSupported;
-            }
-        TRequestStatus status;
-        iMobilePhone.SetALSLine( status, simAlsLine );
-        User::WaitForRequest( status );
-        error = status.Int();
-        }
-    else
-        {
-        error = iRepository->Set( KSettingsAlsLine, aValue );
-        __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::SetAlsValue: aValue: %d", aValue);
-        }
-
-    __SSSLOGSTRING("[SSS] <--CSSSettingsAlsNotifier::SetAlsValue");
-    return error;
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::GetAlsValue
-// -----------------------------------------------------------------------------
-//
-TInt CSSSettingsAlsNotifier::GetAlsValue( TSSSettingsAlsValue& aValue )
-    {
-    __SSSLOGSTRING("[SSS]--> CSSSettingsAlsNotifier::GetAlsValue");
-    TInt error = EnsureAlsStatus();
-    if ( error != KErrNone )
-        {
-        return error;
-        }
-
-    // If ALS not supported...
-    if ( !iPPSupportAls && !iSimSupportAls && !iAlsCSPSupport )
-        {
-        aValue = ESSSettingsAlsNotSupported;
-        __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::GetAlsValue: aValue: %d", aValue);
-        return KErrNone;
-        }
-        
-    // Check if aValue is corrupted.
-    if (( aValue < ESSSettingsAlsNotSupported ) || 
-        ( aValue > ESSSettingsAlsAlternate ))
-        {
-        return KErrArgument;
-        }
-
-    // If ALS is supported on SIM, use that.
-    if ( iSimSupportAls )
-        {   
-        // Get from ETel;
-        RMobilePhone::TMobilePhoneALSLine simAlsLine;
-        error = iMobilePhone.GetALSLine( simAlsLine );
-        if ( error != KErrNone )
-            {
-            return error;
-            }
-        switch ( simAlsLine )
-            {
-            case RMobilePhone::EAlternateLineAuxiliary:
-                aValue = ESSSettingsAlsAlternate;
-                break;
-            case RMobilePhone::EAlternateLinePrimary:
-                aValue = ESSSettingsAlsPrimary;
-                break;
-            default:
-                __ASSERT_DEBUG( EFalse , Panic( 
-                    SSSettingsPanicConflictInAls ) );
-                aValue = ESSSettingsAlsNotSupported;
-                error = KErrCorrupt;
-                break;
-            }
-        __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::GetAlsValue: SimAls supported: aValue: %d", aValue);
-        }
-    else
-        {
-        error = iRepository->Get( KSettingsAlsLine, (TInt&)aValue );
-         
-        if ( error != KErrNone )
-            {
-            return error;
-            }
-        
-        TInt usedLine = aValue;
-
-        // If used SIM doesn't support ALS set ESSSettingsAlsPrimary line to use.
-        if ( error == KErrNone && usedLine == ESSSettingsAlsNotSupported )
-            {
-            // Set default value
-            error = SetAlsValue( ESSSettingsAlsPrimary );
-            if ( error == KErrNone )
-                {
-                aValue = ESSSettingsAlsPrimary;
-                }
-            }
-        else if (( aValue < ESSSettingsAlsNotSupported ) || 
-                 ( aValue > ESSSettingsAlsAlternate ))
-            {
-            error = KErrCorrupt;
-            }
-        __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::GetAlsValue: aValue: %d", aValue);
-        }
-    __SSSLOGSTRING("[SSS] <--CSSSettingsAlsNotifier::GetAlsValue");
-    return error;
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::GetAlsSupport
-// -----------------------------------------------------------------------------
-//
-void CSSSettingsAlsNotifier::GetAlsSupport( 
-    TBool& aPPSupport, TBool& aSimSupport, TBool& aCSPSupport, TInt& aCSPError )
-    {
-    __SSSLOGSTRING("[SSS]--> CSSSettingsAlsNotifier::GetAlsSupport");
-    TInt error = EnsureAlsStatus();
-
-    if( error != KErrNone )
-        {
-        __SSSLOGSTRING("[SSS]     If we aren't able to get ALS status we can not support it");
-        // If we aren't able to get ALS status we can not support it.
-        aPPSupport = EFalse;
-        aSimSupport = EFalse;
-        aCSPSupport = EFalse;
-        aCSPError = iAlsCSPError;
-        return;
-        }
-
-    aPPSupport = iPPSupportAls;
-    aSimSupport = iSimSupportAls;
-    aCSPSupport = iAlsCSPSupport;
-    aCSPError = iAlsCSPError;
-    __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::GetAlsSupport: iPPSupportAls: %d", iPPSupportAls);
-    __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::GetAlsSupport: iSimSupportAls: %d", iSimSupportAls);
-    __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::GetAlsSupport: iAlsCSPSupport: %d", iAlsCSPSupport);
-    __SSSLOGSTRING("[SSS] <--CSSSettingsAlsNotifier::GetAlsSupport");
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::CheckAlsSupportInProductProfile
-// -----------------------------------------------------------------------------
-//
-TInt CSSSettingsAlsNotifier::CheckAlsSupportInProductProfile( 
-    TBool& aIsAlsSopportedInPP )
-    {
-    __SSSLOGSTRING("[SSS]--> CSSSettingsAlsNotifier::CheckAlsSupportInProductProfile");
-    RMmCustomAPI::TAlsSupport ppAlsSupport;
-
-    TInt error = iCustomPhone.CheckAlsPpSupport( ppAlsSupport );
-
-    if ( ( error == KErrNone ) &&
-         ( ppAlsSupport == RMmCustomAPI::EAlsSupportOn ) )
-        {
-        aIsAlsSopportedInPP = ETrue;
-        }
-    else
-        {
-        aIsAlsSopportedInPP = EFalse;
-        }
-    __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::CheckAlsSupportInProductProfile: aIsAlsSopportedInPP: %d", aIsAlsSopportedInPP);
-    __SSSLOGSTRING("[SSS] <--CSSSettingsAlsNotifier::CheckAlsSupportInProductProfile");
-    return error;
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::CheckAlsSupportInSim
-// -----------------------------------------------------------------------------
-//
-TInt CSSSettingsAlsNotifier::CheckAlsSupportInSim(
-    TBool& aIsAlsSopportedInSim )
-    {
-    __SSSLOGSTRING("[SSS]--> CSSSettingsAlsNotifier::CheckAlsSupportInSim");
-    RMobilePhone::TMobilePhoneALSLine simAlsSupport;
-    TInt error = iMobilePhone.GetALSLine( simAlsSupport );
- 
-    if (( error != KErrNone ) ||
-        ( simAlsSupport == RMobilePhone::EAlternateLineUnknown ) || 
-        ( simAlsSupport == RMobilePhone::EAlternateLineNotAvailable ))
-        {
-        aIsAlsSopportedInSim = EFalse;
-        }
-    else
-        {
-        aIsAlsSopportedInSim = ETrue;
-        }
-    __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::CheckAlsSupportInSim: aIsAlsSopportedInSim: %d", aIsAlsSopportedInSim);
-    __SSSLOGSTRING("[SSS] <--CSSSettingsAlsNotifier::CheckAlsSupportInSim");
-    return error;
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::EnsureAlsStatus
-// -----------------------------------------------------------------------------
-//
-TInt CSSSettingsAlsNotifier::EnsureAlsStatus()
-    {
-    RMobilePhone::TCspCPHSTeleservices params = ( RMobilePhone::TCspCPHSTeleservices )0;
-    TInt error(KErrNone);
-    TInt simState(0);
-    TBool savePPSimAls(0);
-    TBool saveSimAls(0);
-
-    __SSSLOGSTRING("[SSS]--> CSSSettingsAlsNotifier::EnsureAlsStatus");    
-    if ( iAlsStatusChecked )
-       {
-       __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::EnsureAlsStatus - Already checked: %d", iAlsStatusChecked);  
-       return KErrNone;
-       }
-   
-    error = RProperty::Get( KPSUidStartup, KPSSimStatus, simState );
-    __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::EnsureAlsStatus - KPSUidSIMStatusValue: %d", simState);  
-    __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::EnsureAlsStatus - KPSUidSIMStatusValue Error: %d", error);
-
-    if ( error == KErrNone )
-        {
-        // Make sure that SIM state is OK otherwise parameters coming from SIM are mess.
-        if ( simState ==ESimUsable )
-            {
-            // Get Als support from Product Profile.
-            error = CheckAlsSupportInProductProfile( iPPSupportAls );
-            if ( error == KErrNone )
-                {
-                savePPSimAls = ETrue;
-                }            
-            if ( error != KErrNone )
-                {
-                return error;
-                }
-                
-            // Get Als support from SIM.  
-            error = CheckAlsSupportInSim( iSimSupportAls );
-            if ( error == KErrNone )
-                {
-                saveSimAls = ETrue;
-                }                
-            if ( ( error != KErrNone ) && ( error != KErrNotFound ) )
-                {
-                return error;
-                } 
-                
-            // Open connection RCustomerServiceProfileCache.
-            RCustomerServiceProfileCache alsProfileCache;
-            error = alsProfileCache.Open();
-            if ( error != KErrNone )
-                {
-                return error;
-                } 
-                
-            // Get ALS CSP bit from cache.
-            iAlsCSPError = alsProfileCache.CspCPHSTeleservices( params );
-            
-            if ( iAlsCSPError == KErrNone || iAlsCSPError == KErrNotSupported )
-                {
-                // Checks CSP ALS support.
-                iAlsCSPSupport = CheckIfAlsCSPSupported( params );
-                }
-            // If ETEL/TSY responses with error KErrNotReady/KErrServerBusy then CSP value is not correct one
-            // and iAlsStatusChecked is set to EFalse.      
-            else if ( iAlsCSPError == KErrNotReady || iAlsCSPError == KErrServerBusy ) 
-                {
-                iAlsStatusChecked = EFalse;
-                alsProfileCache.Close();
-                return iAlsCSPError;
-                } 
-            // Close connection RCustomerServiceProfileCache.
-            alsProfileCache.Close();   
-
-            // Save PP and SIM als values to P&S.
-            if ( savePPSimAls )
-               {
-               error = RProperty::Set( KPSUidSSConfig, KSettingsPPSupportsALS, iPPSupportAls );
-               if ( error != KErrNone )
-                   {
-                   return error;
-                   }
-               }
-             
-            if ( saveSimAls )
-               {
-               error = RProperty::Set( KPSUidSSConfig, KSettingsSIMSupportsALS, iSimSupportAls );
-               if ( error != KErrNone )
-                   {
-                   return error;
-                   }
-               }
-                                
-            iAlsStatusChecked = ETrue;
-            }
-        else
-            {
-            iAlsStatusChecked = EFalse;    
-            }
-        }    
-    __SSSLOGSTRING1("[SSS]--> CSSSettingsAlsNotifier::EnsureAlsStatus: iAlsStatusChecked: %d", iAlsStatusChecked);
-    __SSSLOGSTRING("[SSS] <--CSSSettingsAlsNotifier::EnsureAlsStatus");
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::CheckIfAlsCSPSupported
-// ---------------------------------------------------------------------------
-// 
-TBool CSSSettingsAlsNotifier::CheckIfAlsCSPSupported(
-    const RMobilePhone::TCspCPHSTeleservices aContainer ) const
-    {
-    TBool supported(EFalse);
-
-    if ( ( aContainer & RMobilePhone::KCspALS ) != 0 )
-        {       
-        supported = ETrue;  
-        }
-    return supported;
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::HandleNotifyInt
-// -----------------------------------------------------------------------------
-//
-void CSSSettingsAlsNotifier::HandleNotifyInt( TUint32 aId, TInt /*aNewValue*/ )
-    {
-    __SSSLOGSTRING("[SSS] -->CSSSettingsAlsNotifier::HandleNotifyInt");
-    if ( aId == KSettingsAlsLine )
-        {
-        iAlsStatusChecked = EFalse;
-        EnsureAlsStatus();
-
-        // Inform others
-        TSSSettingsAlsValue newLine = ESSSettingsAlsNotSupported;
-        if ( GetAlsValue( newLine ) == KErrNone )
-            {
-            iAlsNotifyHandler->HandleNotifyInt(
-                KSettingsAlsLine,
-                newLine );
-            }
-        }
-    __SSSLOGSTRING("[SSS] <--CSSSettingsAlsNotifier::HandleNotifyInt");
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::HandleNotifyError
-// -----------------------------------------------------------------------------
-//
-void CSSSettingsAlsNotifier::HandleNotifyError( TUint32 aId, TInt /*aError*/,
-    CCenRepNotifyHandler* /*aHandler*/ )
-    {
-    if ( aId == KSettingsAlsLine )
-        {
-        // Here you could call the below, if you are sure that it do not cause 
-        // eternal loop
-        // TRAPD( error, aHandler->StartListeningL() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::HandlePubSubNotify
-// -----------------------------------------------------------------------------
-//
-void CSSSettingsAlsNotifier::HandlePubSubNotify( const TUid aUid, const TUint32 aKeyId )
-    {
-    if ( aUid == KPSUidSSConfig )
-        {
-        if ( ( aKeyId == KSettingsPPSupportsALS ) || 
-             ( aKeyId == KSettingsSIMSupportsALS ) )
-            {
-            
-            if ( iAlsStatusChecked == EFalse )
-                {
-                EnsureAlsStatus();
-                }
-            
-            // Inform others
-            TSSSettingsAlsValue newValue = ESSSettingsAlsNotSupported;
-            if ( GetAlsValue( newValue ) == KErrNone )
-                {
-                iAlsNotifyHandler->HandleNotifyInt( 
-                    KSettingsAlsLine,
-                    newValue );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CSSSettingsAlsNotifier::HandleRefresh
-// -----------------------------------------------------------------------------
-TInt CSSSettingsAlsNotifier::HandleRefresh()
-    {
-    __SSSLOGSTRING("[SSS]--> CSSSettingsAlsNotifier::HandleRefresh");
-    TInt error = CheckAlsSupportInProductProfile( iPPSupportAls );
-    if ( error == KErrNone )
-        {
-        error = RProperty::Set( 
-            KPSUidSSConfig, 
-            KSettingsPPSupportsALS, 
-            iPPSupportAls );
-        }
-        
-    if ( error != KErrNone )
-        {
-        return error;
-        }
-    
-    error = CheckAlsSupportInSim( iSimSupportAls );
-    if ( error == KErrNone )
-        {
-        error = RProperty::Set(
-            KPSUidSSConfig,
-            KSettingsSIMSupportsALS,
-            iSimSupportAls );
-        }
-        
-    if ( error != KErrNone )
-        {
-        return error;
-        }
-
-    // Inform others
-    TSSSettingsAlsValue newLine;
-    error = GetAlsValue( newLine );
-    if ( error == KErrNone )
-        {
-        SetAlsValue( newLine );
-        }
-
-    __SSSLOGSTRING("[SSS] <--CSSSettingsAlsNotifier::HandleRefresh");
-    return error;
-    }
-
-//  End of File