--- 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