Re: [PATCH 5/7] time: implement ModemTime in ModemBase
- From: Aleksander Morgado <aleksander lanedo com>
- To: ttuttle <ttuttle chromium org>
- Cc: networkmanager-list gnome org
- Subject: Re: [PATCH 5/7] time: implement ModemTime in ModemBase
- Date: Mon, 23 Jan 2012 17:26:28 +0100
>> If you just need to store a signed integer as the value of an entry in
>> the hash table, you can better use GINT_TO_POINTER (integer) and
>> GPOINTER_TO_INT (pointer), instead of packing the integer into a GValue.
>
> I need it in a format that DBus will be okay with -- NetworkTimezone
> is defined as a{sv}, and the glib datatype for a variant (v) is
> GValue, right?
>
Ah, you're really exporting the HT with dbus-glib... then yes, better to
have a GValue in there and define the type with dbus_g_type_get_map
("GHashTable", G_TYPE_STRING, G_TYPE_VALUE)
Newer GDBus-based code in GLib uses the `GVariant' type instead, which
has a much better relationship with DBus variants.
>>> +
>>> /*************************************************************************/
>>> static void
>>> card_info_simple_invoke (MMCallbackInfo *info)
>>> @@ -693,6 +744,36 @@ modem_auth_finish (MMModem *modem, MMAuthRequest *req, GError **error)
>>> /*****************************************************************************/
>>>
>>> static void
>>> +get_network_time_invoke (MMCallbackInfo *info)
>>> +{
>>> + MMModemTimeGetNetworkTimeFn callback = (MMModemTimeGetNetworkTimeFn) info->callback;
>>> + MMModemTime *modem = MM_MODEM_TIME (info->modem);
>>> + char *network_time = (char *) mm_callback_info_get_result (info);
>>> +
>>> + callback (modem, network_time, info->error, info->user_data);
>>> +}
>>> +
>>> +static void
>>> +get_network_time (MMModemTime *modem,
>>> + MMModemTimeGetNetworkTimeFn callback,
>>> + gpointer user_data)
>>> +{
>>> + MMModemBase *self = MM_MODEM_BASE (modem);
>>> + MMCallbackInfo *info;
>>> +
>>> + char *network_time = g_strdup("");
>>> +
>>> + info = mm_callback_info_new_full (MM_MODEM (self),
>>> + get_network_time_invoke,
>>> + G_CALLBACK (callback),
>>> + user_data);
>>> + mm_callback_info_set_result (info, network_time, g_free);
>>> + mm_callback_info_schedule (info);
>>> +}
>>
>> Given that the network time will be reported upon request, I would
>> really just return a "not implemented" error instead of the empty string
>> when the network time query is not implemented.
>
> That's a good point. I'll just drop this implementation and let
> modems that support it fill it in?
Yeah, I would do that.
--
Aleksander
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]