diff options
author | Carlo Lobrano <c.lobrano@gmail.com> | 2015-12-04 09:06:40 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2015-12-04 10:59:28 +0100 |
commit | 14e47710561b2021b79814afa5ecd6b2abc4fad0 (patch) | |
tree | d8ebca6b120f9a08bf4f94c5bfe3ef4bf59d567e | |
parent | 4c036eb8f96cae06da1f968fb9eb48f6faa12796 (diff) |
telit: add modem_power_down to telit plugin
-rw-r--r-- | plugins/telit/mm-broadband-modem-telit.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/plugins/telit/mm-broadband-modem-telit.c b/plugins/telit/mm-broadband-modem-telit.c index 971e85e7..f4fe03cd 100644 --- a/plugins/telit/mm-broadband-modem-telit.c +++ b/plugins/telit/mm-broadband-modem-telit.c @@ -40,6 +40,30 @@ G_DEFINE_TYPE_EXTENDED (MMBroadbandModemTelit, mm_broadband_modem_telit, MM_TYPE G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_3GPP, iface_modem_3gpp_init)); /*****************************************************************************/ +/* Modem power down (Modem interface) */ + +static gboolean +modem_power_down_finish (MMIfaceModem *self, + GAsyncResult *res, + GError **error) +{ + return !!mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, error); +} + +static void +modem_power_down (MMIfaceModem *self, + GAsyncReadyCallback callback, + gpointer user_data) +{ + mm_base_modem_at_command (MM_BASE_MODEM (self), + "+CFUN=4", + 20, + FALSE, + callback, + user_data); +} + +/*****************************************************************************/ /* Load access technologies (Modem interface) */ static gboolean @@ -289,6 +313,8 @@ mm_broadband_modem_telit_init (MMBroadbandModemTelit *self) static void iface_modem_init (MMIfaceModem *iface) { + iface->modem_power_down = modem_power_down; + iface->modem_power_down_finish = modem_power_down_finish; iface->load_access_technologies = load_access_technologies; iface->load_access_technologies_finish = load_access_technologies_finish; iface->setup_flow_control = setup_flow_control; |