summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>2012-05-02 16:46:09 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-05-04 11:10:08 +0300
commit815dc93c33a379abf346fbef1640bbf15f23b286 (patch)
treea51afd09bdcb9547f43064fff7e42d0236befe4d
parent0e3a21069677342e6096441c78f2b6b2ab368a16 (diff)
downloadconnman-815dc93c33a379abf346fbef1640bbf15f23b286.tar.gz
connman-815dc93c33a379abf346fbef1640bbf15f23b286.tar.bz2
connman-815dc93c33a379abf346fbef1640bbf15f23b286.zip
agent: Adding a parameter to give the error name to browser callback
-rw-r--r--src/agent.c9
-rw-r--r--src/connman.h2
-rw-r--r--src/wispr.c2
3 files changed, 8 insertions, 5 deletions
diff --git a/src/agent.c b/src/agent.c
index 96d40caa..33a11ecd 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -529,15 +529,18 @@ static void request_browser_reply(DBusPendingCall *call, void *user_data)
struct request_browser_reply_data *browser_reply_data = user_data;
DBusMessage *reply = dbus_pending_call_steal_reply(call);
connman_bool_t result = FALSE;
+ const char *error = NULL;
- if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR)
+ if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR) {
+ error = dbus_message_get_error_name(reply);
goto done;
+ }
result = TRUE;
done:
- browser_reply_data->callback(browser_reply_data->service,
- result, browser_reply_data->user_data);
+ browser_reply_data->callback(browser_reply_data->service, result,
+ error, browser_reply_data->user_data);
connman_service_unref(browser_reply_data->service);
dbus_message_unref(reply);
g_free(browser_reply_data);
diff --git a/src/connman.h b/src/connman.h
index 2e8cfee8..08086328 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -94,7 +94,7 @@ typedef void (* authentication_cb_t) (struct connman_service *service,
const char *error, void *user_data);
typedef void (* browser_authentication_cb_t) (struct connman_service *service,
connman_bool_t authentication_done,
- void *user_data);
+ const char *error, void *user_data);
typedef void (* report_error_cb_t) (struct connman_service *service,
gboolean retry, void *user_data);
int __connman_agent_request_passphrase_input(struct connman_service *service,
diff --git a/src/wispr.c b/src/wispr.c
index 96bdeb1c..7a99034c 100644
--- a/src/wispr.c
+++ b/src/wispr.c
@@ -615,7 +615,7 @@ static gboolean wispr_manage_message(GWebResult *result,
static void wispr_portal_browser_reply_cb(struct connman_service *service,
connman_bool_t authentication_done,
- void *user_data)
+ const char *error, void *user_data)
{
struct connman_wispr_portal_context *wp_context = user_data;