static void fetion_im_channel_close (TpBaseChannel *self) { GObject *object = (GObject *) self; if (!tp_base_channel_is_destroyed (self)) { TpHandle first_sender; /* The manager wants to be able to respawn the channel if it has pending * messages. When respawned, the channel must have the initiator set * to the contact who sent us those messages (if it isn't already), * and the messages must be marked as having been rescued so they * don't get logged twice. */ if (tp_message_mixin_has_pending_messages (object, &first_sender)) { tp_message_mixin_set_rescued (object); tp_base_channel_reopened (self, first_sender); } else { tp_base_channel_destroyed (self); } } }
static void gabble_server_sasl_channel_close (TpBaseChannel *channel) { GabbleServerSaslChannel *self = GABBLE_SERVER_SASL_CHANNEL (channel); GabbleServerSaslChannelPrivate *priv = self->priv; DEBUG ("called on %p", self); if (priv->result != NULL) { GSimpleAsyncResult *r = priv->result; DEBUG ("closed channel"); priv->result = NULL; g_simple_async_result_set_error (r, WOCKY_AUTH_ERROR, WOCKY_AUTH_ERROR_FAILURE, "%s", "Client aborted authentication."); g_simple_async_result_complete_in_idle (r); g_object_unref (r); } tp_base_channel_destroyed (channel); }
static void room_list_chan_close (TpBaseChannel *channel) { tp_base_channel_destroyed (channel); }