diff options
Diffstat (limited to 'src/mm-base-call.c')
-rw-r--r-- | src/mm-base-call.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mm-base-call.c b/src/mm-base-call.c index cab4bdc0..a90002db 100644 --- a/src/mm-base-call.c +++ b/src/mm-base-call.c @@ -40,6 +40,7 @@ enum { PROP_PATH, PROP_CONNECTION, PROP_MODEM, + PROP_SKIP_INCOMING_TIMEOUT, PROP_SUPPORTS_DIALING_TO_RINGING, PROP_SUPPORTS_RINGING_TO_ACTIVE, PROP_LAST @@ -55,6 +56,7 @@ struct _MMBaseCallPrivate { /* The path where the call object is exported */ gchar *path; /* Features */ + gboolean skip_incoming_timeout; gboolean supports_dialing_to_ringing; gboolean supports_ringing_to_active; @@ -164,6 +166,9 @@ incoming_timeout_cb (MMBaseCall *self) void mm_base_call_incoming_refresh (MMBaseCall *self) { + if (self->priv->skip_incoming_timeout) + return; + if (self->priv->incoming_timeout) g_source_remove (self->priv->incoming_timeout); self->priv->incoming_timeout = g_timeout_add_seconds (INCOMING_TIMEOUT_SECS, (GSourceFunc)incoming_timeout_cb, self); @@ -1162,6 +1167,9 @@ set_property (GObject *object, G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE); } break; + case PROP_SKIP_INCOMING_TIMEOUT: + self->priv->skip_incoming_timeout = g_value_get_boolean (value); + break; case PROP_SUPPORTS_DIALING_TO_RINGING: self->priv->supports_dialing_to_ringing = g_value_get_boolean (value); break; @@ -1192,6 +1200,9 @@ get_property (GObject *object, case PROP_MODEM: g_value_set_object (value, self->priv->modem); break; + case PROP_SKIP_INCOMING_TIMEOUT: + g_value_set_boolean (value, self->priv->skip_incoming_timeout); + break; case PROP_SUPPORTS_DIALING_TO_RINGING: g_value_set_boolean (value, self->priv->supports_dialing_to_ringing); break; @@ -1296,6 +1307,14 @@ mm_base_call_class_init (MMBaseCallClass *klass) G_PARAM_READWRITE); g_object_class_install_property (object_class, PROP_MODEM, properties[PROP_MODEM]); + properties[PROP_SKIP_INCOMING_TIMEOUT] = + g_param_spec_boolean (MM_BASE_CALL_SKIP_INCOMING_TIMEOUT, + "Skip incoming timeout", + "There is no need to setup a timeout for incoming calls", + FALSE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); + g_object_class_install_property (object_class, PROP_SKIP_INCOMING_TIMEOUT, properties[PROP_SKIP_INCOMING_TIMEOUT]); + properties[PROP_SUPPORTS_DIALING_TO_RINGING] = g_param_spec_boolean (MM_BASE_CALL_SUPPORTS_DIALING_TO_RINGING, "Dialing to ringing", |