diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2013-01-01 12:09:27 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-01-11 10:05:46 +0100 |
commit | 091c47d695bf48541c49e8d5e07647d0901e367b (patch) | |
tree | b20eaa57b0ee1e774b32bf14de698f3f5e22c92e /libmm-glib/mm-modem.c | |
parent | eec5d00a97582830baf7e0458f483ffc04398da0 (diff) |
libmm-glib,modem: new methods to handle the power state
Diffstat (limited to 'libmm-glib/mm-modem.c')
-rw-r--r-- | libmm-glib/mm-modem.c | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/libmm-glib/mm-modem.c b/libmm-glib/mm-modem.c index b575a300..f6aaeebe 100644 --- a/libmm-glib/mm-modem.c +++ b/libmm-glib/mm-modem.c @@ -817,6 +817,24 @@ mm_modem_get_state (MMModem *self) /*****************************************************************************/ /** + * mm_modem_get_power_state: + * @self: A #MMModem. + * + * Gets the power state of the #MMModem. + * + * Returns: A #MMModemPowerState value. + */ +MMModemPowerState +mm_modem_get_power_state (MMModem *self) +{ + g_return_val_if_fail (MM_IS_MODEM (self), MM_MODEM_POWER_STATE_UNKNOWN); + + return (MMModemPowerState) mm_gdbus_modem_get_power_state (MM_GDBUS_MODEM (self)); +} + +/*****************************************************************************/ + +/** * mm_modem_get_access_technology: * @self: A #MMModem. * @@ -2068,6 +2086,82 @@ mm_modem_command_sync (MMModem *self, /*****************************************************************************/ /** + * mm_modem_set_power_state_finish: + * @self: A #MMModem. + * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mm_modem_set_power_state(). + * @error: Return location for error or %NULL. + * + * Finishes an operation started with mm_modem_set_power_state(). + * + * Returns: %TRUE if the power state was successfully set, %FALSE if @error is set. + */ +gboolean +mm_modem_set_power_state_finish (MMModem *self, + GAsyncResult *res, + GError **error) +{ + g_return_val_if_fail (MM_IS_MODEM (self), FALSE); + + return mm_gdbus_modem_call_set_power_state_finish (MM_GDBUS_MODEM (self), res, error); +} + +/** + * mm_modem_set_power_state: + * @self: A #MMModem. + * @state: Either %MM_MODEM_POWER_STATE_LOW or %MM_MODEM_POWER_STATE_ON. Every other #MMModemPowerState value is not allowed. + * @cancellable: (allow-none): A #GCancellable or %NULL. + * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. + * @user_data: User data to pass to @callback. + * + * Asynchronously sets the power state of the device. This method can only be + * used while the modem is in %MM_MODEM_STATE_DISABLED state. + * + * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. + * You can then call mm_modem_set_power_state_finish() to get the result of the operation. + * + * See mm_modem_set_power_state_sync() for the synchronous, blocking version of this method. + */ +void +mm_modem_set_power_state (MMModem *self, + MMModemPowerState state, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_return_if_fail (MM_IS_MODEM (self)); + + mm_gdbus_modem_call_set_power_state (MM_GDBUS_MODEM (self), state, cancellable, callback, user_data); +} + +/** + * mm_modem_set_power_state_sync: + * @self: A #MMModem. + * @state: Either %MM_MODEM_POWER_STATE_LOW or %MM_MODEM_POWER_STATE_ON. Every other #MMModemPowerState value is not allowed. + * @cancellable: (allow-none): A #GCancellable or %NULL. + * @error: Return location for error or %NULL. + * + * Synchronously sets the power state of the device. This method can only be + * used while the modem is in %MM_MODEM_STATE_DISABLED state. + * + * The calling thread is blocked until a reply is received. See mm_modem_set_power_state() + * for the asynchronous version of this method. + * + * Returns: %TRUE if the power state was successfully set, %FALSE if @error is set. + */ +gboolean +mm_modem_set_power_state_sync (MMModem *self, + MMModemPowerState state, + GCancellable *cancellable, + GError **error) +{ + g_return_val_if_fail (MM_IS_MODEM (self), FALSE); + + return mm_gdbus_modem_call_set_power_state_sync (MM_GDBUS_MODEM (self), state, cancellable, error); +} + +/*****************************************************************************/ + +/** * mm_modem_set_allowed_modes_finish: * @self: A #MMModem. * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mm_modem_set_allowed_modes(). |