--- a/khronosfws/openmax_al/src/mmf_adaptation/xaradioitfadaptation.c Wed Aug 25 11:51:49 2010 -0500
+++ b/khronosfws/openmax_al/src/mmf_adaptation/xaradioitfadaptation.c Fri Sep 03 19:34:12 2010 -0500
@@ -16,21 +16,22 @@
*/
#include <unistd.h>
+#include <openMAXAL.h>
#include "xadebug.h"
#include "xaadaptationmmf.h"
#include "xaradioitfadaptation.h"
#include "xaradioadaptctx.h"
#include "cmmfradiobackendengine.h"
+
/*
* XAresult XARadioItfAdapt_SetFreqRange(XAAdaptationMMFCtx *bCtx, XAuint8 range)
*/
XAresult XARadioItfAdapt_SetFreqRange(XAAdaptationMMFCtx *bCtx, XAuint8 range)
{
XAresult ret = XA_RESULT_SUCCESS;
- DEBUG_API("->XARadioItfAdapt_SetFreqRange");
- mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx);
- set_freq_range(cmmfradiobackendengine_init(), range);
+ DEBUG_API("->XARadioItfAdapt_SetFreqRange");
+ set_freq_range(cmmfradiobackendengine_init(), bCtx, range);
DEBUG_API("<-XARadioItfAdapt_SetFreqRange");
return ret;
}
@@ -41,9 +42,9 @@
*/
XAresult XARadioItfAdapt_GetFreqRange(XAuint8 * pFreqRange)
{
- XAresult res = XA_RESULT_SUCCESS;
- DEBUG_API("->XARadioItfAdapt_GetFreqRange");
- res = get_freq_range(cmmfradiobackendengine_init(), pFreqRange);
+ XAresult res = XA_RESULT_SUCCESS;
+ DEBUG_API("->XARadioItfAdapt_GetFreqRange");
+ res = get_freq_range(cmmfradiobackendengine_init(), pFreqRange);
DEBUG_API("<-XARadioItfAdapt_GetFreqRange");
return res;
}
@@ -56,14 +57,15 @@
XAboolean * pSupported)
{
XAresult ret = XA_RESULT_SUCCESS;
- DEBUG_API("->XARadioItfAdapt_IsFreqRangeSupported");
+ DEBUG_API("->XARadioItfAdapt_IsFreqRangeSupported");
if ((range == XA_FREQRANGE_FMEUROAMERICA) || (range == XA_FREQRANGE_FMJAPAN))
- {
- *pSupported = XA_BOOLEAN_TRUE;
- }
- else
- *pSupported = XA_BOOLEAN_FALSE;
-
+ {
+ *pSupported = XA_BOOLEAN_TRUE;
+ }
+ else
+ {
+ *pSupported = XA_BOOLEAN_FALSE;
+ }
DEBUG_API("<-XARadioItfAdapt_IsFreqRangeSupported");
return ret;
}
@@ -81,8 +83,7 @@
{
XAresult res = XA_RESULT_SUCCESS;
DEBUG_API("->XARadioItfAdapt_GetFreqRangeProperties");
- mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx);
- res = get_freq_range_properties(cmmfradiobackendengine_init(), range, pMinFreq, pMaxFreq);
+ res = get_freq_range_properties(cmmfradiobackendengine_init(), range, pMinFreq, pMaxFreq);
DEBUG_API("<-XARadioItfAdapt_GetFreqRangeProperties");
return res;
}
@@ -93,9 +94,8 @@
XAresult XARadioItfAdapt_SetFrequency(XAAdaptationMMFCtx *bCtx, XAuint32 freq)
{
XAresult ret = XA_RESULT_SUCCESS;
- DEBUG_API("->XARadioItfAdapt_SetFrequency");
- mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx);
- set_frequency(cmmfradiobackendengine_init(), freq);
+ DEBUG_API("->XARadioItfAdapt_SetFrequency");
+ set_frequency(cmmfradiobackendengine_init(), bCtx, freq);
DEBUG_API("<-XARadioItfAdapt_SetFrequency");
return ret;
}
@@ -108,10 +108,10 @@
XAresult XARadioItfAdapt_GetFrequency(XAuint32* pFrequency)
{
XAresult ret = XA_RESULT_SUCCESS;
- DEBUG_API("->XARadioItfAdapt_GetFrequency");
- ret = get_frequency(cmmfradiobackendengine_init(), pFrequency);
- DEBUG_API("<-XARadioItfAdapt_GetFrequency");
- return ret;
+ DEBUG_API("->XARadioItfAdapt_GetFrequency");
+ ret = get_frequency(cmmfradiobackendengine_init(), pFrequency);
+ DEBUG_API("<-XARadioItfAdapt_GetFrequency");
+ return ret;
}
@@ -122,7 +122,7 @@
{
XAresult ret = XA_RESULT_SUCCESS;
DEBUG_API("->XARadioItfAdapt_CancelSetFrequency");
- cancel_set_frequency(cmmfradiobackendengine_init());
+ cancel_set_frequency(cmmfradiobackendengine_init());
DEBUG_API("<-XARadioItfAdapt_CancelSetFrequency");
return ret;
}
@@ -130,19 +130,23 @@
/*
* XAresult XARadioItfAdapt_SetSquelch(XAboolean squelch)
*/
-XAresult XARadioItfAdapt_SetSquelch(XAboolean squelch)
-{
- XAresult ret = XA_RESULT_FEATURE_UNSUPPORTED;
+XAresult XARadioItfAdapt_SetSquelch(XAAdaptationMMFCtx *bCtx, XAboolean squelch)
+{
+ XAresult res = XA_RESULT_SUCCESS;
DEBUG_API("->XARadioItfAdapt_SetSquelch");
- return ret;
+ set_squelch(cmmfradiobackendengine_init(), bCtx, squelch);
+ DEBUG_API("->XARadioItfAdapt_SetSquelch");
+ return res;
}
/*
* XAresult XARadioItfAdapt_GetSquelch(XAboolean *squelch)
*/
-XAresult XARadioItfAdapt_GetSquelch(XAboolean* squelch)
+XAresult XARadioItfAdapt_GetSquelch(XAboolean* pSquelch)
{
- XAresult ret = XA_RESULT_FEATURE_UNSUPPORTED;
+ XAresult ret = XA_RESULT_SUCCESS;
+ DEBUG_API("->XARadioItfAdapt_GetSquelch");
+ get_squelch(cmmfradiobackendengine_init(), pSquelch);
DEBUG_API("->XARadioItfAdapt_GetSquelch");
return ret;
}
@@ -152,10 +156,9 @@
*/
XAresult XARadioItfAdapt_SetStereoMode(XAAdaptationMMFCtx *bCtx, XAuint32 mode)
{
- XAresult res = XA_RESULT_SUCCESS;
+ XAresult res = XA_RESULT_SUCCESS;
DEBUG_API("->XARadioItfAdapt_SetStereoMode");
- mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx);
- res = set_stereo_mode(cmmfradiobackendengine_init(), mode);
+ res = set_stereo_mode(cmmfradiobackendengine_init(), bCtx, mode);
DEBUG_API("<-XARadioItfAdapt_SetStereoMode");
return res;
}
@@ -165,9 +168,9 @@
*/
XAresult XARadioItfAdapt_GetSignalStrength(XAuint32 * pStrength)
{
- XAresult ret = XA_RESULT_SUCCESS;
- DEBUG_API("->XARadioItfAdapt_GetSignalStrength");
- ret = get_signal_strength(cmmfradiobackendengine_init(), pStrength);
+ XAresult ret = XA_RESULT_SUCCESS;
+ DEBUG_API("->XARadioItfAdapt_GetSignalStrength");
+ ret = get_signal_strength(cmmfradiobackendengine_init(), pStrength);
DEBUG_API("<-XARadioItfAdapt_GetSignalStrength");
return ret;
}
@@ -177,11 +180,9 @@
*/
XAresult XARadioItfAdapt_Seek(XAAdaptationMMFCtx *bCtx, XAboolean upwards)
{
- XAresult ret = XA_RESULT_SUCCESS;
-
- DEBUG_API("->XARadioItfAdapt_Seek");
- mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx);
- station_seek(cmmfradiobackendengine_init(), upwards);
+ XAresult ret = XA_RESULT_SUCCESS;
+ DEBUG_API("->XARadioItfAdapt_Seek");
+ station_seek(cmmfradiobackendengine_init(), bCtx, upwards);
DEBUG_API("<-XARadioItfAdapt_Seek");
return ret;
}
@@ -192,8 +193,7 @@
void XARadioItfAdapt_StopSeeking(XAAdaptationMMFCtx *bCtx)
{
DEBUG_API("->XARadioItfAdapt_StopSeeking");
- mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx);
- cancel_station_seek(cmmfradiobackendengine_init());
+ cancel_station_seek(cmmfradiobackendengine_init());
DEBUG_API("<-XARadioItfAdapt_StopSeeking");
}
@@ -202,9 +202,9 @@
*/
XAresult XARadioItfAdapt_GetStereoMode(XAuint32 * pMode)
{
- XAresult ret = XA_RESULT_SUCCESS;
- DEBUG_API("->XARadioItfAdapt_GetStereoMode");
- ret = get_stereo_mode(cmmfradiobackendengine_init(), pMode);
+ XAresult ret = XA_RESULT_SUCCESS;
+ DEBUG_API("->XARadioItfAdapt_GetStereoMode");
+ ret = get_stereo_mode(cmmfradiobackendengine_init(), pMode);
DEBUG_API("<-XARadioItfAdapt_GetStereoMode");
return ret;
}
@@ -215,100 +215,138 @@
void XARadioItfAdapt_Free()
{
DEBUG_API("->XARadioItfAdapt_Free");
-
}
void XARadioItfAdapt_SeekComplete(XAAdaptationBaseCtx *ctx, TInt aError, TInt aFrequency)
{
- XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_SEEK_COMPLETE,1,0};
- if (ctx)
+ XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_SEEK_COMPLETE,1,0};
+ if (ctx)
{
- if (aError)
- {
- event.data = &aError;
- }
- else
- {
- event.data = &aFrequency;
- }
-
- XAAdaptationBase_SendAdaptEvents(ctx, &event );
- }
+ if (aError)
+ {
+ event.data = &aError;
+ }
+ else
+ {
+ event.data = &aFrequency;
+ }
+ XAAdaptationBase_SendAdaptEvents(ctx, &event );
+ }
}
void XARadioItfAdapt_FrequencyChange(XAAdaptationBaseCtx *ctx, TInt aFrequency)
{
- // Currently: Bug in FM Radio Utility: SetFrequency calls this callback as well as SetFrequencyComplete
- // (So client will end up getting 2 events on a SetFrequency call)
- XAuint32 freq = aFrequency;
- XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_CHANGED,1,0};
- if (ctx)
+ // Currently: Bug in FM Radio Utility: SetFrequency calls this callback as well as SetFrequencyComplete
+ // (So client will end up getting 2 events on a SetFrequency call)
+ XAuint32 freq = aFrequency;
+ XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_CHANGED,1,0};
+ if (ctx)
{
- event.data = &freq;
- XAAdaptationBase_SendAdaptEvents(ctx, &event );
- }
+ event.data = &freq;
+ XAAdaptationBase_SendAdaptEvents(ctx, &event );
+ }
}
void XARadioItfAdapt_FrequencyRangeChange(XAAdaptationBaseCtx* ctx, TInt aFreqRangeChange)
{
- // Currently: Bug in FM Radio Utility: SetFrequencyRange triggers this callback as well as SetFrequencyRangeComplete
-
+ // Currently: Bug in FM Radio Utility: SetFrequencyRange triggers this callback as well as SetFrequencyRangeComplete
/* XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED,1,0};
if (baseCtx)
{
event.data = &aFreqRangeChange;
XAAdaptationBase_SendAdaptEvents(&baseCtx->baseObj, &event );
}
- */
+ */
}
void XARadioItfAdapt_SetFrequencyComplete(XAAdaptationBaseCtx *ctx, TInt aError, TInt aFrequency)
{
- // Currently: Qt API has no event for SetFrequencyComplete, so must use this one:
- XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_CHANGED,1,0};
- XAuint32 freq = aFrequency;
- if (ctx)
+ // Currently: Qt API has no event for SetFrequencyComplete, so must use this one:
+ XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_CHANGED,1,0};
+ XAuint32 freq = aFrequency;
+ if (ctx)
{
- if (!aError)
- {
- event.data = &freq;
- }
- else
- {
- event.data = &aError;
- }
- XAAdaptationBase_SendAdaptEvents(ctx, &event );
- }
+ if (!aError)
+ {
+ event.data = &freq;
+ }
+ else
+ {
+ event.data = &aError;
+ }
+ XAAdaptationBase_SendAdaptEvents(ctx, &event );
+ }
}
void XARadioItfAdapt_SetFrequencyRangeComplete(XAAdaptationBaseCtx *ctx, TInt aError)
{
- XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED,1,0};
- if (ctx)
+ XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED,1,0};
+ if (ctx)
{
- event.data = &aError;
- XAAdaptationBase_SendAdaptEvents(ctx, &event );
- }
+ event.data = &aError;
+ XAAdaptationBase_SendAdaptEvents(ctx, &event );
+ }
}
void XARadioItfAdapt_StereoStatusChange(XAAdaptationBaseCtx *ctx, XAboolean aStereoStatus)
{
- XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_STEREO_STATUS_CHANGED,1,0};
- DEBUG_INFO_A1("XARadioItfAdapt_StereoStatusChange to: %s", aStereoStatus);
- if (ctx)
+ XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_STEREO_STATUS_CHANGED,1,0};
+ DEBUG_INFO_A1("XARadioItfAdapt_StereoStatusChange to: %s", aStereoStatus);
+ if (ctx)
{
- event.data = &aStereoStatus;
- XAAdaptationBase_SendAdaptEvents(ctx, &event );
- }
+ event.data = &aStereoStatus;
+ XAAdaptationBase_SendAdaptEvents(ctx, &event );
+ }
}
void XARadioItfAdapt_SignalStrengthChange(XAAdaptationBaseCtx *ctx, TInt aSignalStrength)
{
- XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_SIGNAL_STRENGTH_CHANGED,1,0};
- DEBUG_INFO_A1("XARadioItfAdapt_SignalStrengthChange to: %s", aSignalStrength);
- if (ctx)
+ XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_SIGNAL_STRENGTH_CHANGED,1,0};
+ DEBUG_INFO_A1("XARadioItfAdapt_SignalStrengthChange to: %s", aSignalStrength);
+ if (ctx)
+ {
+ event.data = &aSignalStrength;
+ XAAdaptationBase_SendAdaptEvents(ctx, &event );
+ }
+}
+
+void XARadioItfAdapt_StateChange(XAAdaptationBaseCtx *ctx, XAboolean aState)
+{
+ if (aState) // playing
+ {
+ XAAdaptEvent event = {XA_PLAYITFEVENTS, XA_PLAYEVENT_HEADMOVING, 1, 0};
+ XAAdaptationBase_SendAdaptEvents(ctx, &event);
+ }
+ else // idle
+ {
+ XAAdaptEvent event = {XA_PLAYITFEVENTS, XA_PLAYEVENT_HEADSTALLED, 1, 0};
+ XAAdaptationBase_SendAdaptEvents(ctx, &event);
+ }
+}
+
+void XARadioItfAdapt_VolumeChange(XAAdaptationBaseCtx *ctx, TInt aVolume)
{
- event.data = &aSignalStrength;
- XAAdaptationBase_SendAdaptEvents(ctx, &event );
- }
-}
+ XAAdaptEvent event =
+ {
+ XA_NOKIALINEARVOLITFEVENTS, XA_ADAPT_VOLUME_VOLUME_CHANGED, 1, 0
+ };
+ if (ctx)
+ {
+ event.data = &aVolume;
+ XAAdaptationBase_SendAdaptEvents(ctx, &event);
+ }
+ }
+
+
+void XARadioItfAdapt_MuteChange(XAAdaptationBaseCtx* ctx, XAboolean aMute)
+ {
+ XAAdaptEvent event =
+ {
+ XA_NOKIAEXTVOLITFEVENTS, XA_ADAPT_VOLUME_MUTE_CHANGED, 1, 0
+ };
+ if (ctx)
+ {
+ event.data = &aMute;
+ XAAdaptationBase_SendAdaptEvents(ctx, &event);
+ }
+ }