summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2015-11-12 14:01:23 -0600
committerDenis Kenzior <denkenz@gmail.com>2015-11-12 14:01:23 -0600
commit88f507c1acea03b6805d9a588b88a7ebb8ecc7f3 (patch)
treee8903c1d9f443bcaacbf4ff3e90dfb0dbf8decef
parent2ef8e7e2aaf25004d371392dd0dc3f380f7746dc (diff)
downloadofono-88f507c1acea03b6805d9a588b88a7ebb8ecc7f3.tar.bz2
rilmodem: Implement dial inline
-rw-r--r--drivers/rilmodem/voicecall.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/drivers/rilmodem/voicecall.c b/drivers/rilmodem/voicecall.c
index 79eeee40..1c8cadee 100644
--- a/drivers/rilmodem/voicecall.c
+++ b/drivers/rilmodem/voicecall.c
@@ -349,14 +349,28 @@ static void dial(struct ofono_voicecall *vc,
struct cb_data *cbd = cb_data_new(cb, data, vc);
struct parcel rilp;
- g_ril_request_dial(vd->ril, ph, clir, &rilp);
+ parcel_init(&rilp);
+
+ /* Number to dial */
+ parcel_w_string(&rilp, phone_number_to_string(ph));
+ /* CLIR mode */
+ parcel_w_int32(&rilp, clir);
+ /* USS, empty string */
+ /* TODO: Deal with USS properly */
+ parcel_w_int32(&rilp, 0);
+ parcel_w_int32(&rilp, 0);
+
+ g_ril_append_print_buf(vd->ril, "(%s,%d,0,0)",
+ phone_number_to_string(ph),
+ clir);
/* Send request to RIL */
if (g_ril_send(vd->ril, RIL_REQUEST_DIAL, &rilp,
- rild_cb, cbd, g_free) == 0) {
- g_free(cbd);
- CALLBACK_WITH_FAILURE(cb, data);
- }
+ rild_cb, cbd, g_free) > 0)
+ return;
+
+ g_free(cbd);
+ CALLBACK_WITH_FAILURE(cb, data);
}
static void hold_before_dial_cb(struct ril_msg *message, gpointer user_data)