fmradio/fmradioengine/inc/fmradiordsreceiverbase.h
branchRCL_3
changeset 19 cce62ebc198e
parent 18 1a6714c53019
child 20 93c594350b9a
--- a/fmradio/fmradioengine/inc/fmradiordsreceiverbase.h	Thu Aug 19 09:55:21 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-/*
-* Copyright (c) 2006-2006 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:  The RDS receiver base class for FM Radio
-*
-*/
-
-
-#ifndef CFMRADIORDSRECEIVERBASE_H
-#define CFMRADIORDSRECEIVERBASE_H
-
-#include <RadioRdsUtility.h>
-
-#include "fmradiordsobserver.h"
-
-class TRadioSettings;
-class CRadioUtility;
-class CFMRadioPubSub;
-
-NONSHARABLE_CLASS( CFMRadioRdsReceiverBase ) : public CBase, public MRadioRdsObserver
-    {
-public:
-
-    enum TFMRadioProgrammeSeviceType
-        {
-        EFMRadioPSNameStaticAssumed = 0,// Default, determination is ongoing
-        EFMRadioPSNameStatic,           // PS name is static
-        EFMRadioPSNameDynamic           // PS name is dynamic
-        };
-    
-    /**
-     * The destructor
-     */
-    virtual ~CFMRadioRdsReceiverBase();
-
-    /**
-     * Initializes the RDS receiver
-     *
-     * @param aRadioUtility A reference to the radio utility
-     * @param aPubSub       Pointer to Publish&Subscribe object
-     */
-    virtual void InitL( CRadioUtility& aRadioUtility, CFMRadioPubSub* aPubSub ) = 0;
-
-    /**
-     * Adds an observer wich will be notified of the new RDS data
-     * If observer already exists, it is not added
-     *
-     * @param aObserver pointer of the observer instance.
-     */
-    IMPORT_C void AddObserver(MFMRadioRdsObserver* aObserver);
-
-    /**
-     * Removes the rds observer.
-     */
-    IMPORT_C void RemoveObserver(MFMRadioRdsObserver* aObserver);
-
-    /**
-     * Getter for automatic switching state of alternate frequencies
-     *
-     * @return ETrue if automatic switching is enabled
-     */
-    IMPORT_C TBool AutomaticSwitchingEnabled() const;
-
-    /**
-     * Getter for the programme service name
-     *
-     * @return Programme service name
-     */
-    IMPORT_C const TDesC& ProgrammeService() const;
-
-    /**
-     * Returns the nature of the PS name
-     *
-     * @return The type of PS name
-     */
-    IMPORT_C TFMRadioProgrammeSeviceType ProgrammeServiceNameType() const;
-    
-    /**
-     * Getter for the RDS signal availability
-     *
-     * @return ETrue if RDS signal is available, otherwise EFalse
-     */
-    IMPORT_C TBool SignalAvailable() const;
-
-    /**
-     * Getter for the RDS Text+ station URL
-     * @return The cached web URL of the station
-     */
-    IMPORT_C const TDesC& RtPlusProgramUrl() const;
-    
-    /**
-     * Getter for the RDS Text+ artist name
-     * @return The cached artist name
-     */
-    IMPORT_C const TDesC& RtPlusArtist() const;
-    
-    /**
-     * Getter for the RDS Text+ album name
-     * @return The cached album name
-     */
-    IMPORT_C const TDesC& RtPlusAlbum() const;
-    
-    /**
-     * Getter for the RDS Text+ song name
-     * @return The cached song name
-     */
-    IMPORT_C const TDesC& RtPlusSong() const;
-    
-    /**
-     * Setter for automatic switching of alternate frequencies
-     * If this method is overridden, the base implementation should be called
-     *
-     * @param aEnable ETrue, if automatic swithing is to be enabled
-     */
-    virtual void SetAutomaticSwitchingL( TBool aEnable );
-    
-    /**
-     * Clears the RDS information
-     */
-    void ClearRdsInformation();
-    
-    /**
-     * Starts receiving the RDS information
-     */
-    virtual void StartReceiver() = 0;
-    
-    /**
-     * Stops receiving the RDS information
-     */
-    virtual void StopReceiver() = 0;
-    
-protected:
-
-    /**
-     * The default constructor
-     *
-     * @param aSettings The radio settings
-     */
-    CFMRadioRdsReceiverBase( TRadioSettings& aSettings );
-
-    /**
-     * Second phase constructor
-     */
-    void BaseConstructL();
-
-    /**
-     * Static callback for the RDS PS name timer
-     *
-     * @param   aSelf   Pointer to self.
-     * @return  KErrNone
-     */
-    static TInt StaticPsNameTimerCallback( TAny* aSelf );
-    
-    /**
-     * Handles the received RT+ data and passes it to observers
-     * @param aRtPlusClass The RT+ class
-     * @param aRtPlusData The received data
-     */
-    void HandleRdsDataRTplusL( TRdsRTplusClass aRtPlusClass, TRdsRadioText& aRtPlusData );
-    
-// from base class MRadioRdsObserver
-    void MrroStationSeekByPTYComplete( TInt aError, TInt aFrequency );
-    void MrroStationSeekByTAComplete( TInt aError, TInt aFrequency );
-    void MrroStationSeekByTPComplete( TInt aError, TInt aFrequency );
-    void MrroGetFreqByPTYComplete( TInt aError, RArray<TInt>& aFreqList );
-    void MrroGetFreqByTAComplete( TInt aError, RArray<TInt>& aFreqList );
-    void MrroGetPSByPTYComplete( TInt aError, RArray<TRdsPSName>& aPsList );
-    void MrroGetPSByTAComplete( TInt aError, RArray<TRdsPSName>& aPsList );
-    void MrroRdsDataPI( TInt aPi );
-    void MrroRdsDataPTY( TRdsProgrammeType aPty );
-    void MrroRdsDataPS( TRdsPSName& aPs );
-    void MrroRdsDataRT( TRdsRadioText& aRt );
-    void MrroRdsDataCT( TDateTime& aCt );
-    void MrroRdsDataTA( TBool aTaOn );
-    void MrroRdsDataRTplus( TRdsRTplusClass aRtPlusClass, TRdsRadioText& aRtPlusData );
-    void MrroRdsSearchBeginAF();
-    void MrroRdsSearchEndAF( TInt aError, TInt aFrequency );
-    void MrroRdsStationChangeTA( TInt aFrequency );
-    void MrroRdsEventAutomaticSwitchingChange( TBool aAuto );
-    void MrroRdsEventAutomaticTrafficAnnouncement( TBool aAuto );
-    void MrroRdsEventSignalChange( TBool aSignal );
-    
-protected: // data
-    /** The radio settings */
-	TRadioSettings& iSettings;
-
-    /** Publish&Subscribe object. Can be NULL. Not owned. */
-    CFMRadioPubSub* iPubSub;
-    
-private: // data
-    
-    /** Array of RDS observers. */
-    RPointerArray<MFMRadioRdsObserver> iObservers;
-    
-    /** The programme service name cache */
-    HBufC* iPsName;
-    
-    /** The radio text data cache */
-    HBufC* iRadioText;
-    
-    /** The cached web URL of the station */
-    RBuf iProgramWebUrl;
-    
-    /** The cached artist name */
-    RBuf iArtistName;
-    
-    /** The cached song name */
-    RBuf iSongName;
-    
-    /** The cached album name */
-    RBuf iAlbumName;
-    
-    /** ETrue if the RDS signal is available */
-    TBool iSignalAvailable;
-
-    /** ETrue if AF is enabled */
-    TBool iAfEnabled;
-    
-    /** Timer to track the PS name changes */
-    CPeriodic* iPsNameTimer;
-
-    /** The type of the PS name */
-    TFMRadioProgrammeSeviceType iPsNameType;
-    };
-
-#endif // CFMRADIORDSRECEIVERBASE_H