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 */ |