diff options
author | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2009-01-10 00:14:10 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2009-01-10 00:14:10 +0800 |
commit | a225d6d620e17306dbc5c1e7b7b886046e24c9db (patch) | |
tree | 535e018303a12848452434e69387f635d9a2c667 /libempathy/empathy-tp-call.c | |
parent | 3fc0800fa97d410b2ce39ee5b61e1a49967d4b06 (diff) | |
download | gsoc2013-empathy-a225d6d620e17306dbc5c1e7b7b886046e24c9db.tar gsoc2013-empathy-a225d6d620e17306dbc5c1e7b7b886046e24c9db.tar.gz gsoc2013-empathy-a225d6d620e17306dbc5c1e7b7b886046e24c9db.tar.bz2 gsoc2013-empathy-a225d6d620e17306dbc5c1e7b7b886046e24c9db.tar.lz gsoc2013-empathy-a225d6d620e17306dbc5c1e7b7b886046e24c9db.tar.xz gsoc2013-empathy-a225d6d620e17306dbc5c1e7b7b886046e24c9db.tar.zst gsoc2013-empathy-a225d6d620e17306dbc5c1e7b7b886046e24c9db.zip |
Add a function to explicitly set the remote candidate on outgoing calls instead of relying on the group interface
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
svn path=/trunk/; revision=2165
Diffstat (limited to 'libempathy/empathy-tp-call.c')
-rw-r--r-- | libempathy/empathy-tp-call.c | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/libempathy/empathy-tp-call.c b/libempathy/empathy-tp-call.c index 45aa22be1..22c86232a 100644 --- a/libempathy/empathy-tp-call.c +++ b/libempathy/empathy-tp-call.c @@ -294,29 +294,19 @@ tp_call_member_added_cb (EmpathyTpGroup *group, g_object_unref (call); } -static void -tp_call_remote_pending_cb (EmpathyTpGroup *group, - EmpathyContact *contact, - EmpathyContact *actor, - guint reason, - const gchar *message, - EmpathyTpCall *call) +void +empathy_tp_call_to (EmpathyTpCall *call, EmpathyContact *contact) { EmpathyTpCallPriv *priv = GET_PRIV (call); - g_object_ref (call); - if (!priv->contact && !empathy_contact_is_user (contact)) - { - priv->contact = g_object_ref (contact); - priv->is_incoming = FALSE; - priv->status = EMPATHY_TP_CALL_STATUS_PENDING; - g_object_notify (G_OBJECT (call), "is-incoming"); - g_object_notify (G_OBJECT (call), "contact"); - g_object_notify (G_OBJECT (call), "status"); - tp_call_request_streams_for_capabilities (call, - EMPATHY_CAPABILITIES_AUDIO); - } - g_object_unref (call); + priv->contact = g_object_ref (contact); + priv->is_incoming = FALSE; + priv->status = EMPATHY_TP_CALL_STATUS_PENDING; + g_object_notify (G_OBJECT (call), "is-incoming"); + g_object_notify (G_OBJECT (call), "contact"); + g_object_notify (G_OBJECT (call), "status"); + tp_call_request_streams_for_capabilities (call, + EMPATHY_CAPABILITIES_AUDIO); } static void @@ -481,8 +471,6 @@ tp_call_constructor (GType type, g_signal_connect (priv->group, "member-added", G_CALLBACK (tp_call_member_added_cb), call); - g_signal_connect (priv->group, "remote-pending", - G_CALLBACK (tp_call_remote_pending_cb), call); /* Start stream engine */ tp_call_stream_engine_handle_channel (call); @@ -624,7 +612,7 @@ static void empathy_tp_call_init (EmpathyTpCall *call) { EmpathyTpCallPriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (call, - EMPATHY_TYPE_TP_CALL, EmpathyTpCallPriv); + EMPATHY_TYPE_TP_CALL, EmpathyTpCallPriv); call->priv = priv; priv->status = EMPATHY_TP_CALL_STATUS_READYING; |