[telepathy-gabble/telepathy-gabble-0.8] Pass termination reason text to session_terminate()

Will Thompson will.thompson at collabora.co.uk
Mon Sep 28 14:38:24 PDT 2009


---
 src/jingle-factory.c |    2 +-
 src/jingle-session.c |    6 ++++--
 src/jingle-session.h |    4 +++-
 src/media-channel.c  |    7 ++++---
 4 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/jingle-factory.c b/src/jingle-factory.c
index 418ff15..1dbf23a 100644
--- a/src/jingle-factory.c
+++ b/src/jingle-factory.c
@@ -816,7 +816,7 @@ REQUEST_ERROR:
 
   if (sess != NULL && new_session)
     gabble_jingle_session_terminate (sess, TP_CHANNEL_GROUP_CHANGE_REASON_NONE,
-        NULL);
+        NULL, NULL);
 
   return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
diff --git a/src/jingle-session.c b/src/jingle-session.c
index adeee06..ba33641 100644
--- a/src/jingle-session.c
+++ b/src/jingle-session.c
@@ -933,7 +933,7 @@ on_session_initiate (GabbleJingleSession *sess, LmMessageNode *node,
       /* We ignore initiate from us, and terminate the session immediately
        * afterwards */
       gabble_jingle_session_terminate (sess,
-          TP_CHANNEL_GROUP_CHANGE_REASON_BUSY, NULL);
+          TP_CHANNEL_GROUP_CHANGE_REASON_BUSY, NULL, NULL);
       return;
     }
 
@@ -1961,6 +1961,7 @@ _get_jingle_reason (GabbleJingleSession *sess,
 gboolean
 gabble_jingle_session_terminate (GabbleJingleSession *sess,
                                  TpChannelGroupChangeReason reason,
+                                 const gchar *text,
                                  GError **error)
 {
   GabbleJingleSessionPrivate *priv = sess->priv;
@@ -2052,7 +2053,8 @@ content_removed_cb (GabbleJingleContent *c, gpointer user_data)
 
   if (count_active_contents (sess) == 0)
     {
-      gabble_jingle_session_terminate (sess, TP_CHANNEL_GROUP_CHANGE_REASON_NONE, NULL);
+      gabble_jingle_session_terminate (sess,
+          TP_CHANNEL_GROUP_CHANGE_REASON_NONE, NULL, NULL);
     }
   else
     {
diff --git a/src/jingle-session.h b/src/jingle-session.h
index 5c25eb4..4dd735f 100644
--- a/src/jingle-session.h
+++ b/src/jingle-session.h
@@ -95,7 +95,9 @@ LmMessage *gabble_jingle_session_new_message (GabbleJingleSession *sess,
 
 void gabble_jingle_session_accept (GabbleJingleSession *sess);
 gboolean gabble_jingle_session_terminate (GabbleJingleSession *sess,
-    TpChannelGroupChangeReason reason, GError **error);
+    TpChannelGroupChangeReason reason,
+    const gchar *text,
+    GError **error);
 void gabble_jingle_session_remove_content (GabbleJingleSession *sess,
     GabbleJingleContent *c);
 
diff --git a/src/media-channel.c b/src/media-channel.c
index 4f4f00f..5199f80 100644
--- a/src/media-channel.c
+++ b/src/media-channel.c
@@ -921,7 +921,7 @@ gabble_media_channel_close (GabbleMediaChannel *self)
 
       if (priv->session != NULL)
         gabble_jingle_session_terminate (priv->session,
-            TP_CHANNEL_GROUP_CHANGE_REASON_NONE, NULL);
+            TP_CHANNEL_GROUP_CHANGE_REASON_NONE, NULL, NULL);
 
       tp_svc_channel_emit_closed (self);
     }
@@ -2238,7 +2238,8 @@ gabble_media_channel_remove_member (GObject *obj,
       /* Terminate can fail if the UI provides a reason that makes no sense,
        * like Invited.
        */
-      if (!gabble_jingle_session_terminate (priv->session, reason, error))
+      if (!gabble_jingle_session_terminate (priv->session, reason, message,
+              error))
         {
           g_object_unref (chan);
           return FALSE;
@@ -2450,7 +2451,7 @@ stream_error_cb (GabbleMediaStream *stream,
        */
       DEBUG ("Terminating call in response to stream error");
       gabble_jingle_session_terminate (priv->session,
-          TP_CHANNEL_GROUP_CHANGE_REASON_ERROR, NULL);
+          TP_CHANNEL_GROUP_CHANGE_REASON_ERROR, message, NULL);
     }
 
   g_list_free (contents);
-- 
1.5.6.5




More information about the telepathy-commits mailing list