phoneengine/phonemodel/src/cpeprofilesettingmonitor.cpp
changeset 36 2eacb6118286
parent 30 ebdbd102c78a
child 37 ba76fc04e6c2
--- a/phoneengine/phonemodel/src/cpeprofilesettingmonitor.cpp	Fri May 14 15:51:57 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-/*
-* Copyright (c) 2007 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:  This module contains the implementation of CPEProfileSettingMonitor
-*                class 
-*
-*/
-
-
-// INCLUDE FILES
-#include "cpeprofilesettingmonitor.h"
-#include "mpephonemodelinternal.h"
-#include <mpedatastore.h>
-#include <MProfileExtraTones.h>
-#include <talogger.h>
-
-
-/////////////////////////////////////////////////////////////////////////
-// CPEProfileSettingMonitor
-/////////////////////////////////////////////////////////////////////////
-
-CPEProfileSettingMonitor* CPEProfileSettingMonitor::NewL(
-        MPEPhoneModelInternal& aModel )
-    {
-    TEFLOGSTRING( KTAOBJECT, "PE CPEProfileSettingMonitor::NewL" );
-    CPEProfileSettingMonitor* self = new ( ELeave ) CPEProfileSettingMonitor( aModel );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return ( self );                                                         
-    }
-
-// Destructor
-CPEProfileSettingMonitor::~CPEProfileSettingMonitor( )
-    {
-    TEFLOGSTRING( KTAOBJECT, "PE CPEProfileSettingMonitor::~CPEProfileSettingMonitor" );
-    if ( iProfileEventHandler )
-        {
-        delete iProfileEventHandler;
-        iProfileEventHandler = NULL;
-        }
-    if ( iProfileEngine )
-        {
-        iProfileEngine->Release();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPEProfileSettingMonitor::CPEProfileSettingMonitor
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPEProfileSettingMonitor::CPEProfileSettingMonitor(
-        MPEPhoneModelInternal& aModel
-        ) : iModel( aModel )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPEProfileSettingMonitor::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPEProfileSettingMonitor::ConstructL()
-    {
-    // Create the profile engine
-    iProfileEngine = CreateProfileEngineL();
-    
-    // Retrieve current profile settings    
-    GetProfileSettingsL();
-    
-    iModel.SendMessage( MEngineMonitor::EPEMessageProfileChanged ); 
-    
-    // Start listening for profiles change notifications
-    iProfileEventHandler = CProfileChangeNotifyHandler::NewL( this );    
-    }
-
-// -----------------------------------------------------------------------------
-// CPEProfileSettingMonitor::GetProfileSettingsL
-// Retrieves settings from profiles that are relevant to Phone Engine
-// Called on construction and whenever notification is received that
-// a change has occurred to the profile settings
-// -----------------------------------------------------------------------------
-//
-void CPEProfileSettingMonitor::GetProfileSettingsL()
-    {
-    TEFLOGSTRING( KTAINT, "PE CPEProfileSettingMonitor::GetProfileSettings" );
-    __UHEAP_MARK;
-    //  Get a pointer to the active profile (with ownership)
-    MProfile* activeProfile = iProfileEngine->ActiveProfileLC();
-    
-    // Get profile id
-    iModel.DataStore()->SetProfileId( activeProfile->ProfileName().Id() );
-    // Get profile name
-    iModel.DataStore()->SetProfileName( activeProfile->ProfileName().Name() );
-    
-    const MProfileTones& activeTones = activeProfile->ProfileTones();
-    
-    // Get ringtones for line 1 and 2
-    iModel.DataStore()->SetRingingTone1( activeTones.RingingTone1() );
-    iModel.DataStore()->SetRingingTone2( activeTones.RingingTone2() );
-    
-    // Get video call ringing tone, if it is supported
-    if ( iProfileEngine->IsFeatureSupported( EProfileFeatureVTRingingTone ) )
-        {
-        const MProfileExtraTones& extraTones = activeProfile->ProfileExtraTones();
-        iModel.DataStore()->SetVideoCallRingingTone( 
-            extraTones.VideoCallRingingTone() );
-        }
-    const TProfileToneSettings& toneSettings = activeTones.ToneSettings();  
-    
-    // Get ringing type and volume and keypad volume
-    TProfileRingingType ringingType = toneSettings.iRingingType;    
-    iModel.DataStore()->SetRingingType( static_cast<TProfileRingingType>( ringingType ) );
-    iModel.DataStore()->SetRingingVolume( toneSettings.iRingingVolume );
-    iModel.DataStore()->SetTextToSpeech( toneSettings.iTextToSpeech );
-                  
-    TProfileKeypadVolume keypadVolume = toneSettings.iKeypadVolume;
-        
-    if ( keypadVolume < EProfileKeypadVolumeOff 
-        || keypadVolume > EProfileKeypadVolumeLevel3 )
-        {
-        // Value is out of range - use default
-        keypadVolume = EProfileKeypadVolumeLevel2; // default value
-        }
-    
-    const TInt KKeypadVolume[4] = {0, 2, 5, 10}; // Previous PE settings
-    TInt volume = KKeypadVolume[ keypadVolume ];
-    iModel.DataStore()->SetKeypadVolume( volume );
-
-    //  Get alert for group Ids
-    iModel.DataStore()->SetAlertForGroup( activeProfile->AlertForL() );
-
-    // Pop( activeProfile ) does not recognize ActiveProfileLC created 
-    // item because of casting. However, functionality and cleanup works OK.
-    CleanupStack::Pop(); // activeProfile
-    activeProfile->Release();
-    __UHEAP_MARKEND;
-    }
-
-// -----------------------------------------------------------------------------
-// CPEProfileSettingMonitor::HandleActiveProfileEventL
-// Callback function - implements virtual function from MProfileChangeObserver
-// This is called whenever profiles settings change
-// We're not interested in aProfileId which identifies the number of the active profile changed
-// This notifier doesn't identify the property changed - so update them all by 
-// calling the GetProfileSettingsL() method
-// -----------------------------------------------------------------------------
-//
-void CPEProfileSettingMonitor::HandleActiveProfileEventL(
-        TProfileEvent aProfileEvent,
-        TInt /*aProfileId*/ )
-    {
-    TEFLOGSTRING2( KTAINT, "PE CPEProfileSettingMonitor::HandleActiveProfileEventL %d", aProfileEvent );
-    
-    ASSERT( aProfileEvent != EProfileUnknownEvent );
-    
-    // Update the iEngineInfo with the required profile settings    
-    GetProfileSettingsL();
-    
-    if ( aProfileEvent != EProfileUnknownEvent )
-        {
-        // A new profile has been set
-        iModel.SendMessage( MEngineMonitor::EPEMessageProfileChanged );        
-        }        
-    }
-
-// End of file