[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