[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