libmm-glib: set the gdbus timeout to a value longer than that remote operation timeout

Lets commands like "mmcli -m 0 --command-timeout=60 --command='+COPS=?'" work,
instead of tripping over the 25-second gdbus default timeout first.

Change-Id: I67034423ca5ab08a07ecf3c9e313082d4860ffb3
This commit is contained in:
Nathan Williams
2012-03-16 14:53:18 +01:00
committed by Aleksander Morgado
parent 6f22eb6a63
commit b6203ab425
+18 -6
View File
@@ -1458,14 +1458,19 @@ mm_modem_command (MMModem *self,
GAsyncReadyCallback callback,
gpointer user_data)
{
gint old_timeout;
g_return_if_fail (MM_GDBUS_IS_MODEM (self));
old_timeout = g_dbus_proxy_get_default_timeout (G_DBUS_PROXY (self));
g_dbus_proxy_set_default_timeout (G_DBUS_PROXY (self), (timeout + 1) * 1000);
mm_gdbus_modem_call_command (self,
cmd,
timeout,
cancellable,
callback,
user_data);
g_dbus_proxy_set_default_timeout (G_DBUS_PROXY (self), old_timeout);
}
gchar *
@@ -1494,15 +1499,22 @@ mm_modem_command_sync (MMModem *self,
GError **error)
{
gchar *result;
gboolean success;
gint old_timeout;
g_return_val_if_fail (MM_GDBUS_IS_MODEM (self), NULL);
if (!mm_gdbus_modem_call_command_sync (self,
cmd,
timeout,
&result,
cancellable,
error))
old_timeout = g_dbus_proxy_get_default_timeout (G_DBUS_PROXY (self));
g_dbus_proxy_set_default_timeout (G_DBUS_PROXY (self), (timeout + 1) * 1000);
success = mm_gdbus_modem_call_command_sync (self,
cmd,
timeout,
&result,
cancellable,
error);
g_dbus_proxy_set_default_timeout (G_DBUS_PROXY (self), old_timeout);
if (!success)
return NULL;
return result;