empathy r2165 - trunk/libempathy



Author: xclaesse
Date: Fri Jan  9 16:14:10 2009
New Revision: 2165
URL: http://svn.gnome.org/viewvc/empathy?rev=2165&view=rev

Log:
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>

Modified:
   trunk/libempathy/empathy-tp-call.c
   trunk/libempathy/empathy-tp-call.h

Modified: trunk/libempathy/empathy-tp-call.c
==============================================================================
--- trunk/libempathy/empathy-tp-call.c	(original)
+++ trunk/libempathy/empathy-tp-call.c	Fri Jan  9 16:14:10 2009
@@ -294,29 +294,19 @@
   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 @@
 
   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 @@
 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;

Modified: trunk/libempathy/empathy-tp-call.h
==============================================================================
--- trunk/libempathy/empathy-tp-call.h	(original)
+++ trunk/libempathy/empathy-tp-call.h	Fri Jan  9 16:14:10 2009
@@ -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 @@
 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);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]