コード例 #1
0
    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);
        }
    }
}
コード例 #2
0
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);
}
コード例 #3
0
ファイル: room-list-chan.c プロジェクト: GNOME/folks
static void
room_list_chan_close (TpBaseChannel *channel)
{
  tp_base_channel_destroyed (channel);
}