radioengine/settings/api/mradiosettingssetter.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Mar 2010 09:29:04 +0200
changeset 13 46974bebc798
child 14 63aabac4416d
permissions -rw-r--r--
Revision: 201007 Kit: 201011

/*
* Copyright (c) 2009 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:
*
*/

#ifndef M_RADIOSETTINGSSETTERS_H
#define M_RADIOSETTINGSSETTERS_H

#include "mradioenginesettings.h"

class MRadioSettingsObserver;

/**
 * Setter interface for radio settings. This should be accessible only for CRadioEngineImp
 */
NONSHARABLE_CLASS( MRadioSettingsSetter ) : public MRadioEngineSettings
    {
public:

    /**
     * Sets observer for the radio settings
     *
     * @param aObserver The observer
     */
    virtual void SetObserver( MRadioSettingsObserver* aObserver ) = 0;

    /**
     * Stores the radio volume level that is used when audio is routed through the headset.
     *
     * @param    aVolume     The radio volume level to store.
     *
     */
    virtual TInt SetHeadsetVolume( TInt aVolume ) = 0;

    /**
     * Stores the radio volume level that is used when audio is routed through the speaker.
     *
     * @param   aVolume     The radio volume level.
     */
    virtual TInt SetSpeakerVolume( TInt aVolume ) = 0;

    /**
     * Wrapper for storing the radio volume level of current output device
     *
     * @param   aVolume     The radio volume level.
     */
    virtual TInt SetVolume( TInt aVolume ) = 0;

    /**
     * Stores the radio output mode to use.
     *
     * @param   aOutputMode     The radio output mode to use.
     */
    virtual TInt SetOutputMode( TInt aOutputMode ) = 0;

    /**
     * Stores the radio audio route ( headset/ihf ) to use.
     *
     * @param   aAudioRoute   The radio output destination to use.
     */
    virtual TInt SetAudioRoute( TInt aAudioRoute ) = 0;

    /**
     * Stores the radio muting state when audio is routed through the headset.
     *
     * @param   aMuted      <code>ETrue</code> if radio is to be muted when routed through the headset, <code>EFalse</code> otherwise.
     */
    virtual TInt SetHeadsetVolMuted( TBool aMuted ) = 0;

    /**
     * Stores the radio muting state when audio is routed through the speaker.
     *
     * @param   aMuted      <code>ETrue</code> if radio is to be muted when routed through the speaker, <code>EFalse</code> otherwise.
     */
    virtual TInt SetSpeakerVolMuted( TBool aMuted ) = 0;

    /**
     * Wrapper for storing the radio muting state of current output device
     *
     * @param   aMuted      <code>ETrue</code> if radio is to be muted, <code>EFalse</code> otherwise.
     */
    virtual TInt SetVolMuted( TBool aMuted ) = 0;

    /**
     * Stores the power state of the radio.
     *
     * @param   aPowerState     <code>ETrue</code> if radio is powered on, <code>EFalse</code> otherwise.
     */
    virtual TInt SetPowerOn( TBool aPowerState ) = 0;

    /**
     * Stores the frequency tuned.
     *
     * @param   aFrequency  The frequency to store.
     */
    virtual TInt SetTunedFrequency( TUint32 aFrequency ) = 0;

    /**
     * Stores the region ID currently in use.
     *
     * @param   aRegion     The region's ID to store.
     */
    virtual TInt SetRegionId( TInt aRegion ) = 0;

    /**
     * Stores the RDS alternate frequency search setting
     *
     * @param aEnabled ETrue if search is enabled, otherwise EFalse
     */
    virtual TInt SetRdsAfSearch( TBool aEnabled ) = 0;

    /**
     *
     */
    virtual TInt SetNetworkId( const TDesC& aNetworkId ) = 0;

    /**
     *
     */
    virtual TInt SetSubscriberId( const TDesC& aSubscriberId ) = 0;

    /**
     *
     */
    virtual TInt SetCountryCode( const TDesC& aCountryCode ) = 0;

    };

#endif // M_RADIOSETTINGSSETTERS_H