Hi Rajesh,
On 12/03/2010 03:34 PM, Rajesh.Nagaiah(a)elektrobit.com wrote:
Hi Dara,
> -----Original Message-----
> From: ofono-bounces(a)ofono.org
> [mailto:ofono-bounces@ofono.org] On Behalf Of Dara Spieker-Doyle
> Sent: 03 December 2010 13:21
>>> +enum cdma_call_status {
>>> + CDMA_CALL_STATUS_ACTIVE = 0,
>>> + CDMA_CALL_STATUS_DIALING = 1,
>>> + CDMA_CALL_STATUS_ALERTING = 2,
>>> + CDMA_CALL_STATUS_INCOMING = 4,
>>
>> Should be 3 ?
>
> Yes indeed. I will fix this, thank you for catching it.
>
>>> + CDMA_CALL_STATUS_DISCONNECTED
>>> +};
>>
>> We can use the existing gsm call status itself ?
>> Just that we wont use the HELD and WAITING status in CDMA.
>
> In this early phase of CDMA support in oFono, we would like
> to evolve it in its own right for a while, per the offline
> conversation from the MeeGo Conference in Dublin. On a case
> by case basis, for items of large architectural impact, we
> intend to evaluate potential re-use upfront.
> The plan is to allow smaller items like this for now, until
> the related feature has matured sufficiently that they can be
> re-factored correctly if applicable.
I agree with the fact that we should evolve it in its own right.
But with these kind of straight forward cases, where the GSM values
are a superset of the CDMA values and these value definitions being
internal to ofono, we should try to to reuse the values rather than
creating new ones exclusive for CDMA.
Thats my view, Denis/Marcel any comments ?
So the general rule of thumb has been to use an int when a spec clearly
defines the meaning of the said int. E.g. call status int values have
very clear meaning from 27.007. If no such clear definition exists,
then an enum should be used.
So the question here becomes whether the CDMA modems all re-use the GSM
meanings / values for these states or not? If they do, then re-using
the GSM enum values makes sense.
If not, then using an enum defined in include/cdma-voicecall.h would be
better. One major benefit of defining a dedicated enum for CDMA is the
compiler checking that all enum values are being handled. If you re-use
the GSM version you would have to resort to using default statements.
This causes you to lose that extra compiler sanity checking, not to
mention is against rule M12 of the coding style. And yes I know we're
not always consistent with this one ;)
Regards,
-Denis