diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2016-08-09 10:35:05 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2016-10-12 11:29:52 +0200 |
commit | 5d2e89e7129fadc92474fc55a87a84f7e6c98e12 (patch) | |
tree | 9b089817dc0fe4e970dbd234d28c04a0e47c96f6 | |
parent | 151d608eec4c7728551e03c9b375306c147042b4 (diff) |
ublox: implement power state loading
-rw-r--r-- | plugins/ublox/mm-broadband-modem-ublox.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/plugins/ublox/mm-broadband-modem-ublox.c b/plugins/ublox/mm-broadband-modem-ublox.c index 4ccf2d50..ee6d3b72 100644 --- a/plugins/ublox/mm-broadband-modem-ublox.c +++ b/plugins/ublox/mm-broadband-modem-ublox.c @@ -116,6 +116,36 @@ load_supported_modes (MMIfaceModem *self, } /*****************************************************************************/ +/* Power state loading (Modem interface) */ + +static MMModemPowerState +load_power_state_finish (MMIfaceModem *self, + GAsyncResult *res, + GError **error) +{ + MMModemPowerState state = MM_MODEM_POWER_STATE_UNKNOWN; + const gchar *response; + + response = mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, error); + if (response) + mm_ublox_parse_cfun_response (response, &state, error); + return state; +} + +static void +load_power_state (MMIfaceModem *self, + GAsyncReadyCallback callback, + gpointer user_data) +{ + mm_base_modem_at_command (MM_BASE_MODEM (self), + "+CFUN?", + 3, + FALSE, + callback, + user_data); +} + +/*****************************************************************************/ /* Create Bearer (Modem interface) */ typedef enum { @@ -394,6 +424,8 @@ iface_modem_init (MMIfaceModem *iface) { iface->create_bearer = modem_create_bearer; iface->create_bearer_finish = modem_create_bearer_finish; + iface->load_power_state = load_power_state; + iface->load_power_state_finish = load_power_state_finish; iface->load_supported_modes = load_supported_modes; iface->load_supported_modes_finish = load_supported_modes_finish; iface->load_current_modes = load_current_modes; |