diff options
author | Philippe Nunes <philippe.nunes@linux.intel.com> | 2012-08-28 15:21:20 +0200 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2012-08-30 16:54:54 -0500 |
commit | e5f2701e50ba304f0b39d7e758b57e4aa9abead5 (patch) | |
tree | 62fe6db0871509edbd48ac45e2fb47767a028dfe /src/stkagent.c | |
parent | a4870c760ef9627962ce06bac48791cdf4fdee76 (diff) | |
download | ofono-e5f2701e50ba304f0b39d7e758b57e4aa9abead5.tar.gz |
stkagent: Add stk_agent_get_quick_digit
This function calls the newly added RequestQuickDigit method on the
StkAgent interface.
Diffstat (limited to 'src/stkagent.c')
-rw-r--r-- | src/stkagent.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/stkagent.c b/src/stkagent.c index 7c3f6970..af5d762f 100644 --- a/src/stkagent.c +++ b/src/stkagent.c @@ -584,6 +584,38 @@ int stk_agent_request_digit(struct stk_agent *agent, const char *text, return 0; } +int stk_agent_request_quick_digit(struct stk_agent *agent, const char *text, + const struct stk_icon_id *icon, + stk_agent_string_cb cb, void *user_data, + ofono_destroy_func destroy, int timeout) +{ + DBusConnection *conn = ofono_dbus_get_connection(); + + agent->msg = dbus_message_new_method_call(agent->bus, agent->path, + OFONO_SIM_APP_INTERFACE, + "RequestQuickDigit"); + if (agent->msg == NULL) + return -ENOMEM; + + dbus_message_append_args(agent->msg, + DBUS_TYPE_STRING, &text, + DBUS_TYPE_BYTE, &icon->id, + DBUS_TYPE_INVALID); + + if (dbus_connection_send_with_reply(conn, agent->msg, &agent->call, + timeout) == FALSE || + agent->call == NULL) + return -EIO; + + agent->user_cb = cb; + agent->user_data = user_data; + agent->user_destroy = destroy; + + dbus_pending_call_set_notify(agent->call, get_digit_cb, agent, NULL); + + return 0; +} + static void get_key_cb(DBusPendingCall *call, void *data) { struct stk_agent *agent = data; |