diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-07-19 15:41:37 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-08-06 20:07:26 +0200 |
commit | e70fea145e3c113a37e515d5511268dc8915c591 (patch) | |
tree | d13d39f98f418a44aae0a91cad6ffadc97e640dc | |
parent | 268db7fe0b29df8ab5962e8ebac89c6a0b3a9ebc (diff) |
samsung: user Icera-based timezone loading
-rw-r--r-- | plugins/icera/mm-iface-icera.c | 12 | ||||
-rw-r--r-- | plugins/samsung/mm-broadband-modem-samsung.c | 11 |
2 files changed, 19 insertions, 4 deletions
diff --git a/plugins/icera/mm-iface-icera.c b/plugins/icera/mm-iface-icera.c index aa588250..febe5377 100644 --- a/plugins/icera/mm-iface-icera.c +++ b/plugins/icera/mm-iface-icera.c @@ -665,7 +665,8 @@ void mm_iface_icera_modem_reset (MMIfaceModem *self, static gboolean parse_tlts_query_reply (const gchar *response, gchar **iso8601, - MMNetworkTimezone **tz) + MMNetworkTimezone **tz, + GError **error) { gint year; gint month; @@ -710,7 +711,11 @@ parse_tlts_query_reply (const gchar *response, return TRUE; } - mm_warn ("Unknown *TLTS response: %s", response); + g_set_error (error, + MM_CORE_ERROR, + MM_CORE_ERROR_FAILED, + "Unknown *TLTS response: %s", + response); return FALSE; } @@ -722,7 +727,6 @@ mm_iface_icera_modem_time_load_network_timezone_finish (MMIfaceModemTime *self, const gchar *response; MMNetworkTimezone *tz; - response = mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, NULL); if (!response) { /* We'll assume we can retry a bit later */ @@ -733,7 +737,7 @@ mm_iface_icera_modem_time_load_network_timezone_finish (MMIfaceModemTime *self, return NULL; } - return (parse_tlts_query_reply (response, NULL, &tz) ? tz : NULL); + return (parse_tlts_query_reply (response, NULL, &tz, error) ? tz : NULL); } void diff --git a/plugins/samsung/mm-broadband-modem-samsung.c b/plugins/samsung/mm-broadband-modem-samsung.c index d2ace40e..2a74f87c 100644 --- a/plugins/samsung/mm-broadband-modem-samsung.c +++ b/plugins/samsung/mm-broadband-modem-samsung.c @@ -29,18 +29,21 @@ #include "mm-iface-icera.h" #include "mm-iface-modem.h" #include "mm-iface-modem-3gpp.h" +#include "mm-iface-modem-time.h" #include "mm-modem-helpers.h" #include "mm-log.h" static void iface_icera_init (MMIfaceIcera *iface); static void iface_modem_init (MMIfaceModem *iface); static void iface_modem_3gpp_init (MMIfaceModem3gpp *iface); +static void iface_modem_time_init (MMIfaceModemTime *iface); static MMIfaceModem3gpp *iface_modem_3gpp_parent; G_DEFINE_TYPE_EXTENDED (MMBroadbandModemSamsung, mm_broadband_modem_samsung, MM_TYPE_BROADBAND_MODEM, 0, G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM, iface_modem_init) G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_3GPP, iface_modem_3gpp_init) + G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_TIME, iface_modem_time_init) G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_ICERA, iface_icera_init)); /*****************************************************************************/ @@ -726,6 +729,14 @@ iface_modem_init (MMIfaceModem *iface) } static void +iface_modem_time_init (MMIfaceModemTime *iface) +{ + /* Use default Icera implementation */ + iface->load_network_timezone = mm_iface_icera_modem_time_load_network_timezone; + iface->load_network_timezone_finish = mm_iface_icera_modem_time_load_network_timezone_finish; +} + +static void iface_icera_init (MMIfaceIcera *iface) { } |