khronosfws/openmax_al/src/mmf_adaptation/cmmfradiobackendengine.h
changeset 48 a493a607b5bf
parent 33 5e8b14bae8c3
child 53 eabc8c503852
equal deleted inserted replaced
44:8d0d228c94a2 48:a493a607b5bf
    30 #include "xaadaptationmmf.h"
    30 #include "xaadaptationmmf.h"
    31 
    31 
    32 NONSHARABLE_CLASS(CMMFRadioBackendEngine) : public CBase,
    32 NONSHARABLE_CLASS(CMMFRadioBackendEngine) : public CBase,
    33                      public MRadioPlayerObserver,
    33                      public MRadioPlayerObserver,
    34                      public MRadioFmTunerObserver,
    34                      public MRadioFmTunerObserver,
    35                      public MRadioPresetObserver          
    35                      public MRadioPresetObserver
    36     {
    36     {
    37 public:
    37 public:
    38 
    38 
    39     static CMMFRadioBackendEngine* Instance();
    39     static CMMFRadioBackendEngine* Instance();
    40     void DeleteInstance();
    40     void DeleteInstance();
    41     ~CMMFRadioBackendEngine();
    41     ~CMMFRadioBackendEngine();
    42     
    42     
    43 		void SetFrequency(TInt aFreq);		   
    43     void SetFrequency(TInt aFreq);
    44 		TInt GetFrequency(TInt& aFreq);
    44     TInt GetFrequency(TInt& aFreq);
    45 		TInt GetSignalStrength(TInt& aFreq);		
    45     TInt GetSignalStrength(TInt& aFreq);
    46 		void StationSeek(XAboolean aUpwards);
    46     void StationSeek(TBool aUpwards);
    47 		void CancelSetFrequency();	
    47     void CancelSetFrequency();
    48 		void CancelStationSeek();	
    48     void CancelStationSeek();
    49 		void SetFreqRange(TFmRadioFrequencyRange aRange);	
    49     void SetFreqRange(TFmRadioFrequencyRange aRange);
    50 		TInt GetFreqRange(TFmRadioFrequencyRange& aRange);
    50     TInt GetFreqRange(TFmRadioFrequencyRange& aRange);
    51 		TInt GetFreqRangeProperties(TFmRadioFrequencyRange& aRange, TInt& aMinFreq, TInt& aMaxFreq);			
    51     TInt GetFreqRangeProperties(TFmRadioFrequencyRange& aRange, TInt& aMinFreq, TInt& aMaxFreq);
    52 		TInt GetMaxVolume(TInt& aMaxVol);									
    52     TInt GetMaxVolume(TInt& aMaxVol);
    53 		TInt SetVolume(TInt aVol);		
    53     TInt SetVolume(TInt aVol);
    54 		TInt GetVolume(TInt& aVol);
    54     TInt GetVolume(TInt& aVol);
    55 		TInt SetMute(XAboolean aMute);	
    55     TInt SetMute(TBool aMute);
    56 		TInt GetForcedMonoReception(XAuint32& aForcedMono);
    56     TInt GetForcedMonoReception(TUint& aForcedMono);
    57 		TInt ForceMonoReception(XAuint32 aForcedMono);
    57     TInt ForceMonoReception(TUint aForcedMono);
    58 		void PlayRadio();		
    58     void PlayRadio();
    59 		void StopRadio();		
    59     void StopRadio();
    60         XAresult SetRadioAdaptContext(void * adaptcontext);  	
    60     TInt GetSquelch(TBool& aSquelch);
    61 		XAresult SetPlayerAdaptContext(void * adaptcontext);    					
    61     TInt SetSquelch(TBool aSquelch);
    62 						
    62     void SetAdaptContext(void* adaptcontext);
       
    63 
    63     /**
    64     /**
    64      * From MRadioPlayerObserver.
    65      * From MRadioPlayerObserver.
    65      * Called when Radio state changed.
    66      * Called when Radio state changed.
    66      *
    67      *
    67      * @since S60 3.2
    68      * @since S60 3.2
   218      *
   219      *
   219      * @since S60 3.2
   220      * @since S60 3.2
   220      * @param aChange Change event type
   221      * @param aChange Change event type
   221      * @param aIndex Index to the preset that has changed. Zero means all presets.
   222      * @param aIndex Index to the preset that has changed. Zero means all presets.
   222      */
   223      */
   223     void MrpeoPresetChanged( TPresetChangeEvent aChange, TInt aIndex ); 
   224     void MrpeoPresetChanged( TPresetChangeEvent aChange, TInt aIndex );
   224        
   225        
   225 private:
   226 private:
   226     static CMMFRadioBackendEngine* s_instance;
   227     static CMMFRadioBackendEngine* s_instance;
   227     CMMFRadioBackendEngine();
   228     CMMFRadioBackendEngine();
   228     void ConstructL();
   229     void ConstructL();
   229 	XAresult TranslateError(TInt error);    
   230     XAresult TranslateError(TInt error);
   230 	XAresult SetForceMonoFlag();		 
   231     XAresult SetForceMonoFlag();
   231 
   232 
   232 private:      
   233 private:
   233     CRadioUtility* 				iRadioUtility; 
   234     CRadioUtility*          iRadioUtility; 
   234     CRadioFmTunerUtility* 	    iFmTunerUtility;
   235     CRadioFmTunerUtility*   iFmTunerUtility;
   235     CRadioPlayerUtility* 		iRadioPlayerUtility;
   236     CRadioPlayerUtility*    iRadioPlayerUtility;
   236     TBool						iForceStereo;
   237     TBool                   iForceStereo;
   237     void* 						iRadioAdaptContext;
   238     void*                   iAdaptContext;
   238     void* 						iPlayerAdaptContext;    
   239     TFmRadioFrequencyRange  iDefaultFreqRange;
   239     TFmRadioFrequencyRange 		iDefaultFreqRange;
   240     TUint                   iDefaultFrequency;     
   240     XAuint32 					iDefaultFrequency; 
   241     TInt                    iDefaultMinFreq;
   241     TInt 						iDefaultMinFreq;
   242     TInt                    iDefaultMaxFreq; 
   242     TInt 						iDefaultMaxFreq; 
       
   243        
   243        
   244     };
   244     };
   245     
   245 
   246 #else  /* __cplusplus */
   246 #else  /* __cplusplus */
   247 
   247 
   248 extern void*     	cmmfradiobackendengine_init(void);
   248 extern void*        cmmfradiobackendengine_init(void);
   249 extern void      	cmmfradiobackendengine_delete(void* context);
   249 extern void         cmmfradiobackendengine_delete(void* pContext);
   250 extern void      	set_frequency(void* context, XAuint32 freq);
   250 extern void         set_frequency(void* pContext, void* pAdaptcontext, XAuint32 freq);
   251 extern void  			cancel_set_frequency(void* context);
   251 extern void         cancel_set_frequency(void* pContext);
   252 extern void 			station_seek(void* context, XAboolean upwards);    
   252 extern void         station_seek(void* pContext, void* pAdaptcontext, XAboolean upwards);
   253 extern void 			cancel_station_seek(void* context);        
   253 extern void         cancel_station_seek(void* pContext);
   254 extern XAresult  	get_frequency(void* context, XAuint32* freq);
   254 extern XAresult     get_frequency(void* pContext, XAuint32* pFreq);
   255 extern XAresult 	get_signal_strength(void* context, XAuint32* signalStrength);
   255 extern XAresult     get_signal_strength(void* pContext, XAuint32* pSignalStrength);
   256 extern void 		 	set_freq_range(void* context, XAuint8 range);
   256 extern void         set_freq_range(void* pContext, void* pAdaptcontext, XAuint8 range);
   257 extern XAresult  	get_freq_range(void* context, XAuint8* range);   
   257 extern XAresult     get_freq_range(void* pContext, XAuint8* pRange);
   258 extern XAresult  	get_freq_range_properties(void* context, XAuint8 range, XAuint32* aMinFreq, XAuint32* aMaxFreq);
   258 extern XAresult     get_freq_range_properties(void* pContext, XAuint8 range, XAuint32* pMinFreq, XAuint32* pMaxFreq);
   259 extern XAresult  	set_stereo_mode(void* context, XAuint32 mode);
   259 extern XAresult     set_stereo_mode(void* pContext, void* pAdaptcontext, XAuint32 mode);
   260 extern XAresult  	get_stereo_mode(void* context, XAuint32* mode);
   260 extern XAresult     get_stereo_mode(void* pContext, XAuint32* pMode);
   261 extern XAresult  	mmf_set_radio_adapt_context(void * context, void * adaptcontext);
   261 extern void         stop_radio(void* pContext, void* pAdaptcontext);
   262 extern XAresult  	mmf_set_player_adapt_context(void * context, void * adaptcontext);
   262 extern void         play_radio(void* pContext, void* pAdaptcontext);
   263 extern void         stop_radio(void * context);
   263 extern XAresult     set_volume(void* pContext, void* pAdaptcontext, XAuint32 vol);
   264 extern void         play_radio(void* context);
   264 extern XAresult     get_volume(void* pContext, XAuint32* pVol);
   265 extern XAresult     set_volume(void* context, XAuint32 vol);
   265 extern XAresult     set_mute(void* pContext, void* pAdaptcontext, XAboolean mute);
   266 extern XAresult     get_volume(void* context, XAuint32* vol);
   266 extern XAresult     get_squelch(void* pContext, XAboolean* pSquelch);
   267 extern XAresult     mmf_set_player_adapt_context(void * context, void * adaptcontext);
   267 extern XAresult     set_squelch(void* pContext, void* pAdaptcontext, XAboolean squelch);
   268 extern XAresult     set_mute(void* context, XAboolean mute);
       
   269 #endif /* __cplusplus */
   268 #endif /* __cplusplus */
   270 
   269 
   271 #endif /* CMMFRADIOBACKENDENGINE_H */
   270 #endif /* CMMFRADIOBACKENDENGINE_H */