aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-07-19 15:47:43 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-08-06 20:07:25 +0200
commit6c0f14132b8f6a12e8535cb95961eeb78cf8342f (patch)
treed3657665abf8cc65d4fe6d92ba21f9e60eff3bd3 /plugins
parenta105ffa7b73b2e1f27b759e8c67dfec9a19c9b04 (diff)
icera: implement network time retrieval
Diffstat (limited to 'plugins')
-rw-r--r--plugins/icera/mm-iface-icera.c30
-rw-r--r--plugins/icera/mm-iface-icera.h7
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);