static gboolean execute_login(gpointer user_data) { struct wispr_session *wispr = user_data; wispr->request = g_web_request_post(wispr->web, wispr->msg.login_url, "application/x-www-form-urlencoded", wispr_input, wispr_result, wispr); wispr_msg_init(&wispr->msg); return FALSE; }
static void wispr_portal_request_wispr_login(struct connman_service *service, bool success, const char *ssid, int ssid_len, const char *username, const char *password, bool wps, const char *wpspin, const char *error, void *user_data) { struct connman_wispr_portal_context *wp_context = user_data; DBG(""); if (error) { if (g_strcmp0(error, "net.connman.Agent.Error.LaunchBrowser") == 0) { if (__connman_agent_request_browser(service, wispr_portal_browser_reply_cb, wp_context->redirect_url, wp_context) == -EINPROGRESS) return; } free_connman_wispr_portal_context(wp_context); return; } g_free(wp_context->wispr_username); wp_context->wispr_username = g_strdup(username); g_free(wp_context->wispr_password); wp_context->wispr_password = g_strdup(password); wp_context->request_id = g_web_request_post(wp_context->web, wp_context->wispr_msg.login_url, "application/x-www-form-urlencoded", wispr_input, wispr_portal_web_result, wp_context); connman_wispr_message_init(&wp_context->wispr_msg); }