#include <telepathy-glib/proxy-subclass.h>
#include <telepathy-glib/dbus.h>
+#include <telepathy-glib/interfaces.h>
#include <extensions/extensions.h>
{
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 = 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");
- tp_call_request_streams_for_capabilities (call,
- EMPATHY_CAPABILITIES_AUDIO);
+ g_object_notify (G_OBJECT (call), "contact");
+ g_object_notify (G_OBJECT (call), "status");
}
if (priv->status == EMPATHY_TP_CALL_STATUS_PENDING &&
priv->status = EMPATHY_TP_CALL_STATUS_ACCEPTED;
g_object_notify (G_OBJECT (call), "status");
}
+ g_object_unref (call);
}
static void
{
EmpathyTpCallPriv *priv = GET_PRIV (call);
+ g_object_ref (call);
if (!priv->contact && !empathy_contact_is_user (contact))
{
priv->contact = g_object_ref (contact);
tp_call_request_streams_for_capabilities (call,
EMPATHY_CAPABILITIES_AUDIO);
}
+ g_object_unref (call);
}
static void
"stoping tone", NULL, G_OBJECT (call));
}
+gboolean
+empathy_tp_call_has_dtmf (EmpathyTpCall *call)
+{
+ EmpathyTpCallPriv *priv = GET_PRIV (call);
+
+ g_return_val_if_fail (EMPATHY_IS_TP_CALL (call), FALSE);
+
+ return tp_proxy_has_interface_by_id (priv->channel,
+ TP_IFACE_QUARK_CHANNEL_INTERFACE_DTMF);
+}
+