diff options
author | Denis Kenzior <denkenz@gmail.com> | 2015-11-12 14:01:23 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2015-11-12 14:01:23 -0600 |
commit | 88f507c1acea03b6805d9a588b88a7ebb8ecc7f3 (patch) | |
tree | e8903c1d9f443bcaacbf4ff3e90dfb0dbf8decef | |
parent | 2ef8e7e2aaf25004d371392dd0dc3f380f7746dc (diff) | |
download | ofono-88f507c1acea03b6805d9a588b88a7ebb8ecc7f3.tar.bz2 |
rilmodem: Implement dial inline
-rw-r--r-- | drivers/rilmodem/voicecall.c | 24 |
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) |