diff options
-rw-r--r-- | libempathy/empathy-tp-call.c | 34 | ||||
-rw-r--r-- | libempathy/empathy-tp-call.h | 4 |
2 files changed, 15 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; diff --git a/libempathy/empathy-tp-call.h b/libempathy/empathy-tp-call.h index 29a79c64e..5724963f7 100644 --- a/libempathy/empathy-tp-call.h +++ b/libempathy/empathy-tp-call.h @@ -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); |