157 XAuint32 * pMinFreq, |
157 XAuint32 * pMinFreq, |
158 XAuint32 * pMaxFreq, |
158 XAuint32 * pMaxFreq, |
159 XAuint32 * pFreqInterval) |
159 XAuint32 * pFreqInterval) |
160 { |
160 { |
161 XAresult ret = XA_RESULT_SUCCESS; |
161 XAresult ret = XA_RESULT_SUCCESS; |
162 XAboolean isSupported = XA_BOOLEAN_FALSE; |
162 XARadioItfImpl* impl = GetImpl(self); |
163 XARadioItfImpl* impl = GetImpl(self); |
163 |
164 |
|
165 *pFreqInterval = FREQINTERVAL; |
|
166 |
|
167 DEBUG_API("->XARadioItfImpl_GetFreqRangeProperties"); |
164 DEBUG_API("->XARadioItfImpl_GetFreqRangeProperties"); |
168 |
165 |
169 if(!impl || !pMinFreq || !pMaxFreq || !pFreqInterval) |
166 if(!impl || !pMinFreq || !pMaxFreq || !pFreqInterval) |
170 { |
167 { |
171 /* invalid parameter */ |
168 /* invalid parameter */ |
172 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
169 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
173 DEBUG_API("<-XARadioItfImpl_GetFreqRangeProperties"); |
170 DEBUG_API("<-XARadioItfImpl_GetFreqRangeProperties"); |
174 return XA_RESULT_PARAMETER_INVALID; |
171 return XA_RESULT_PARAMETER_INVALID; |
175 } |
172 } |
176 |
173 |
177 ret = XARadioItfAdapt_GetFreqRangeProperties( (XAAdaptationMMFCtx*)impl->adapCtx, |
174 ret = XARadioItfAdapt_GetFreqRangeProperties( (XAAdaptationMMFCtx*)impl->adapCtx, |
178 range, pMinFreq, pMaxFreq ); |
175 range, pMinFreq, pMaxFreq ); |
|
176 if (ret == XA_RESULT_SUCCESS) |
|
177 { |
|
178 *pFreqInterval = FREQINTERVAL; |
|
179 } |
179 |
180 |
180 DEBUG_API("<-XARadioItfImpl_GetFreqRangeProperties"); |
181 DEBUG_API("<-XARadioItfImpl_GetFreqRangeProperties"); |
181 return ret; |
182 return ret; |
182 } |
183 } |
183 |
184 |
206 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
207 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
207 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
208 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
208 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
209 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
209 return XA_RESULT_PARAMETER_INVALID; |
210 return XA_RESULT_PARAMETER_INVALID; |
210 } |
211 } |
211 |
212 |
212 // Check for valid entries: |
213 // Check for valid entries: |
213 ret = XARadioItfImpl_GetFreqRangeProperties(self, range, &minFreq, &maxFreq, &freqInterval); |
214 ret = XARadioItfImpl_GetFreqRangeProperties(self, range, &minFreq, &maxFreq, &freqInterval); |
214 if (ret != XA_RESULT_SUCCESS) |
215 if (ret != XA_RESULT_SUCCESS) |
215 { |
216 { |
216 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
217 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
217 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
218 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
218 return ret; |
219 return ret; |
219 } |
220 } |
220 |
221 |
221 if ( (freq < minFreq) || (freq > maxFreq) ) |
222 if ( (freq < minFreq) || (freq > maxFreq) ) |
222 { |
223 { |
223 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
224 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
224 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
225 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
225 return XA_RESULT_PARAMETER_INVALID; |
226 return XA_RESULT_PARAMETER_INVALID; |
226 } |
227 } |
227 |
228 |
228 ret = XARadioItfAdapt_SetFrequency( (XAAdaptationMMFCtx*)impl->adapCtx, freq ); |
229 ret = XARadioItfAdapt_SetFrequency( (XAAdaptationMMFCtx*)impl->adapCtx, freq ); |
229 |
230 |
230 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
231 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
231 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
232 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
232 return ret; |
233 return ret; |
655 void XARadioItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event ) |
656 void XARadioItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event ) |
656 { |
657 { |
657 XARadioItfImpl* impl =(XARadioItfImpl*)pHandlerCtx; |
658 XARadioItfImpl* impl =(XARadioItfImpl*)pHandlerCtx; |
658 XAuint32 eventData = 0; |
659 XAuint32 eventData = 0; |
659 XAboolean eventBoolean = XA_BOOLEAN_FALSE; |
660 XAboolean eventBoolean = XA_BOOLEAN_FALSE; |
660 |
661 |
661 DEBUG_API("->XARadioItfimpl_AdaptCb"); |
662 DEBUG_API("->XARadioItfimpl_AdaptCb"); |
662 |
663 |
663 if(!impl) |
664 if(!impl) |
664 { |
665 { |
665 DEBUG_ERR("XARadioItfImpl_AdaptCb, invalid context pointer!"); |
666 DEBUG_ERR("XARadioItfImpl_AdaptCb, invalid context pointer!"); |
668 } |
669 } |
669 assert(event); |
670 assert(event); |
670 |
671 |
671 if( event->eventid == XA_ADAPT_RADIO_FREQUENCY_CHANGED && impl->callback ) |
672 if( event->eventid == XA_ADAPT_RADIO_FREQUENCY_CHANGED && impl->callback ) |
672 { |
673 { |
673 DEBUG_API("Frequency changed in adaptation"); |
674 DEBUG_API("Frequency changed in adaptation"); |
674 eventData = *(XAuint32*)event->data; |
675 eventData = *(XAuint32*)event->data; |
675 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_FREQUENCY_CHANGED, eventData, eventBoolean ); |
676 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_FREQUENCY_CHANGED, eventData, eventBoolean ); |
676 } |
677 } |
677 |
678 |
678 else if( event->eventid == XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED && impl->callback ) |
679 else if( event->eventid == XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED && impl->callback ) |
679 { |
680 { |
680 DEBUG_API("Frequency range changed in adaptation"); |
681 DEBUG_API("Frequency range changed in adaptation"); |
681 |
682 |
682 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED, eventData, eventBoolean ); |
683 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED, eventData, eventBoolean ); |
683 } |
684 } |
684 |
685 |
685 else if( event->eventid == XA_ADAPT_RADIO_SEEK_COMPLETE && impl->callback ) |
686 else if( event->eventid == XA_ADAPT_RADIO_SEEK_COMPLETE && impl->callback ) |
686 { |
687 { |
687 DEBUG_API("Seek complete in adaptation"); |
688 DEBUG_API("Seek complete in adaptation"); |
688 eventBoolean = *(XAboolean*)event->data; |
689 eventBoolean = *(XAboolean*)event->data; |
689 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_SEEK_COMPLETED, eventData, eventBoolean ); |
690 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_SEEK_COMPLETED, eventData, eventBoolean ); |
690 } |
691 } |
691 |
692 |
692 else if( event->eventid == XA_ADAPT_RADIO_STEREO_STATUS_CHANGED && impl->callback ) |
693 else if( event->eventid == XA_ADAPT_RADIO_STEREO_STATUS_CHANGED && impl->callback ) |
693 { |
694 { |
694 DEBUG_API("Stereo status change in adaptation"); |
695 DEBUG_API("Stereo status change in adaptation"); |
695 eventBoolean = *(XAboolean*)event->data; |
696 eventBoolean = *(XAboolean*)event->data; |
696 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_STEREO_STATUS_CHANGED, eventData, eventBoolean ); |
697 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_STEREO_STATUS_CHANGED, eventData, eventBoolean ); |
697 } |
698 } |
698 |
699 |
699 else if( event->eventid == XA_ADAPT_RADIO_SIGNAL_STRENGTH_CHANGED && impl->callback ) |
700 else if( event->eventid == XA_ADAPT_RADIO_SIGNAL_STRENGTH_CHANGED && impl->callback ) |
700 { |
701 { |
701 DEBUG_API("Signal Strength Change in adaptation"); |
702 DEBUG_API("Signal Strength Change in adaptation"); |
702 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_SIGNAL_STRENGTH_CHANGED, eventData, eventBoolean ); |
703 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_SIGNAL_STRENGTH_CHANGED, eventData, eventBoolean ); |
703 } |
704 } |
704 else |
705 else |
705 { |
706 { |
706 /* do nothing */ |
707 /* do nothing */ |
707 } |
708 } |
708 DEBUG_API("<-XARadioItfimpl_AdaptCb"); |
709 DEBUG_API("<-XARadioItfimpl_AdaptCb"); |