[Telepathy-commits] [telepathy-salut/master] file-transfer-channel: handle NOT_FOUND FT error
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Thu Nov 6 04:54:04 PST 2008
---
src/salut-file-transfer-channel.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/src/salut-file-transfer-channel.c b/src/salut-file-transfer-channel.c
index e4c5b3e..b77a708 100644
--- a/src/salut-file-transfer-channel.c
+++ b/src/salut-file-transfer-channel.c
@@ -861,6 +861,23 @@ error_cb (GibberFileTransfer *ft,
const gchar *message,
SalutFileTransferChannel *self)
{
+ TpBaseConnection *base_conn = (TpBaseConnection *) self->priv->connection;
+ gboolean receiver;
+
+ receiver = (self->priv->initiator != base_conn->self_handle);
+
+ if (domain == GIBBER_FILE_TRANSFER_ERROR && code ==
+ GIBBER_FILE_TRANSFER_ERROR_NOT_FOUND)
+ {
+ salut_file_transfer_channel_set_state (
+ SALUT_SVC_CHANNEL_TYPE_FILE_TRANSFER (self),
+ SALUT_FILE_TRANSFER_STATE_CANCELLED,
+ receiver ?
+ SALUT_FILE_TRANSFER_STATE_CHANGE_REASON_LOCAL_ERROR :
+ SALUT_FILE_TRANSFER_STATE_CHANGE_REASON_REMOTE_ERROR);
+ }
+
+ /* TODO: handle other errors */
}
static void
--
1.5.6.5
More information about the Telepathy-commits
mailing list