aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-tp-call.c
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy/empathy-tp-call.c')
-rw-r--r--libempathy/empathy-tp-call.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/libempathy/empathy-tp-call.c b/libempathy/empathy-tp-call.c
index 3aae89fce..4c78649a0 100644
--- a/libempathy/empathy-tp-call.c
+++ b/libempathy/empathy-tp-call.c
@@ -61,7 +61,6 @@ enum
PROP_0,
PROP_CHANNEL,
PROP_CONTACT,
- PROP_IS_INCOMING,
PROP_STATUS,
PROP_AUDIO_STREAM,
PROP_VIDEO_STREAM
@@ -279,9 +278,7 @@ tp_call_got_contact_cb (TpConnection *connection,
}
priv->contact = g_object_ref (contact);
- priv->is_incoming = TRUE;
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");
}
@@ -333,9 +330,7 @@ empathy_tp_call_to (EmpathyTpCall *call, EmpathyContact *contact,
g_assert (audio || video);
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");
@@ -407,6 +402,8 @@ tp_call_constructor (GType type,
GObject *object;
EmpathyTpCall *call;
EmpathyTpCallPriv *priv;
+ GHashTable *props;
+ gboolean requested;
object = G_OBJECT_CLASS (empathy_tp_call_parent_class)->constructor (type,
n_construct_params, construct_params);
@@ -430,6 +427,12 @@ tp_call_constructor (GType type,
tp_cli_channel_type_streamed_media_call_list_streams (priv->channel, -1,
tp_call_request_streams_cb, NULL, NULL, G_OBJECT (call));
+ /* Is the call incoming? */
+ props = tp_channel_borrow_immutable_properties (priv->channel);
+ requested = tp_asv_get_boolean (props, TP_PROP_CHANNEL_REQUESTED, NULL);
+
+ priv->is_incoming = !requested;
+
/* Update status when members changes */
tp_call_update_status (call);
g_signal_connect_swapped (priv->channel, "group-members-changed",
@@ -513,9 +516,6 @@ tp_call_get_property (GObject *object,
case PROP_CONTACT:
g_value_set_object (value, priv->contact);
break;
- case PROP_IS_INCOMING:
- g_value_set_boolean (value, priv->is_incoming);
- break;
case PROP_STATUS:
g_value_set_uint (value, priv->status);
break;
@@ -553,10 +553,6 @@ empathy_tp_call_class_init (EmpathyTpCallClass *klass)
g_param_spec_object ("contact", "Call contact", "Call contact",
EMPATHY_TYPE_CONTACT,
G_PARAM_READABLE | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
- g_object_class_install_property (object_class, PROP_IS_INCOMING,
- g_param_spec_boolean ("is-incoming", "Is media stream incoming",
- "Is media stream incoming", FALSE, G_PARAM_READABLE |
- G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
g_object_class_install_property (object_class, PROP_STATUS,
g_param_spec_uint ("status", "Call status",
"Call status", 0, 255, 0, G_PARAM_READABLE | G_PARAM_STATIC_NICK |