profilesservices/ProfileEngine/EngSrc/CProfileExtraSettingsImpl.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:52:52 +0200
changeset 0 8c5d936e5675
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* 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:  Profile extra tones implementation.
*
*/



//  INCLUDES
#include "CProfileExtraSettingsImpl.h"
#include "ProfileEnginePrivateCRKeys.h"
#include "ProfileEngUtils.h"
#include "CProfilePttSettingsImpl.h"
#include "CProfileFeedbackSettingsImpl.h"
#include "CProfile3DToneSettingsImpl.h"

// FORWARD DECLARATIONS
class CRepository;

// CLASS DECLARATION

CProfileExtraSettingsImpl* CProfileExtraSettingsImpl::NewL()
    {
    CProfileExtraSettingsImpl* self = new( ELeave ) CProfileExtraSettingsImpl;

    CleanupStack::PushL( self );
    self->ConstructL();
    CleanupStack::Pop();

    return self;
    }

CProfileExtraSettingsImpl::~CProfileExtraSettingsImpl()
    {
    delete iPttSettings;
    delete iFeedbackSettings;    
    delete i3DToneSettings;
    }

void CProfileExtraSettingsImpl::InternalizeL( CRepository& aCenRep,
                                              TInt aProfileId )
    {
    iPttSettings->InternalizeL( aCenRep, aProfileId );
    iFeedbackSettings->InternalizeL( aCenRep, aProfileId );    
    i3DToneSettings->InternalizeL( aCenRep, aProfileId );
    }

void CProfileExtraSettingsImpl::ExternalizeL( CRepository& aCenRep,
                                              TInt aProfileId ) const
    {
    iPttSettings->ExternalizeL( aCenRep, aProfileId );
    iFeedbackSettings->ExternalizeL( aCenRep, aProfileId );    
    i3DToneSettings->ExternalizeL( aCenRep, aProfileId );
    }

const MProfilePttSettings& CProfileExtraSettingsImpl::ProfilePttSettings() const
    {
    return *iPttSettings;
    }

MProfileSetPttSettings& CProfileExtraSettingsImpl::ProfileSetPttSettings() const
    {
    return *iPttSettings;
    }

const MProfileFeedbackSettings&
CProfileExtraSettingsImpl::ProfileFeedbackSettings() const
    {
    return *iFeedbackSettings;
    }

MProfileSetFeedbackSettings&
CProfileExtraSettingsImpl::ProfileSetFeedbackSettings() const
    {
    return *iFeedbackSettings;
    }

const MProfile3DToneSettings&
CProfileExtraSettingsImpl::Profile3DToneSettings() const
    {
    return *i3DToneSettings;
    }

MProfileSet3DToneSettings&
CProfileExtraSettingsImpl::ProfileSet3DToneSettings() const
    {
    return *i3DToneSettings;
    }

void CProfileExtraSettingsImpl::ConstructL()
    {
    iPttSettings = CProfilePttSettingsImpl::NewL();
    iFeedbackSettings = CProfileFeedbackSettingsImpl::NewL();    
    i3DToneSettings = CProfile3DToneSettingsImpl::NewL();
    }

// End of File