aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-tp-call.c
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@src.gnome.org>2008-05-02 06:02:45 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2008-05-02 06:02:45 +0800
commit16bb46bc5b1efb53ea813e3e1351fbbdc8b02fe3 (patch)
tree580679ed3b5fcb1f878534a82fa848c806639aa5 /libempathy/empathy-tp-call.c
parent462dafe161910a7f7f82a05caf6a0b8949158e44 (diff)
downloadgsoc2013-empathy-16bb46bc5b1efb53ea813e3e1351fbbdc8b02fe3.tar
gsoc2013-empathy-16bb46bc5b1efb53ea813e3e1351fbbdc8b02fe3.tar.gz
gsoc2013-empathy-16bb46bc5b1efb53ea813e3e1351fbbdc8b02fe3.tar.bz2
gsoc2013-empathy-16bb46bc5b1efb53ea813e3e1351fbbdc8b02fe3.tar.lz
gsoc2013-empathy-16bb46bc5b1efb53ea813e3e1351fbbdc8b02fe3.tar.xz
gsoc2013-empathy-16bb46bc5b1efb53ea813e3e1351fbbdc8b02fe3.tar.zst
gsoc2013-empathy-16bb46bc5b1efb53ea813e3e1351fbbdc8b02fe3.zip
Implement DTMF.
svn path=/trunk/; revision=1071
Diffstat (limited to 'libempathy/empathy-tp-call.c')
-rw-r--r--libempathy/empathy-tp-call.c36
1 files changed, 34 insertions, 2 deletions
diff --git a/libempathy/empathy-tp-call.c b/libempathy/empathy-tp-call.c
index 4c3779f28..32debb8b3 100644
--- a/libempathy/empathy-tp-call.c
+++ b/libempathy/empathy-tp-call.c
@@ -348,9 +348,7 @@ tp_call_async_cb (TpProxy *proxy,
GObject *call)
{
if (error)
- {
DEBUG ("Error %s: %s", (gchar*) user_data, error->message);
- }
}
static void
@@ -813,3 +811,37 @@ empathy_tp_call_mute_input (EmpathyTpCall *call,
G_OBJECT (call));
}
+void
+empathy_tp_call_start_tone (EmpathyTpCall *call, TpDTMFEvent event)
+{
+ EmpathyTpCallPriv *priv = GET_PRIV (call);
+
+ g_return_if_fail (EMPATHY_IS_TP_CALL (call));
+ g_return_if_fail (priv->status != EMPATHY_TP_CALL_STATUS_ACCEPTED);
+
+ if (!priv->audio->exists)
+ return;
+
+ tp_cli_channel_interface_dtmf_call_start_tone (priv->channel, -1,
+ priv->audio->id, event,
+ (tp_cli_channel_interface_dtmf_callback_for_start_tone) tp_call_async_cb,
+ "starting tone", NULL, G_OBJECT (call));
+}
+
+void
+empathy_tp_call_stop_tone (EmpathyTpCall *call)
+{
+ EmpathyTpCallPriv *priv = GET_PRIV (call);
+
+ g_return_if_fail (EMPATHY_IS_TP_CALL (call));
+ g_return_if_fail (priv->status != EMPATHY_TP_CALL_STATUS_ACCEPTED);
+
+ if (!priv->audio->exists)
+ return;
+
+ tp_cli_channel_interface_dtmf_call_stop_tone (priv->channel, -1,
+ priv->audio->id,
+ (tp_cli_channel_interface_dtmf_callback_for_stop_tone) tp_call_async_cb,
+ "stoping tone", NULL, G_OBJECT (call));
+}
+