207 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
206 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
208 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
207 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
209 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
208 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
210 return XA_RESULT_PARAMETER_INVALID; |
209 return XA_RESULT_PARAMETER_INVALID; |
211 } |
210 } |
212 |
211 |
213 // Check for valid entries: |
212 // Check for valid entries: |
214 ret = XARadioItfImpl_GetFreqRangeProperties(self, range, &minFreq, &maxFreq, &freqInterval); |
213 ret = XARadioItfImpl_GetFreqRangeProperties(self, range, &minFreq, &maxFreq, &freqInterval); |
215 if (ret != XA_RESULT_SUCCESS) |
214 if (ret != XA_RESULT_SUCCESS) |
216 { |
215 { |
217 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
216 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
218 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
217 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
219 return ret; |
218 return ret; |
220 } |
219 } |
221 |
220 |
222 if ( (freq < minFreq) || (freq > maxFreq) ) |
221 if ( (freq < minFreq) || (freq > maxFreq) ) |
223 { |
222 { |
224 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
223 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
225 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
224 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
226 return XA_RESULT_PARAMETER_INVALID; |
225 return XA_RESULT_PARAMETER_INVALID; |
227 } |
226 } |
228 |
227 |
229 ret = XARadioItfAdapt_SetFrequency( (XAAdaptationMMFCtx*)impl->adapCtx, freq ); |
228 ret = XARadioItfAdapt_SetFrequency( (XAAdaptationMMFCtx*)impl->adapCtx, freq ); |
230 |
229 |
231 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
230 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
232 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
231 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
233 return ret; |
232 return ret; |
610 self->itf.SetStereoMode = XARadioItfImpl_SetStereoMode; |
614 self->itf.SetStereoMode = XARadioItfImpl_SetStereoMode; |
611 self->itf.GetStereoMode = XARadioItfImpl_GetStereoMode; |
615 self->itf.GetStereoMode = XARadioItfImpl_GetStereoMode; |
612 self->itf.GetSignalStrength = XARadioItfImpl_GetSignalStrength; |
616 self->itf.GetSignalStrength = XARadioItfImpl_GetSignalStrength; |
613 self->itf.Seek = XARadioItfImpl_Seek; |
617 self->itf.Seek = XARadioItfImpl_Seek; |
614 self->itf.StopSeeking = XARadioItfImpl_StopSeeking; |
618 self->itf.StopSeeking = XARadioItfImpl_StopSeeking; |
|
619 self->itf.GetNumberOfPresets = XARadioItfImpl_GetNumberOfPresets; |
|
620 self->itf.SetPreset = XARadioItfImpl_SetPreset; |
|
621 self->itf.GetPreset = XARadioItfImpl_GetPreset; |
615 self->itf.RegisterRadioCallback = XARadioItfImpl_RegisterRadioCallback; |
622 self->itf.RegisterRadioCallback = XARadioItfImpl_RegisterRadioCallback; |
616 |
623 |
617 /* init variables */ |
624 /* init variables */ |
618 |
625 |
619 self->squelch = XA_BOOLEAN_FALSE; |
626 self->squelch = XA_BOOLEAN_FALSE; |
656 void XARadioItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event ) |
662 void XARadioItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event ) |
657 { |
663 { |
658 XARadioItfImpl* impl =(XARadioItfImpl*)pHandlerCtx; |
664 XARadioItfImpl* impl =(XARadioItfImpl*)pHandlerCtx; |
659 XAuint32 eventData = 0; |
665 XAuint32 eventData = 0; |
660 XAboolean eventBoolean = XA_BOOLEAN_FALSE; |
666 XAboolean eventBoolean = XA_BOOLEAN_FALSE; |
661 |
667 |
662 DEBUG_API("->XARadioItfimpl_AdaptCb"); |
668 DEBUG_API("->XARadioItfimpl_AdaptCb"); |
663 |
669 |
664 if(!impl) |
670 if(!impl) |
665 { |
671 { |
666 DEBUG_ERR("XARadioItfImpl_AdaptCb, invalid context pointer!"); |
672 DEBUG_ERR("XARadioItfImpl_AdaptCb, invalid context pointer!"); |
667 DEBUG_API("<-XARadioItfImpl_AdaptCb"); |
673 DEBUG_API("<-XARadioItfImpl_AdaptCb"); |
668 return; |
674 return; |
669 } |
675 } |
670 assert(event); |
676 |
671 |
677 if (event) |
672 if( event->eventid == XA_ADAPT_RADIO_FREQUENCY_CHANGED && impl->callback ) |
678 { |
673 { |
679 if( event->eventid == XA_ADAPT_RADIO_FREQUENCY_CHANGED && impl->callback ) |
674 DEBUG_API("Frequency changed in adaptation"); |
680 { |
675 eventData = *(XAuint32*)event->data; |
681 DEBUG_API("Frequency changed in adaptation"); |
676 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_FREQUENCY_CHANGED, eventData, eventBoolean ); |
682 eventData = *(XAuint32*)event->data; |
677 } |
683 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_FREQUENCY_CHANGED, eventData, eventBoolean ); |
678 |
684 } |
679 else if( event->eventid == XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED && impl->callback ) |
685 else if( event->eventid == XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED && impl->callback ) |
680 { |
686 { |
681 DEBUG_API("Frequency range changed in adaptation"); |
687 DEBUG_API("Frequency range changed in adaptation"); |
682 |
688 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 ); |
689 } |
684 } |
690 else if( event->eventid == XA_ADAPT_RADIO_SEEK_COMPLETE && impl->callback ) |
685 |
691 { |
686 else if( event->eventid == XA_ADAPT_RADIO_SEEK_COMPLETE && impl->callback ) |
692 DEBUG_API("Seek complete in adaptation"); |
687 { |
693 eventBoolean = *(XAboolean*)event->data; |
688 DEBUG_API("Seek complete in adaptation"); |
694 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_SEEK_COMPLETED, eventData, eventBoolean ); |
689 eventBoolean = *(XAboolean*)event->data; |
695 } |
690 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_SEEK_COMPLETED, eventData, eventBoolean ); |
696 else if( event->eventid == XA_ADAPT_RADIO_STEREO_STATUS_CHANGED && impl->callback ) |
691 } |
697 { |
692 |
698 DEBUG_API("Stereo status change in adaptation"); |
693 else if( event->eventid == XA_ADAPT_RADIO_STEREO_STATUS_CHANGED && impl->callback ) |
699 eventBoolean = *(XAboolean*)event->data; |
694 { |
700 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_STEREO_STATUS_CHANGED, eventData, eventBoolean ); |
695 DEBUG_API("Stereo status change in adaptation"); |
701 } |
696 eventBoolean = *(XAboolean*)event->data; |
702 else if( event->eventid == XA_ADAPT_RADIO_SIGNAL_STRENGTH_CHANGED && impl->callback ) |
697 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_STEREO_STATUS_CHANGED, eventData, eventBoolean ); |
703 { |
698 } |
704 DEBUG_API("Signal Strength Change in adaptation"); |
699 |
705 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_SIGNAL_STRENGTH_CHANGED, eventData, eventBoolean ); |
700 else if( event->eventid == XA_ADAPT_RADIO_SIGNAL_STRENGTH_CHANGED && impl->callback ) |
706 } |
701 { |
707 } |
702 DEBUG_API("Signal Strength Change in adaptation"); |
|
703 impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_SIGNAL_STRENGTH_CHANGED, eventData, eventBoolean ); |
|
704 } |
|
705 else |
708 else |
706 { |
709 { |
707 /* do nothing */ |
710 /* do nothing */ |
708 } |
711 } |
709 DEBUG_API("<-XARadioItfimpl_AdaptCb"); |
712 DEBUG_API("<-XARadioItfimpl_AdaptCb"); |