diff options
-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); |