fmradio/fmradioengine/inc/fmradioregion.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) 2004-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:  Header file for CFMRadioRegion
*
*/


#ifndef FMRADIOREGION_H
#define FMRADIOREGION_H

//  INCLUDES
#include <e32base.h>
#include "fmradioengine.hrh"

// FORWARD DECLARATIONS
class CFMRadioRegion;
class TResourceReader;

// DATA TYPES
typedef RPointerArray<CFMRadioRegion> RFMRadioRegionArray;
typedef RPointerArray<HBufC16> RFMRadioCountryCodeArray;

// CLASS DECLARATION

/**
*  Class CFMRadioRegion provides information about FM region
*/
NONSHARABLE_CLASS( CFMRadioRegion ) : public CBase
    {
    public:  // Methods

	// Constructors and destructor
        
        /**
        * Static constructor.
        */
        static CFMRadioRegion* NewL(TResourceReader& aRr);
        
        /**
        * Destructor.
        */
         ~CFMRadioRegion();


	// New methods

        /**
        * Id Get the id of region
        * @return id of region
        */
		TFMRadioRegionSetting Id() const;

		/**
        * StepSize Get the step interval of region
        * @return Step size
        */
		TUint32 StepSize() const;

		/**
        * Get the minimum frequency of region
        * @return Minimum frequency
        */
		TUint32 MinFrequency() const;

		/**
        * Get the maximum frequency of region
        * @return Maximum frequency
        */
		TUint32 MaxFrequency() const;
		
		/**
        * Get the decimal count of region.
        * @return Decimal count.
        */
		TInt DecimalCount() const;

		/**
        * CountryCode Get the country code of region
        * @return Country code, or empty descriptor if country code doesn't exist
        */
		const RFMRadioCountryCodeArray& CountryCodes();

		/**
        * Name Get the name of region
        * @return Name of region
        */
	 	const TDesC16& Name() const;
        
        /**
        * SettingItemName Get the name of region for setting item
        * @return Name of region
        */
		const TDesC16& SettingItemName() const;

    private: //Methods

        /**
        * C++ default constructor.
        */
    	CFMRadioRegion();

        /**
        * By default Symbian 2nd phase constructor is private.
        */
        void ConstructL(TResourceReader& aRr);


    private:    // Data
		
    /** Id of the region*/
		TFMRadioRegionSetting		iId;
		
		/** Step interval*/
		TUint16				iStepSize;
		
		/** Min frequency */
		TUint32				iMinFreq;
		
		/** Max frequency */
		TUint32				iMaxFreq;
		
		/** Decimal count */
		TInt				iDecimalCount;
		
		/** Country code*/
		RFMRadioCountryCodeArray iCountryCodes;
		
		/** Region name*/
		HBufC16*			iName;
		
		/** Region name for setting item*/
		HBufC16*			iSettingName;

    };

#endif      // FMRADIOREGION_H   
            
// End of File