fmradio/activeidleengine/inc/fmradioactiveidleenginenotifyhandler.h
author William Roberts <williamr@symbian.org>
Mon, 08 Mar 2010 21:43:26 +0000
branchCompilerCompatibility
changeset 4 0b8cbcbec8f6
parent 0 f3d95d9c00ab
permissions -rw-r--r--
Create CompilerCompatibility branch

/*
* Copyright (c) 2005-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: Observer interface for active idle engine
*
*/


#ifndef __FMRADIOACTIVEIDLEENGINENOTIFYHANDLER_H__
#define __FMRADIOACTIVEIDLEENGINENOTIFYHANDLER_H__

#include <fmradiointernalpskeys.h>

/**
* Observer interface for active idle engine.
* The observer is notified about the changes in relevant keys through this interface.
*/
NONSHARABLE_CLASS(MFMRadioActiveIdleEngineNotifyHandler)
    {
    public:
    
        /**
        * Invoked when the radio volume has changed.
        * @param    aVolume     The new radio volume.
        */
        virtual void HandleRadioVolumeChangeL( TInt aVolume ) = 0;
        
        /**
        * Invoked when tuning has taken more than one second, or tuning was previously on, but now completed.
        * @param    aTuningState    The new tuning state.
        */
        virtual void HandleTuningStateChangeL( TFMRadioPSTuningState aTuningState ) = 0;
        
        /**
        * Invoked when a new channel has been tuned into.
        * @param    aIndex      The index of the channel.
        */
        virtual void HandleChannelChangeL( TInt aIndex ) = 0;
        
        /**
        * Invoked when a channel has been modifed.
        * @param    aIndex    The index of the channel that was modified.
        */
        virtual void HandleChannelModifyL( TInt aIndex ) = 0;

        /**
        * Invoked when the frequency has changed.
        * @param    aFrequency      The new frequency.
        */
        virtual void HandleFrequencyChangeL( TInt aFrequency ) = 0;
        
        /**
        * Invoked when the muting state has changed.
        * @param    aMuteState    The new mute state.
        */
        virtual void HandleMuteStateChangeL( TFMRadioPSRadioMuteState aMuteState ) = 0;

        /**
        * Invoked when the application's running state has changed.
        * @param    aRunningState   The new running state.
        */
        virtual void HandleApplicationRunningStateChangeL( TFMRadioPSApplicationRunningState aRunningState ) = 0;

        /**
        * Invoked when the used decimal count is changed.
        * @param    aDecimalCount   The new decimal count.
        */
        virtual void HandleFrequencyDecimalCountChangeL( TFMRadioPSFrequencyDecimalCount aDecimalCount ) = 0;
        
        /**
        * Invoked when the antenna's connectivity status is changed.
        * @param    aAntennaStatus      Antenna's new connectivity status.
        */
        virtual void HandleAntennaStatusChangeL( TFMRadioPSHeadsetStatus aAntennaStatus ) = 0;
        
        /**
        * Invoked when radio's power state changes.
        * @param    aPowerState      The new power state.
        */
        virtual void HandlePowerStateChangeL( TFMRadioPSRadioPowerState aPowerState ) = 0;
        
        /**
        * Invoked when RDS Program Service information changes.
        * @param    aProgramService      New Program Service info.
        */
        virtual void HandleRDSProgramServiceChangeL( const TDesC& aProgramService ) = 0;

        /**
        * Invoked when RDS Text information changes.
        * @param    aRdsText      New Program Service info.
        */        
        virtual void HandleRDSRadioTextChangeL( const TDesC& aRdsText ) = 0;

        /**
        * Invoked when Channel name changes.
        * @param    aName      New channel name.
        */  
        virtual void HandleChannelNameChangeL( const TDesC& aName ) = 0;
        
        virtual void HandlePresetListCountChangeL( TInt aPresetCount ) = 0;
        virtual void HandlePresetListFocusChangeL( TInt aPresetFocus ) = 0;
    };

#endif // __FMRADIOACTIVEIDLEENGINENOTIFYHANDLER_H__