Hi Guillaume,
On 01/10/2012 07:43 AM, Guillaume Zajac wrote:
> Hi Marcel and Denis,
>
>>>>> struct speedup_data {
>>>>> GAtChat *modem;
>>>>> GAtChat *aux;
>>>>> gboolean have_sim;
>>>>> struct at_util_sim_state_query *sim_state_query;
>>>>> + gboolean have_gsm;
>>>>> + gboolean have_cdma;
>>>> It might be a good idea to use a single gboolean, or better yet an enum
>>>> here instead. There's no point to waste 8 bytes when a single byte
>>>> can do.
>>> I did this on purpose for the Huawei driver. We can unify this later on,
>>> but at this moment I rather see what is actually happening.
>>>
>>> Since we keep parsing all capabilities, I wanna avoid that a later one
>>> overwrites a previous one. That said, just using some flags would be
>>> better anyway. Especially since we also always have have_sim as well.
>>>
>>> However that can be done as a further optimization in the Speedup and
>>> Huawei drivers.
>>>
>> A flagged enum is indeed what I had in mind when I wrote this. But fair
>> enough on your reasoning
>
> As we are starting thinking about tweaking SIM atom to make it work with
> CDMA modem,
> maybe having quickly the flagged enum would be helpful to distinguish if
> it is a CDMA or GSM modem that is asking for the SIM atom creation.
>
> Then where should this enum modem_type take place?
> Should we tweak the already existing one into modem.h in replacing:
>
> OFONO_MODEM_TYPE_HARDWARE = 0,
> OFONO_MODEM_TYPE_HFP,
> OFONO_MODEM_TYPE_SAP,
>
> by
>
> OFONO_MODEM_TYPE_UNKNOWN_HARDWARE = 0,
> OFONO_MODEM_TYPE_GSM_HARDWARE = 1,
> OFONO_MODEM_TYPE_CDMA_HARDWARE = 2,
> OFONO_MODEM_TYPE_HFP = 4,
> OFONO_MODEM_TYPE_SAP = 8,
>
> Then we have just to specify the modem_type in creating the SIM atom to
> use its limited functionnalities when we have CDMA modem
> e.g. manage only PIN protection.
No, the type information is a kludge that will hamper us in the end, so
I am against any such changes. Even the current modem_type enum took
some convincing and it is meant to be used as a hint for external
applications, not used internally by oFono core in any way.
Regards,
-Denis
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono