[telepathy-gabble/master] Add reason to JingleSession:terminated signal
Will Thompson
will.thompson at collabora.co.uk
Mon Mar 23 05:47:56 PDT 2009
---
src/jingle-factory.c | 10 ++++++----
src/jingle-session.c | 8 +++++---
src/media-channel.c | 5 +++--
3 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/src/jingle-factory.c b/src/jingle-factory.c
index 82db3a3..ff71c3e 100644
--- a/src/jingle-factory.c
+++ b/src/jingle-factory.c
@@ -90,7 +90,8 @@ static GabbleJingleSession *create_session (GabbleJingleFactory *fac,
const gchar *sid, TpHandle peer, const gchar *peer_resource);
static void session_terminated_cb (GabbleJingleSession *sess,
- gboolean local_terminator, GabbleJingleFactory *fac);
+ gboolean local_terminator, TpChannelGroupChangeReason reason,
+ GabbleJingleFactory *fac);
static void connection_status_changed_cb (GabbleConnection *conn,
guint status, guint reason, GabbleJingleFactory *self);
@@ -777,8 +778,7 @@ create_session (GabbleJingleFactory *fac,
sess = gabble_jingle_session_new (priv->conn, sid, local_initiator, peer,
peer_resource);
- g_signal_connect (sess, "terminated",
- (GCallback) session_terminated_cb, fac);
+ g_signal_connect (sess, "terminated", (GCallback) session_terminated_cb, fac);
DEBUG ("new session %s @ %p created", sid, sess);
register_session (fac, sid, sess);
@@ -833,7 +833,9 @@ gabble_jingle_factory_lookup_content_type (GabbleJingleFactory *self,
static void
session_terminated_cb (GabbleJingleSession *session,
- gboolean local_terminator, GabbleJingleFactory *factory)
+ gboolean local_terminator,
+ TpChannelGroupChangeReason reason,
+ GabbleJingleFactory *factory)
{
const gchar *sid;
DEBUG ("removing terminated session");
diff --git a/src/jingle-session.c b/src/jingle-session.c
index 9b0002a..4f7b4bb 100644
--- a/src/jingle-session.c
+++ b/src/jingle-session.c
@@ -30,6 +30,7 @@
#include "connection.h"
#include "debug.h"
+#include "gabble-signals-marshal.h"
#include "jingle-content.h"
#include "jingle-factory.h"
#include "namespaces.h"
@@ -372,8 +373,8 @@ gabble_jingle_session_class_init (GabbleJingleSessionClass *cls)
signals[TERMINATED] = g_signal_new ("terminated",
G_TYPE_FROM_CLASS (cls), G_SIGNAL_RUN_LAST,
- 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN,
- G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
+ 0, NULL, NULL, gabble_marshal_VOID__BOOLEAN_UINT,
+ G_TYPE_NONE, 2, G_TYPE_BOOLEAN, G_TYPE_UINT);
}
typedef void (*HandlerFunc)(GabbleJingleSession *sess,
@@ -1522,7 +1523,8 @@ set_state (GabbleJingleSession *sess, JingleState state)
}
if (state == JS_STATE_ENDED)
- g_signal_emit (sess, signals[TERMINATED], 0, priv->locally_terminated);
+ g_signal_emit (sess, signals[TERMINATED], 0, priv->locally_terminated,
+ TP_CHANNEL_GROUP_CHANGE_REASON_NONE);
}
void
diff --git a/src/media-channel.c b/src/media-channel.c
index 36a2bd1..f617e90 100644
--- a/src/media-channel.c
+++ b/src/media-channel.c
@@ -198,7 +198,8 @@ gabble_media_channel_init (GabbleMediaChannel *self)
static void session_state_changed_cb (GabbleJingleSession *session,
GParamSpec *arg1, GabbleMediaChannel *channel);
static void session_terminated_cb (GabbleJingleSession *session,
- gboolean local_terminator, gpointer user_data);
+ gboolean local_terminator, TpChannelGroupChangeReason reason,
+ gpointer user_data);
static void session_new_content_cb (GabbleJingleSession *session,
GabbleJingleContent *c, gpointer user_data);
static void create_stream_from_content (GabbleMediaChannel *chan,
@@ -2031,12 +2032,12 @@ gabble_media_channel_remove_member (GObject *obj,
static void
session_terminated_cb (GabbleJingleSession *session,
gboolean local_terminator,
+ TpChannelGroupChangeReason reason,
gpointer user_data)
{
GabbleMediaChannel *channel = (GabbleMediaChannel *) user_data;
GabbleMediaChannelPrivate *priv = channel->priv;
TpGroupMixin *mixin = TP_GROUP_MIXIN (channel);
- guint reason = TP_CHANNEL_GROUP_CHANGE_REASON_NONE;
guint terminator;
JingleSessionState state;
TpHandle peer;
--
1.5.6.5
More information about the telepathy-commits
mailing list