106 * XAuint32* pFrequency) |
106 * XAuint32* pFrequency) |
107 */ |
107 */ |
108 XAresult XARadioItfAdapt_GetFrequency(XAuint32* pFrequency) |
108 XAresult XARadioItfAdapt_GetFrequency(XAuint32* pFrequency) |
109 { |
109 { |
110 XAresult ret = XA_RESULT_SUCCESS; |
110 XAresult ret = XA_RESULT_SUCCESS; |
111 DEBUG_API("->XARadioItfAdapt_GetFrequency"); |
111 DEBUG_API("->XARadioItfAdapt_GetFrequency"); |
112 ret = get_frequency(cmmfradiobackendengine_init(), pFrequency); |
112 ret = get_frequency(cmmfradiobackendengine_init(), pFrequency); |
113 DEBUG_API("<-XARadioItfAdapt_GetFrequency"); |
113 DEBUG_API("<-XARadioItfAdapt_GetFrequency"); |
114 return ret; |
114 return ret; |
115 } |
115 } |
116 |
116 |
117 |
117 |
118 /* |
118 /* |
119 * XAresult XARadioItfAdapt_CancelSetFrequency() |
119 * XAresult XARadioItfAdapt_CancelSetFrequency() |
120 */ |
120 */ |
121 XAresult XARadioItfAdapt_CancelSetFrequency() |
121 XAresult XARadioItfAdapt_CancelSetFrequency() |
122 { |
122 { |
123 XAresult ret = XA_RESULT_SUCCESS; |
123 XAresult ret = XA_RESULT_SUCCESS; |
124 DEBUG_API("->XARadioItfAdapt_CancelSetFrequency"); |
124 DEBUG_API("->XARadioItfAdapt_CancelSetFrequency"); |
125 cancel_set_frequency(cmmfradiobackendengine_init()); |
125 cancel_set_frequency(cmmfradiobackendengine_init()); |
126 DEBUG_API("<-XARadioItfAdapt_CancelSetFrequency"); |
126 DEBUG_API("<-XARadioItfAdapt_CancelSetFrequency"); |
127 return ret; |
127 return ret; |
128 } |
128 } |
129 |
129 |
130 /* |
130 /* |
131 * XAresult XARadioItfAdapt_SetSquelch(XAboolean squelch) |
131 * XAresult XARadioItfAdapt_SetSquelch(XAboolean squelch) |
132 */ |
132 */ |
133 XAresult XARadioItfAdapt_SetSquelch(XAboolean squelch) |
133 XAresult XARadioItfAdapt_SetSquelch(XAAdaptationMMFCtx *bCtx, XAboolean squelch) |
134 { |
134 { |
135 XAresult ret = XA_RESULT_FEATURE_UNSUPPORTED; |
135 XAresult res = XA_RESULT_SUCCESS; |
136 DEBUG_API("->XARadioItfAdapt_SetSquelch"); |
136 DEBUG_API("->XARadioItfAdapt_SetSquelch"); |
137 return ret; |
137 set_squelch(cmmfradiobackendengine_init(), bCtx, squelch); |
|
138 DEBUG_API("->XARadioItfAdapt_SetSquelch"); |
|
139 return res; |
138 } |
140 } |
139 |
141 |
140 /* |
142 /* |
141 * XAresult XARadioItfAdapt_GetSquelch(XAboolean *squelch) |
143 * XAresult XARadioItfAdapt_GetSquelch(XAboolean *squelch) |
142 */ |
144 */ |
143 XAresult XARadioItfAdapt_GetSquelch(XAboolean* squelch) |
145 XAresult XARadioItfAdapt_GetSquelch(XAboolean* pSquelch) |
144 { |
146 { |
145 XAresult ret = XA_RESULT_FEATURE_UNSUPPORTED; |
147 XAresult ret = XA_RESULT_SUCCESS; |
146 DEBUG_API("->XARadioItfAdapt_GetSquelch"); |
148 DEBUG_API("->XARadioItfAdapt_GetSquelch"); |
|
149 get_squelch(cmmfradiobackendengine_init(), pSquelch); |
|
150 DEBUG_API("->XARadioItfAdapt_GetSquelch"); |
147 return ret; |
151 return ret; |
148 } |
152 } |
149 |
153 |
150 /* |
154 /* |
151 * XAresult XARadioItfAdapt_SetStereoMode(XAAdaptationMMFCtx *bCtx, XAuint32 mode) |
155 * XAresult XARadioItfAdapt_SetStereoMode(XAAdaptationMMFCtx *bCtx, XAuint32 mode) |
152 */ |
156 */ |
153 XAresult XARadioItfAdapt_SetStereoMode(XAAdaptationMMFCtx *bCtx, XAuint32 mode) |
157 XAresult XARadioItfAdapt_SetStereoMode(XAAdaptationMMFCtx *bCtx, XAuint32 mode) |
154 { |
158 { |
155 XAresult res = XA_RESULT_SUCCESS; |
159 XAresult res = XA_RESULT_SUCCESS; |
156 DEBUG_API("->XARadioItfAdapt_SetStereoMode"); |
160 DEBUG_API("->XARadioItfAdapt_SetStereoMode"); |
157 mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx); |
161 res = set_stereo_mode(cmmfradiobackendengine_init(), bCtx, mode); |
158 res = set_stereo_mode(cmmfradiobackendengine_init(), mode); |
|
159 DEBUG_API("<-XARadioItfAdapt_SetStereoMode"); |
162 DEBUG_API("<-XARadioItfAdapt_SetStereoMode"); |
160 return res; |
163 return res; |
161 } |
164 } |
162 |
165 |
163 /* |
166 /* |
164 * XAresult XARadioItfAdapt_GetSignalStrength(XAuint32 * pStrength) |
167 * XAresult XARadioItfAdapt_GetSignalStrength(XAuint32 * pStrength) |
165 */ |
168 */ |
166 XAresult XARadioItfAdapt_GetSignalStrength(XAuint32 * pStrength) |
169 XAresult XARadioItfAdapt_GetSignalStrength(XAuint32 * pStrength) |
167 { |
170 { |
168 XAresult ret = XA_RESULT_SUCCESS; |
171 XAresult ret = XA_RESULT_SUCCESS; |
169 DEBUG_API("->XARadioItfAdapt_GetSignalStrength"); |
172 DEBUG_API("->XARadioItfAdapt_GetSignalStrength"); |
170 ret = get_signal_strength(cmmfradiobackendengine_init(), pStrength); |
173 ret = get_signal_strength(cmmfradiobackendengine_init(), pStrength); |
171 DEBUG_API("<-XARadioItfAdapt_GetSignalStrength"); |
174 DEBUG_API("<-XARadioItfAdapt_GetSignalStrength"); |
172 return ret; |
175 return ret; |
173 } |
176 } |
174 |
177 |
175 /* |
178 /* |
176 * XAresult XARadioItfAdapt_Seek(XAAdaptationMMFCtx *bCtx, XAboolean upwards) |
179 * XAresult XARadioItfAdapt_Seek(XAAdaptationMMFCtx *bCtx, XAboolean upwards) |
177 */ |
180 */ |
178 XAresult XARadioItfAdapt_Seek(XAAdaptationMMFCtx *bCtx, XAboolean upwards) |
181 XAresult XARadioItfAdapt_Seek(XAAdaptationMMFCtx *bCtx, XAboolean upwards) |
179 { |
182 { |
180 XAresult ret = XA_RESULT_SUCCESS; |
183 XAresult ret = XA_RESULT_SUCCESS; |
181 |
184 DEBUG_API("->XARadioItfAdapt_Seek"); |
182 DEBUG_API("->XARadioItfAdapt_Seek"); |
185 station_seek(cmmfradiobackendengine_init(), bCtx, upwards); |
183 mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx); |
|
184 station_seek(cmmfradiobackendengine_init(), upwards); |
|
185 DEBUG_API("<-XARadioItfAdapt_Seek"); |
186 DEBUG_API("<-XARadioItfAdapt_Seek"); |
186 return ret; |
187 return ret; |
187 } |
188 } |
188 |
189 |
189 /* |
190 /* |
190 * void XARadioItfAdapt_StopSeeking(XAAdaptationMMFCtx *bCtx) |
191 * void XARadioItfAdapt_StopSeeking(XAAdaptationMMFCtx *bCtx) |
191 */ |
192 */ |
192 void XARadioItfAdapt_StopSeeking(XAAdaptationMMFCtx *bCtx) |
193 void XARadioItfAdapt_StopSeeking(XAAdaptationMMFCtx *bCtx) |
193 { |
194 { |
194 DEBUG_API("->XARadioItfAdapt_StopSeeking"); |
195 DEBUG_API("->XARadioItfAdapt_StopSeeking"); |
195 mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx); |
196 cancel_station_seek(cmmfradiobackendengine_init()); |
196 cancel_station_seek(cmmfradiobackendengine_init()); |
|
197 DEBUG_API("<-XARadioItfAdapt_StopSeeking"); |
197 DEBUG_API("<-XARadioItfAdapt_StopSeeking"); |
198 } |
198 } |
199 |
199 |
200 /* |
200 /* |
201 * XAresult XARadioItfAdapt_GetStereoMode(XAuint32 * pMode) |
201 * XAresult XARadioItfAdapt_GetStereoMode(XAuint32 * pMode) |
202 */ |
202 */ |
203 XAresult XARadioItfAdapt_GetStereoMode(XAuint32 * pMode) |
203 XAresult XARadioItfAdapt_GetStereoMode(XAuint32 * pMode) |
204 { |
204 { |
205 XAresult ret = XA_RESULT_SUCCESS; |
205 XAresult ret = XA_RESULT_SUCCESS; |
206 DEBUG_API("->XARadioItfAdapt_GetStereoMode"); |
206 DEBUG_API("->XARadioItfAdapt_GetStereoMode"); |
207 ret = get_stereo_mode(cmmfradiobackendengine_init(), pMode); |
207 ret = get_stereo_mode(cmmfradiobackendengine_init(), pMode); |
208 DEBUG_API("<-XARadioItfAdapt_GetStereoMode"); |
208 DEBUG_API("<-XARadioItfAdapt_GetStereoMode"); |
209 return ret; |
209 return ret; |
210 } |
210 } |
211 |
211 |
212 /* |
212 /* |
213 * void XARadioItfAdapt_Free() |
213 * void XARadioItfAdapt_Free() |
214 */ |
214 */ |
215 void XARadioItfAdapt_Free() |
215 void XARadioItfAdapt_Free() |
216 { |
216 { |
217 DEBUG_API("->XARadioItfAdapt_Free"); |
217 DEBUG_API("->XARadioItfAdapt_Free"); |
218 |
|
219 } |
218 } |
220 |
219 |
221 void XARadioItfAdapt_SeekComplete(XAAdaptationBaseCtx *ctx, TInt aError, TInt aFrequency) |
220 void XARadioItfAdapt_SeekComplete(XAAdaptationBaseCtx *ctx, TInt aError, TInt aFrequency) |
222 { |
221 { |
223 XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_SEEK_COMPLETE,1,0}; |
222 XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_SEEK_COMPLETE,1,0}; |
224 if (ctx) |
223 if (ctx) |
225 { |
224 { |
226 if (aError) |
225 if (aError) |
227 { |
226 { |
228 event.data = &aError; |
227 event.data = &aError; |
229 } |
228 } |
230 else |
229 else |
231 { |
230 { |
232 event.data = &aFrequency; |
231 event.data = &aFrequency; |
233 } |
232 } |
234 |
233 XAAdaptationBase_SendAdaptEvents(ctx, &event ); |
235 XAAdaptationBase_SendAdaptEvents(ctx, &event ); |
234 } |
236 } |
|
237 } |
235 } |
238 |
236 |
239 void XARadioItfAdapt_FrequencyChange(XAAdaptationBaseCtx *ctx, TInt aFrequency) |
237 void XARadioItfAdapt_FrequencyChange(XAAdaptationBaseCtx *ctx, TInt aFrequency) |
240 { |
238 { |
241 // Currently: Bug in FM Radio Utility: SetFrequency calls this callback as well as SetFrequencyComplete |
239 // Currently: Bug in FM Radio Utility: SetFrequency calls this callback as well as SetFrequencyComplete |
242 // (So client will end up getting 2 events on a SetFrequency call) |
240 // (So client will end up getting 2 events on a SetFrequency call) |
243 XAuint32 freq = aFrequency; |
241 XAuint32 freq = aFrequency; |
244 XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_CHANGED,1,0}; |
242 XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_CHANGED,1,0}; |
245 if (ctx) |
243 if (ctx) |
246 { |
244 { |
247 event.data = &freq; |
245 event.data = &freq; |
248 XAAdaptationBase_SendAdaptEvents(ctx, &event ); |
246 XAAdaptationBase_SendAdaptEvents(ctx, &event ); |
249 } |
247 } |
250 } |
248 } |
251 |
249 |
252 void XARadioItfAdapt_FrequencyRangeChange(XAAdaptationBaseCtx* ctx, TInt aFreqRangeChange) |
250 void XARadioItfAdapt_FrequencyRangeChange(XAAdaptationBaseCtx* ctx, TInt aFreqRangeChange) |
253 { |
251 { |
254 // Currently: Bug in FM Radio Utility: SetFrequencyRange triggers this callback as well as SetFrequencyRangeComplete |
252 // Currently: Bug in FM Radio Utility: SetFrequencyRange triggers this callback as well as SetFrequencyRangeComplete |
255 |
|
256 /* XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED,1,0}; |
253 /* XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED,1,0}; |
257 if (baseCtx) |
254 if (baseCtx) |
258 { |
255 { |
259 event.data = &aFreqRangeChange; |
256 event.data = &aFreqRangeChange; |
260 XAAdaptationBase_SendAdaptEvents(&baseCtx->baseObj, &event ); |
257 XAAdaptationBase_SendAdaptEvents(&baseCtx->baseObj, &event ); |
261 } |
258 } |
262 */ |
259 */ |
263 } |
260 } |
264 |
261 |
265 void XARadioItfAdapt_SetFrequencyComplete(XAAdaptationBaseCtx *ctx, TInt aError, TInt aFrequency) |
262 void XARadioItfAdapt_SetFrequencyComplete(XAAdaptationBaseCtx *ctx, TInt aError, TInt aFrequency) |
266 { |
263 { |
267 // Currently: Qt API has no event for SetFrequencyComplete, so must use this one: |
264 // Currently: Qt API has no event for SetFrequencyComplete, so must use this one: |
268 XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_CHANGED,1,0}; |
265 XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_CHANGED,1,0}; |
269 XAuint32 freq = aFrequency; |
266 XAuint32 freq = aFrequency; |
270 if (ctx) |
267 if (ctx) |
271 { |
268 { |
272 if (!aError) |
269 if (!aError) |
273 { |
270 { |
274 event.data = &freq; |
271 event.data = &freq; |
275 } |
272 } |
276 else |
273 else |
277 { |
274 { |
278 event.data = &aError; |
275 event.data = &aError; |
279 } |
276 } |
280 XAAdaptationBase_SendAdaptEvents(ctx, &event ); |
277 XAAdaptationBase_SendAdaptEvents(ctx, &event ); |
281 } |
278 } |
282 } |
279 } |
283 |
280 |
284 void XARadioItfAdapt_SetFrequencyRangeComplete(XAAdaptationBaseCtx *ctx, TInt aError) |
281 void XARadioItfAdapt_SetFrequencyRangeComplete(XAAdaptationBaseCtx *ctx, TInt aError) |
285 { |
282 { |
286 XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED,1,0}; |
283 XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED,1,0}; |
287 if (ctx) |
284 if (ctx) |
288 { |
285 { |
289 event.data = &aError; |
286 event.data = &aError; |
290 XAAdaptationBase_SendAdaptEvents(ctx, &event ); |
287 XAAdaptationBase_SendAdaptEvents(ctx, &event ); |
291 } |
288 } |
292 } |
289 } |
293 |
290 |
294 void XARadioItfAdapt_StereoStatusChange(XAAdaptationBaseCtx *ctx, XAboolean aStereoStatus) |
291 void XARadioItfAdapt_StereoStatusChange(XAAdaptationBaseCtx *ctx, XAboolean aStereoStatus) |
295 { |
292 { |
296 XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_STEREO_STATUS_CHANGED,1,0}; |
293 XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_STEREO_STATUS_CHANGED,1,0}; |
297 DEBUG_INFO_A1("XARadioItfAdapt_StereoStatusChange to: %s", aStereoStatus); |
294 DEBUG_INFO_A1("XARadioItfAdapt_StereoStatusChange to: %s", aStereoStatus); |
298 if (ctx) |
295 if (ctx) |
299 { |
296 { |
300 event.data = &aStereoStatus; |
297 event.data = &aStereoStatus; |
301 XAAdaptationBase_SendAdaptEvents(ctx, &event ); |
298 XAAdaptationBase_SendAdaptEvents(ctx, &event ); |
302 } |
299 } |
303 } |
300 } |
304 |
301 |
305 void XARadioItfAdapt_SignalStrengthChange(XAAdaptationBaseCtx *ctx, TInt aSignalStrength) |
302 void XARadioItfAdapt_SignalStrengthChange(XAAdaptationBaseCtx *ctx, TInt aSignalStrength) |
306 { |
303 { |
307 XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_SIGNAL_STRENGTH_CHANGED,1,0}; |
304 XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_SIGNAL_STRENGTH_CHANGED,1,0}; |
308 DEBUG_INFO_A1("XARadioItfAdapt_SignalStrengthChange to: %s", aSignalStrength); |
305 DEBUG_INFO_A1("XARadioItfAdapt_SignalStrengthChange to: %s", aSignalStrength); |
309 if (ctx) |
306 if (ctx) |
310 { |
307 { |
311 event.data = &aSignalStrength; |
308 event.data = &aSignalStrength; |
312 XAAdaptationBase_SendAdaptEvents(ctx, &event ); |
309 XAAdaptationBase_SendAdaptEvents(ctx, &event ); |
313 } |
310 } |
314 } |
311 } |
|
312 |
|
313 void XARadioItfAdapt_StateChange(XAAdaptationBaseCtx *ctx, XAboolean aState) |
|
314 { |
|
315 if (aState) // playing |
|
316 { |
|
317 XAAdaptEvent event = {XA_PLAYITFEVENTS, XA_PLAYEVENT_HEADMOVING, 1, 0}; |
|
318 XAAdaptationBase_SendAdaptEvents(ctx, &event); |
|
319 } |
|
320 else // idle |
|
321 { |
|
322 XAAdaptEvent event = {XA_PLAYITFEVENTS, XA_PLAYEVENT_HEADSTALLED, 1, 0}; |
|
323 XAAdaptationBase_SendAdaptEvents(ctx, &event); |
|
324 } |
|
325 } |
|
326 |
|
327 void XARadioItfAdapt_VolumeChange(XAAdaptationBaseCtx *ctx, TInt aVolume) |
|
328 { |
|
329 XAAdaptEvent event = |
|
330 { |
|
331 XA_NOKIALINEARVOLITFEVENTS, XA_ADAPT_VOLUME_VOLUME_CHANGED, 1, 0 |
|
332 }; |
|
333 if (ctx) |
|
334 { |
|
335 event.data = &aVolume; |
|
336 XAAdaptationBase_SendAdaptEvents(ctx, &event); |
|
337 } |
|
338 } |
|
339 |
|
340 |
|
341 void XARadioItfAdapt_MuteChange(XAAdaptationBaseCtx* ctx, XAboolean aMute) |
|
342 { |
|
343 XAAdaptEvent event = |
|
344 { |
|
345 XA_NOKIAEXTVOLITFEVENTS, XA_ADAPT_VOLUME_MUTE_CHANGED, 1, 0 |
|
346 }; |
|
347 if (ctx) |
|
348 { |
|
349 event.data = &aMute; |
|
350 XAAdaptationBase_SendAdaptEvents(ctx, &event); |
|
351 } |
|
352 } |