diff options
author | Johan Hedberg <johan.hedberg@nokia.com> | 2009-01-08 15:26:44 +0200 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2009-01-08 15:26:44 +0200 |
commit | 5ea0f5e65c4307aadb797851388f5f5a2583717c (patch) | |
tree | edab13cc951f8b7a2e16cdb47c6460e4ba41aea2 /audio | |
parent | 2e258fc221e00fe5ceb0f57646d578db829e3b75 (diff) |
Fix AT+CHLD=3 as well
AT+CHLD=3 should use the special Conference() D-Bus method instead of
Unhold().
Diffstat (limited to 'audio')
-rw-r--r-- | audio/telephony-maemo.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/audio/telephony-maemo.c b/audio/telephony-maemo.c index 64e0e409..7daed665 100644 --- a/audio/telephony-maemo.c +++ b/audio/telephony-maemo.c @@ -408,6 +408,23 @@ static int swap_calls(void) return 0; } +static int create_conference(void) +{ + DBusMessage *msg; + + msg = dbus_message_new_method_call(CSD_CALL_BUS_NAME, CSD_CALL_PATH, + CSD_CALL_INTERFACE, + "Conference"); + if (!msg) { + error("Unable to allocate new D-Bus message"); + return -ENOMEM; + } + + g_dbus_send_message(connection, msg); + + return 0; +} + static int call_transfer(void) { DBusMessage *msg; @@ -777,7 +794,7 @@ void telephony_call_hold_req(void *telephony_device, const char *cmd) case '3': call = find_call_with_status(CSD_CALL_STATUS_HOLD); if (call) - err = unhold_call(call); + create_conference(); break; case '4': err = call_transfer(); |