/** Disconnect from call service */ static void ring_media_manager_disconnect(RingMediaManager *self) { RingMediaManagerPrivate *priv = self->priv; ring_signal_disconnect (priv->call_service, &priv->signals.incoming); ring_signal_disconnect (priv->call_service, &priv->signals.created); ring_signal_disconnect (priv->call_service, &priv->signals.user_connection); ring_signal_disconnect (priv->call_service, &priv->signals.emergency_numbers); g_hash_table_foreach (priv->channels, foreach_dispose, NULL); g_hash_table_remove_all (priv->channels); if (priv->call_service) g_object_unref (priv->call_service); priv->call_service = NULL; }
static void ring_text_manager_dispose(GObject *object) { RingTextManager *self = RING_TEXT_MANAGER(object); RingTextManagerPrivate *priv = self->priv; ring_signal_disconnect (priv->connection, &priv->signals.status_changed); ring_text_manager_disconnect (self); g_hash_table_foreach (priv->channels, foreach_dispose, NULL); g_hash_table_remove_all (priv->channels); G_OBJECT_CLASS(ring_text_manager_parent_class)->dispose(object); }
static void ring_media_manager_dispose(GObject *object) { RingMediaManager *self = RING_MEDIA_MANAGER(object); RingMediaManagerPrivate *priv = self->priv; if (priv->dispose_has_run) return; priv->dispose_has_run = TRUE; ring_signal_disconnect (priv->connection, &priv->signals.status_changed); ring_media_manager_disconnect (self); g_object_run_dispose (G_OBJECT (priv->tones)); ((GObjectClass *) ring_media_manager_parent_class)->dispose(object); }
static void ring_text_manager_disconnect (RingTextManager *self) { RingTextManagerPrivate *priv = self->priv; ModemSMSService *sms = priv->sms_service; ring_signal_disconnect (sms, &priv->signals.incoming_message); ring_signal_disconnect (sms, &priv->signals.immediate_message); ring_signal_disconnect (sms, &priv->signals.outgoing_sms_complete); ring_signal_disconnect (sms, &priv->signals.outgoing_sms_error); ring_signal_disconnect (sms, &priv->signals.receiving_sms_status_report); #if nomore ring_signal_disconnect (sms, &priv->signals.receiving_sms_deliver); ring_signal_disconnect (sms, &priv->signals.outgoing_sms_complete); ring_signal_disconnect (sms, &priv->signals.outgoing_sms_error); #endif if (priv->sms_service) g_object_unref (priv->sms_service); priv->sms_service = NULL; }