profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileStruct.cpp
branchRCL_3
changeset 18 b7fa36b488f8
parent 17 861562a14a53
child 19 cd54903d48da
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileStruct.cpp	Thu Aug 19 09:55:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,258 +0,0 @@
-/*
-* Copyright (c) 2002 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:  Data structure class for profile settings.
-*
-*/
-
-
-
-// CLASS HEADER
-#include "CProfileStruct.h"
-#include "ProfileInternal.hrh"
-
-// EXTERNAL INCLUDES
-#include <MProfileExtended.h>
-#include <MProfileName.h>
-#include <MProfileSetName.h>
-#include <MProfileTones.h>
-#include <MProfileSetTones.h>
-#include <MProfileExtraTones.h>
-#include <MProfileSetExtraTones.h>
-#include <MProfileExtraSettings.h>
-#include <MProfileSetExtraSettings.h>
-#include <MProfilePttSettings.h>
-#include <MProfileSetPttSettings.h>
-#include <AknUtils.h> // AknTextUtils
-#include <MProfileFeedbackSettings.h>
-#include <MProfileSetFeedbackSettings.h>
-#include <MProfile3DToneSettings.h>
-#include <MProfileSet3DToneSettings.h>
-
-#include <TProfileToneSettings.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileStruct::CProfileStruct
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileStruct::CProfileStruct(  )
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CProfileStruct::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CProfileStruct* CProfileStruct::NewL( )
-    {
-    CProfileStruct* self = new (ELeave) CProfileStruct( );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// -----------------------------------------------------------------------------
-// CProfileStruct::ConstructL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-void CProfileStruct::ConstructL()
-	{
-	iRingingTone = new( ELeave ) TFileName();
-	iRingingToneLine2 = new( ELeave ) TFileName();
-	iVideoCallTone = new( ELeave ) TFileName();
-	iMessageAlertTone = new( ELeave ) TFileName();
-	iEmailAlertTone = new( ELeave ) TFileName();
-	iPTTRingingTone = new( ELeave ) TFileName();
-	}
-	    
-// Destructor
-CProfileStruct::~CProfileStruct()
-    {
-    iContactList.Close();
-    delete iRingingTone;
-    delete iRingingToneLine2;
-	delete iVideoCallTone;
-	delete iMessageAlertTone;
-    delete iEmailAlertTone;
-	delete iPTTRingingTone;
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileStruct::LoadL
-// -----------------------------------------------------------------------------
-//
-void CProfileStruct::LoadL( MProfileExtended* aProfile )
-    {
-    TArray<TContactItemId> array( aProfile->AlertForL() );
-    iContactList.Reset();
-    TInt count( array.Count() );
-    for( TInt index( 0 ); index < count; index++ )
-        {
-        iContactList.Append( array[ index ] );
-        }
-    const MProfileName& name = aProfile->ProfileName();
-    iProfileId = name.Id();
-    iProfileName.Copy( name.Name() );
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( iProfileName );
-    iTitleName.Copy( name.TitleName() );
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( iTitleName );
-    const MProfileTones& tones = aProfile->ProfileTones();
-    iRingingTone->Copy( tones.RingingTone1() );
-    iRingingToneLine2->Copy( tones.RingingTone2() );
-    iMessageAlertTone->Copy( tones.MessageAlertTone() );
-    const TProfileToneSettings& toneSettings = tones.ToneSettings();
-    iRingingType = toneSettings.iRingingType;
-    iKeypadVolume = toneSettings.iKeypadVolume;
-    iRingingVolume = toneSettings.iRingingVolume;
-	iMediaVolume = toneSettings.iMediaVolume;
-    iVibratingAlert = toneSettings.iVibratingAlert;
- iEmailVibratingAlert = toneSettings.iEmailVibratingAlert;
-    iWarningAndGameTones = toneSettings.iWarningAndGameTones;
-	iTextToSpeech = toneSettings.iTextToSpeech;
-    const MProfileExtraTones& extra = aProfile->ProfileExtraTones();
-    iEmailAlertTone->Copy( extra.EmailAlertTone() );
-    iVideoCallTone->Copy( extra.VideoCallRingingTone() );
-    const MProfileExtraSettings& extraSettings = aProfile->ProfileExtraSettings();
-    const MProfilePttSettings& pttSettings = extraSettings.ProfilePttSettings();
-    iPTTRingingTone->Copy( pttSettings.PttRingingTone() );
-	iPTTStatus = pttSettings.PttStatus();
-
-    const MProfileFeedbackSettings& feedbackSettings = extraSettings.ProfileFeedbackSettings();
-    iTactileFeedback = feedbackSettings.TactileFeedback();
-    iAudioFeedback = feedbackSettings.AudioFeedback();
-	
-    const MProfile3DToneSettings& threeDSettings = extraSettings.Profile3DToneSettings();
-    i3DEffect = threeDSettings.Effect();
-    i3DEcho = threeDSettings.Echo();
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileStruct::StoreL
-// -----------------------------------------------------------------------------
-//
-void CProfileStruct::StoreL( MProfileExtended* aProfile )
-    {
-    aProfile->SetAlertForL( iContactList.Array() );
-    const MProfileName& name = aProfile->ProfileName();
-    TBuf<KProfileMaxProfileNameLength> profileNameHelperBuffer;
-    profileNameHelperBuffer.Copy( name.Name() );
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion(
-            profileNameHelperBuffer );
-    if( iProfileName.Compare( profileNameHelperBuffer ) )
-        {
-        // Store profile name only if it has changed in order to
-        // preserve localisation.
-        aProfile->ProfileSetName().SetNameL( iProfileName );
-        iTitleName.Copy( iProfileName );
-        }
-    MProfileSetTones& setTones = aProfile->ProfileSetTones();
-    setTones.SetRingingTone1L( *iRingingTone );
-    setTones.SetRingingTone2L( *iRingingToneLine2 );
-    setTones.SetMessageAlertToneL( *iMessageAlertTone );
-    TProfileToneSettings& toneSettings = setTones.SetToneSettings();
-    toneSettings.iRingingType = TProfileRingingType( iRingingType );
-    toneSettings.iKeypadVolume = TProfileKeypadVolume( iKeypadVolume );
-    toneSettings.iRingingVolume = iRingingVolume;
-	toneSettings.iMediaVolume = iMediaVolume;
-    toneSettings.iVibratingAlert = iVibratingAlert;
-    toneSettings.iEmailVibratingAlert = iEmailVibratingAlert;
-    toneSettings.iWarningAndGameTones = iWarningAndGameTones;
-	toneSettings.iTextToSpeech = iTextToSpeech;
-    MProfileSetExtraTones& setExtra = aProfile->ProfileSetExtraTones();
-    setExtra.SetEmailAlertToneL( *iEmailAlertTone );
-    setExtra.SetVideoCallRingingToneL( *iVideoCallTone );
-
-    MProfileSetExtraSettings& setExtraSettings = aProfile->ProfileSetExtraSettings();
-    MProfileSetPttSettings& setPttSettings = setExtraSettings.ProfileSetPttSettings();
-	setPttSettings.SetPttRingingToneL( *iPTTRingingTone );
-	TProfilePttStatus KPttStatus = TProfilePttStatus( iPTTStatus );
-	setPttSettings.SetPttStatus( KPttStatus );
-    
-    MProfileSetFeedbackSettings& setFeedbackSettings =
-        setExtraSettings.ProfileSetFeedbackSettings();
-    TProfileTactileFeedback tactileFeedback = TProfileTactileFeedback( iTactileFeedback );
-    TProfileAudioFeedback audioFeedback = TProfileAudioFeedback( iAudioFeedback );
-    setFeedbackSettings.SetTactileFeedback( tactileFeedback );
-    setFeedbackSettings.SetAudioFeedback( audioFeedback );
-    
-    MProfileSet3DToneSettings& set3dSettings =
-        setExtraSettings.ProfileSet3DToneSettings();
-    TProfile3DToneEffect threeDEffect = TProfile3DToneEffect( i3DEffect );
-    TProfile3DToneEcho threeDEcho = TProfile3DToneEcho( i3DEcho );
-    set3dSettings.SetEffect( threeDEffect );
-    set3dSettings.SetEcho( threeDEcho );
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileStruct::CompareL
-// -----------------------------------------------------------------------------
-//
-TBool CProfileStruct::CompareL( MProfileExtended* aProfile ) const
-	{
-    const MProfileTones& tones = aProfile->ProfileTones();
-    const MProfileName& name = aProfile->ProfileName();
-    const TProfileToneSettings& toneSettings = tones.ToneSettings();
-    const MProfileExtraTones& extra = aProfile->ProfileExtraTones();
-	const MProfileExtraSettings& extraSettings = aProfile->ProfileExtraSettings();
-    const MProfilePttSettings& pttSettings = extraSettings.ProfilePttSettings();
-    const MProfileFeedbackSettings& feedbackSettings = extraSettings.ProfileFeedbackSettings();    
-    const MProfile3DToneSettings& threeDSettings = extraSettings.Profile3DToneSettings();
-	
-    TArray<TContactItemId> array( aProfile->AlertForL() );
-    TInt contactArrayCount( array.Count() );
-	TInt ownContactArrayCount( iContactList.Count() );
-
-    if( ( iProfileId != name.Id() ) ||
-		( iRingingTone->Compare( tones.RingingTone1() ) ) ||
-	    ( iRingingToneLine2->Compare( tones.RingingTone2() ) ) ||
-        ( iVideoCallTone->Compare( extra.VideoCallRingingTone() ) ) ||
-		( iMessageAlertTone->Compare( tones.MessageAlertTone() ) ) ||
-		( iProfileName.Compare( name.Name() ) ) ||
-		( iRingingType != toneSettings.iRingingType ) ||
-		( iKeypadVolume != toneSettings.iKeypadVolume ) ||
-		( iRingingVolume != toneSettings.iRingingVolume ) ||
-		( iMediaVolume != toneSettings.iMediaVolume ) ||
-		( iVibratingAlert != toneSettings.iVibratingAlert ) ||
-		( iEmailVibratingAlert != toneSettings.iEmailVibratingAlert ) ||
-		( iWarningAndGameTones != toneSettings.iWarningAndGameTones ) ||
-		( iTextToSpeech != toneSettings.iTextToSpeech ) ||
-        ( iEmailAlertTone->Compare( extra.EmailAlertTone() ) ) ||
-		( ownContactArrayCount != contactArrayCount ) ||
-		( iTactileFeedback != feedbackSettings.TactileFeedback() ) ||
-		( iAudioFeedback != feedbackSettings.AudioFeedback() ) ||
-    	( i3DEffect != threeDSettings.Effect() ) ||
-		( i3DEcho != threeDSettings.Echo() ) ||
-		( iPTTRingingTone->Compare( pttSettings.PttRingingTone() ) ) ||
-		( iPTTStatus != pttSettings.PttStatus() ) )
-		{
-		return EFalse;
-		}
-
-    for( TInt index( 0 ); index < contactArrayCount; index++ )
-        {
-        if( iContactList[ index ] != array[ index ] )
-			{
-			return EFalse;
-			}
-        }
-	return ETrue;
-	}
-
-// End of File