]> git.0d.be Git - empathy.git/commitdiff
Add a function to explicitly set the remote candidate on outgoing calls instead of...
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>
Fri, 9 Jan 2009 16:14:10 +0000 (16:14 +0000)
committerXavier Claessens <xclaesse@src.gnome.org>
Fri, 9 Jan 2009 16:14:10 +0000 (16:14 +0000)
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
svn path=/trunk/; revision=2165

libempathy/empathy-tp-call.c
libempathy/empathy-tp-call.h

index 45aa22be14c83c44c05754e3f868e001a7be71b0..22c86232a28ca8847502bb9af5c95b0e714f8a23 100644 (file)
@@ -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;
index 29a79c64ec6e63998cd4c8bebba1ebcb05b8a910..5724963f74de4aaa224b0ed25d642dd849d56928 100644 (file)
@@ -27,6 +27,8 @@
 #include <glib.h>
 #include <telepathy-glib/channel.h>
 
+#include "empathy-contact.h"
+
 G_BEGIN_DECLS
 
 #define EMPATHY_TYPE_TP_CALL (empathy_tp_call_get_type ())
@@ -73,6 +75,8 @@ GType empathy_tp_call_get_type (void) G_GNUC_CONST;
 EmpathyTpCall *empathy_tp_call_new (TpChannel *channel);
 void empathy_tp_call_close (EmpathyTpCall *call);
 
+void empathy_tp_call_to (EmpathyTpCall *call, EmpathyContact *contact);
+
 void empathy_tp_call_accept_incoming_call (EmpathyTpCall *call);
 void empathy_tp_call_request_video_stream_direction (EmpathyTpCall *call,
     gboolean is_sending);