diff options
author | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2009-02-17 05:24:38 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2009-02-17 05:24:38 +0800 |
commit | df9360528982684759437320d4d1277ccee10bba (patch) | |
tree | eabde841108c4cecc0f26b88856355a9500addaf /libempathy/empathy-call-handler.c | |
parent | d3663278d391680b6bef16f383e0fc7db8d8ac18 (diff) | |
download | gsoc2013-empathy-df9360528982684759437320d4d1277ccee10bba.tar gsoc2013-empathy-df9360528982684759437320d4d1277ccee10bba.tar.gz gsoc2013-empathy-df9360528982684759437320d4d1277ccee10bba.tar.bz2 gsoc2013-empathy-df9360528982684759437320d4d1277ccee10bba.tar.lz gsoc2013-empathy-df9360528982684759437320d4d1277ccee10bba.tar.xz gsoc2013-empathy-df9360528982684759437320d4d1277ccee10bba.tar.zst gsoc2013-empathy-df9360528982684759437320d4d1277ccee10bba.zip |
Signal closed from the call-handler
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
svn path=/trunk/; revision=2478
Diffstat (limited to 'libempathy/empathy-call-handler.c')
-rw-r--r-- | libempathy/empathy-call-handler.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libempathy/empathy-call-handler.c b/libempathy/empathy-call-handler.c index 40abf0d60..aecf655be 100644 --- a/libempathy/empathy-call-handler.c +++ b/libempathy/empathy-call-handler.c @@ -39,6 +39,7 @@ enum { CONFERENCE_ADDED, SRC_PAD_ADDED, SINK_PAD_ADDED, + CLOSED, LAST_SIGNAL }; @@ -208,6 +209,13 @@ empathy_call_handler_class_init (EmpathyCallHandlerClass *klass) _empathy_marshal_VOID__OBJECT_UINT, G_TYPE_NONE, 2, GST_TYPE_PAD, G_TYPE_UINT); + + signals[CLOSED] = + g_signal_new ("closed", G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, 0, NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); } EmpathyCallHandler * @@ -294,6 +302,13 @@ empathy_call_handler_tf_channel_stream_created_cb (TfChannel *tfchannel, } static void +empathy_call_handler_tf_channel_closed_cb (TfChannel *tfchannel, + EmpathyCallHandler *handler) +{ + g_signal_emit (G_OBJECT (handler), signals[CLOSED], 0); +} + +static void empathy_call_handler_start_tpfs (EmpathyCallHandler *self) { EmpathyCallHandlerPriv *priv = GET_PRIV (self); @@ -310,6 +325,8 @@ empathy_call_handler_start_tpfs (EmpathyCallHandler *self) G_CALLBACK (empathy_call_handler_tf_channel_session_created_cb), self); g_signal_connect (priv->tfchannel, "stream-created", G_CALLBACK (empathy_call_handler_tf_channel_stream_created_cb), self); + g_signal_connect (priv->tfchannel, "closed", + G_CALLBACK (empathy_call_handler_tf_channel_closed_cb), self); g_object_unref (channel); } |