diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-07-19 15:47:43 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-08-06 20:07:25 +0200 |
commit | 6c0f14132b8f6a12e8535cb95961eeb78cf8342f (patch) | |
tree | d3657665abf8cc65d4fe6d92ba21f9e60eff3bd3 /plugins | |
parent | a105ffa7b73b2e1f27b759e8c67dfec9a19c9b04 (diff) |
icera: implement network time retrieval
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/icera/mm-iface-icera.c | 30 | ||||
-rw-r--r-- | plugins/icera/mm-iface-icera.h | 7 |
2 files changed, 37 insertions, 0 deletions
diff --git a/plugins/icera/mm-iface-icera.c b/plugins/icera/mm-iface-icera.c index 01d5cb18..941f5282 100644 --- a/plugins/icera/mm-iface-icera.c +++ b/plugins/icera/mm-iface-icera.c @@ -751,6 +751,36 @@ mm_iface_icera_modem_time_load_network_timezone (MMIfaceModemTime *self, /*****************************************************************************/ +gchar * +mm_iface_icera_modem_time_load_network_time_finish (MMIfaceModemTime *self, + GAsyncResult *res, + GError **error) +{ + const gchar *response; + gchar *iso8601; + + response = mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, error); + if (!response) + return NULL; + + return (parse_tlts_query_reply (response, &iso8601, NULL, error) ? iso8601 : NULL); +} + +void +mm_iface_icera_modem_time_load_network_time (MMIfaceModemTime *self, + GAsyncReadyCallback callback, + gpointer user_data) +{ + mm_base_modem_at_command (MM_BASE_MODEM (self), + "%TLTS", + 3, + FALSE, + callback, + user_data); +} + +/*****************************************************************************/ + static void iface_icera_init (gpointer g_iface) { diff --git a/plugins/icera/mm-iface-icera.h b/plugins/icera/mm-iface-icera.h index 3ba32d37..f056b5ab 100644 --- a/plugins/icera/mm-iface-icera.h +++ b/plugins/icera/mm-iface-icera.h @@ -103,6 +103,13 @@ gboolean mm_iface_icera_modem_3gpp_disable_unsolicited_events_finish (MMIfaceMod /*****************************************************************************/ /* Modem Time interface specific implementations */ +void mm_iface_icera_modem_time_load_network_time (MMIfaceModemTime *self, + GAsyncReadyCallback callback, + gpointer user_data); +gchar *mm_iface_icera_modem_time_load_network_time_finish (MMIfaceModemTime *self, + GAsyncResult *res, + GError **error); + void mm_iface_icera_modem_time_load_network_timezone (MMIfaceModemTime *self, GAsyncReadyCallback callback, gpointer user_data); |