equal
deleted
inserted
replaced
22 #include <xaradioitfext.h> |
22 #include <xaradioitfext.h> |
23 #include "xaradioitf.h" |
23 #include "xaradioitf.h" |
24 #include "xaradioitfadaptation.h" |
24 #include "xaradioitfadaptation.h" |
25 #include "xathreadsafety.h" |
25 #include "xathreadsafety.h" |
26 |
26 |
27 #define FREQINTERVAL 20 |
27 #define FREQINTERVAL 200000 |
28 |
28 |
29 /** |
29 /** |
30 * XARadioItfImpl* GetImpl(XARadioItf self) |
30 * XARadioItfImpl* GetImpl(XARadioItf self) |
31 * Description: Validated interface pointer and cast it to implementations pointer. |
31 * Description: Validated interface pointer and cast it to implementations pointer. |
32 **/ |
32 **/ |
52 * Description: Sets the frequency range. Asynchronous – xaRadioCallback() callback with |
52 * Description: Sets the frequency range. Asynchronous – xaRadioCallback() callback with |
53 * XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED event is used for notifying of the result. |
53 * XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED event is used for notifying of the result. |
54 **/ |
54 **/ |
55 XAresult XARadioItfImpl_SetFreqRange(XARadioItf self, XAuint8 range) |
55 XAresult XARadioItfImpl_SetFreqRange(XARadioItf self, XAuint8 range) |
56 { |
56 { |
57 XAresult ret = XA_RESULT_SUCCESS; |
57 XAresult ret = XA_RESULT_PARAMETER_INVALID; |
58 XAboolean isSupported = XA_BOOLEAN_FALSE; |
58 XAboolean isSupported = XA_BOOLEAN_FALSE; |
59 XARadioItfImpl* impl = GetImpl(self); |
59 XARadioItfImpl* impl = GetImpl(self); |
60 |
60 |
61 DEBUG_API("->XARadioItfImpl_SetFreqRange"); |
61 DEBUG_API("->XARadioItfImpl_SetFreqRange"); |
62 XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio); |
62 XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio); |
66 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
66 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
67 /* invalid parameter */ |
67 /* invalid parameter */ |
68 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
68 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
69 DEBUG_API("<-XARadioItfImpl_SetFreqRange"); |
69 DEBUG_API("<-XARadioItfImpl_SetFreqRange"); |
70 |
70 |
71 return XA_RESULT_PARAMETER_INVALID; |
71 return ret; |
72 } |
72 } |
73 |
73 |
74 ret = XARadioItfAdapt_IsFreqRangeSupported(range, &isSupported); |
74 ret = XARadioItfAdapt_IsFreqRangeSupported(range, &isSupported); |
75 |
75 |
76 if ( ret == XA_RESULT_SUCCESS && isSupported == XA_BOOLEAN_TRUE ) |
76 if ( ret == XA_RESULT_SUCCESS && isSupported == XA_BOOLEAN_TRUE ) |
77 { |
77 { |
78 ret = XARadioItfAdapt_SetFreqRange((XAAdaptationMMFCtx*)impl->adapCtx, range); |
78 ret = XARadioItfAdapt_SetFreqRange((XAAdaptationMMFCtx*)impl->adapCtx, range); |
|
79 } |
|
80 else if (!isSupported) |
|
81 { |
|
82 ret = XA_RESULT_PARAMETER_INVALID; |
79 } |
83 } |
80 |
84 |
81 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
85 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
82 DEBUG_API("<-XARadioItfImpl_SetFreqRange"); |
86 DEBUG_API("<-XARadioItfImpl_SetFreqRange"); |
83 return ret; |
87 return ret; |
202 * GetFreqRangeProperties() method. |
206 * GetFreqRangeProperties() method. |
203 **/ |
207 **/ |
204 XAresult XARadioItfImpl_SetFrequency(XARadioItf self, XAuint32 freq) |
208 XAresult XARadioItfImpl_SetFrequency(XARadioItf self, XAuint32 freq) |
205 { |
209 { |
206 XAresult ret = XA_RESULT_SUCCESS; |
210 XAresult ret = XA_RESULT_SUCCESS; |
|
211 |
207 XARadioItfImpl* impl = GetImpl(self); |
212 XARadioItfImpl* impl = GetImpl(self); |
208 DEBUG_API("->XARadioItfImpl_SetFrequency"); |
213 DEBUG_API("->XARadioItfImpl_SetFrequency"); |
209 XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio); |
214 XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio); |
210 |
215 |
211 if(!impl) |
216 if(!impl) |
213 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
218 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
214 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
219 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
215 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
220 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
216 return XA_RESULT_PARAMETER_INVALID; |
221 return XA_RESULT_PARAMETER_INVALID; |
217 } |
222 } |
|
223 |
|
224 |
218 |
225 |
219 ret = XARadioItfAdapt_SetFrequency( (XAAdaptationMMFCtx*)impl->adapCtx, freq ); |
226 ret = XARadioItfAdapt_SetFrequency( (XAAdaptationMMFCtx*)impl->adapCtx, freq ); |
220 |
227 |
221 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
228 XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio); |
222 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
229 DEBUG_API("<-XARadioItfImpl_SetFrequency"); |
605 self->itf.RegisterRadioCallback = XARadioItfImpl_RegisterRadioCallback; |
612 self->itf.RegisterRadioCallback = XARadioItfImpl_RegisterRadioCallback; |
606 |
613 |
607 /* init variables */ |
614 /* init variables */ |
608 |
615 |
609 self->squelch = XA_BOOLEAN_FALSE; |
616 self->squelch = XA_BOOLEAN_FALSE; |
610 self->stereoMode = RADIO_DEFAULT_STEREO_MODE; |
617 self->stereoMode = XA_STEREOMODE_STEREO; |
611 self->callback = NULL; |
618 self->callback = NULL; |
612 self->context = NULL; |
619 self->context = NULL; |
613 self->cbPtrToSelf = NULL; |
620 self->cbPtrToSelf = NULL; |
614 self->adapCtx = adapCtx; |
621 self->adapCtx = adapCtx; |
615 |
622 |