--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fmradio/fmradioengine/inc/fmradioengineradiosettings.h Tue Feb 02 00:17:10 2010 +0200
@@ -0,0 +1,326 @@
+/*
+* Copyright (c) 2005 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: Contains implementation of the TRadioSettings class, which holds
+* the RadioEngine settings.
+*
+*/
+
+
+#ifndef FMRADIOSETTINGS_H
+#define FMRADIOSETTINGS_H
+
+#include "fmradioengine.h"
+
+// CONSTANTS
+const TInt KDefaultRadioVolume = 3;
+
+// CLASS DECLARATION
+//class CRadioEngine;
+
+
+/**
+* TRadioSettings class.
+* Maintain the radio setting data.
+*
+*/
+class TRadioSettings
+ {
+ public:
+ /**
+ * default constructor.
+ */
+ TRadioSettings();
+
+ /**
+ * return current headset volume.
+ * @since Series 60 2.7
+ * @return current headset volume
+ */
+ TInt HeadsetVolume() const;
+ /**
+ * return current speaker volume.
+ * @since Series 60 2.7
+ * @return current speaker volume
+ */
+ TInt SpeakerVolume() const;
+ /**
+ * return current preset number.
+ * @since Series 60 2.7
+ * @return current preset number
+ */
+ TInt CurrentPreset() const;
+ /**
+ * return current frequency.
+ * @since Series 60 2.7
+ * @return current frequency
+ */
+ TInt Frequency() const;
+ /**
+ * return max frequency.
+ * @return max frequency
+ */
+ TUint32 MaxFrequency() const;
+ /**
+ * return min frequency.
+ * @return min frequency
+ */
+ TUint32 MinFrequency() const;
+ /**
+ * return step size for tuning.
+ * @return step size
+ */
+ TUint32 FrequencyStepSize() const;
+ /**
+ * Returns decimal count for current region MHz information
+ * @return decimal count for current region
+ */
+ TInt DecimalCount() const;
+ /**
+ * return current audio mode.
+ * @since Series 60 2.7
+ * @return stereo/mono
+ */
+ CRadioEngine::TFMRadioAudioMode AudioMode() const;
+ /**
+ * return current audio output destination.
+ * @since Series 60 2.7
+ * @return headset/IHF
+ */
+ CRadioEngine::TFMRadioAudioOutput AudioOutput() const;
+ /**
+ * check if radio is mute.
+ * @since Series 60 2.7
+ * @return true/false
+ */
+ TBool IsMuteOn() const;
+ /**
+ * check if radio is on.
+ * @since Series 60 2.7
+ * @return true/false
+ */
+ TBool IsRadioOn() const;
+ /**
+ * return radio mode.
+ * @since Series 60 2.7
+ * @return tune/preset mode
+ */
+ CRadioEngine::TRadioMode RadioMode() const;
+ /**
+ * check if headset is connected.
+ * @since Series 60 2.7
+ * @return true/false
+ */
+ TBool IsHeadsetConnected() const;
+ /**
+ * check if flight mode is enabled.
+ * @since Series 60 2.7
+ * @return true/false
+ */
+ TBool IsFlightModeEnabled() const;
+ /**
+ * Retrieves the RDS alternate frequency search setting
+ *
+ * @return ETrue if AF search is enabled, otherwise EFalse
+ */
+ IMPORT_C TBool IsRdsAfSearchEnabled();
+ /**
+ * set speaker volume.
+ * @since Series 60 2.7
+ * @param aVolume the new volume
+ * @return none
+ */
+ void SetSpeakerVolume(const TInt aVolume);
+ /**
+ * set headset volume.
+ * @since Series 60 2.7
+ * @param aVolume the new volume
+ * @return none
+ */
+ void SetHeadsetVolume(const TInt aVolume);
+ /**
+ * Set current preset number.
+ * @since Series 60 2.7
+ * @return current preset number
+ */
+ void SetCurrentPreset(const TInt aChannel);
+ /**
+ * set current frequency .
+ * @since Series 60 2.7
+ * @param aFrequency the frequency to be set
+ * @return none
+ */
+ void SetFrequency(const TInt aFrequency);
+ /**
+ * set max frequency.
+ * @param aMaxFrequency the frequency to be set
+ * @return none
+ */
+ void SetMaxFrequency( const TUint32 aMaxFrequency );
+ /**
+ * set min frequency.
+ * @param aMinFrequency the frequency to be set
+ * @return none
+ */
+ void SetMinFrequency( const TUint32 aMinFrequency );
+ /**
+ * set step size for manual tuning.
+ * @param aFrequencyStepSize frequency step
+ * @return none
+ */
+ void SetFrequencyStepSize( const TUint32 aFrequencyStepSize );
+ /**
+ * Set decimal count for current region MHz information
+ * @param aDecimalCount decimals used
+ * @return none
+ */
+ void SetDecimalCount( const TInt aDecimalCount );
+ /**
+ * set audio mode.
+ * @since Series 60 2.7
+ * @param aAudioMode stereo/mono
+ * @return none
+ */
+ void SetAudioMode(CRadioEngine::TFMRadioAudioMode aAudioMode);
+ /**
+ * set audio output.
+ * @since Series 60 2.7
+ * @param aAudioOutput headset/IHF
+ */
+ void SetAudioOutput(const CRadioEngine::TFMRadioAudioOutput aAudioOutput );
+ /**
+ * set mute on.
+ * @since Series 60 2.7
+ * @return none
+ */
+ void SetMuteOn();
+ /**
+ * set mute on.
+ * @since Series 60 2.7
+ * @return none
+ */
+ void SetMuteOff();
+ /**
+ * set radio on.
+ * @since Series 60 2.7
+ * @return none
+ */
+ void SetRadioOn();
+ /**
+ * set radio off.
+ * @since Series 60 2.7
+ * @return none
+ */
+ void SetRadioOff();
+ /**
+ * set radio mode.
+ * @since Series 60 2.7
+ * @param aRadioMode preset/tune mode
+ * @return none
+ */
+ void SetRadioMode(const CRadioEngine::TRadioMode aRadioMode);
+ /**
+ * set headset connected.
+ * @since Series 60 2.7
+ * @return none
+ */
+ void SetHeadsetConnected();
+ /**
+ * set headset disconnected.
+ * @since Series 60 2.7
+ * @return none
+ */
+ void SetHeadsetDisconnected();
+ /**
+ * set flight mode.
+ * @since Series 60 2.7
+ * @param aEnabled true/false
+ * @return none
+ */
+ void SetFlightMode( TBool aEnabled );
+ /**
+ * set startup count
+ * @param aStartupCount number of app startups
+ */
+ void SetStartupCount( const TInt aStartupCount );
+ /**
+ * return startup count
+ * @return number of app startups
+ */
+ TInt StartupCount() const;
+
+ /**
+ * Set rds af search enabled.
+ * @return none
+ */
+ void SetRdsAfSearchEnabled();
+ /**
+ * Set rds af search disabled.
+ * @return none
+ */
+ void SetRdsAfSearchDisabled();
+ /**
+ * Set Japan region support on/off.
+ * @param aAllowed true/false
+ * @return none
+ */
+ void SetJapanRegionAllowed( const TBool aAllowed );
+ /**
+ * Return status of the Japan region support
+ * @return ETrue if supported
+ */
+ TBool IsJapanRegionAllowed() const;
+
+ private:
+ /// current headset volume level
+ TInt iFMRadioHeadsetVolume;
+ /// current speaker volume level
+ TInt iFMRadioSpeakerVolume;
+ /// currently selected channel.
+ TInt iCurrentPreset;
+ /// current frequency
+ TInt iFrequency;
+ // max frequency
+ TUint32 iMaxFrequency;
+ // min frequency
+ TUint32 iMinFrequency;
+ // step size
+ TUint32 iFrequencyStepSize;
+ // decimal count
+ TInt iDecimalCount;
+ /// stereo or mono
+ CRadioEngine::TFMRadioAudioMode iAudioMode;
+ /// audio output
+ CRadioEngine::TFMRadioAudioOutput iAudioOutput;
+ /// current mute state
+ TBool iMuteOn;
+ // radio on/off flag
+ TBool iRadioOn;
+ /// preset or direct frequency flag
+ CRadioEngine::TRadioMode iRadioMode;
+ /// headset connected flag
+ TBool iIsHeadsetConnected;
+ /// flight mode enabled flag
+ TBool iFlightModeEnabled;
+ // first startup case flag
+ TInt iStartupCount;
+ // rds af search enabled flag
+ TBool iRdsAfSearchEnabled;
+ // Japan region support flag
+ TBool iJapanRegionAllowed;
+
+ };
+
+#endif // FMRADIOSETTINGS_H
+
+// End of File