1*4882a593SmuzhiyunFrom 3c4a6eda580c6e38aeedb63d73ae7b96cc7f9a07 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Carlos Garcia Campos <cgarcia@igalia.com> 3*4882a593SmuzhiyunDate: Mon, 7 Jun 2021 16:31:18 +0200 4*4882a593SmuzhiyunSubject: [PATCH] Update to rest 1.0 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunUpdates to use the rest 1.0 API 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunUpstream-Status: Inappropriate [rest 1.0 is not released yet] 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunSigned-off-by: Joshua Watt <JPEWhacker@gmail.com> 11*4882a593Smuzhiyun--- 12*4882a593Smuzhiyun configure.ac | 2 +- 13*4882a593Smuzhiyun src/goabackend/goalastfmprovider.c | 26 +++++++++++++------------- 14*4882a593Smuzhiyun src/goabackend/goaoauthprovider.c | 17 +++++++++++------ 15*4882a593Smuzhiyun src/goabackend/goarestproxy.h | 2 -- 16*4882a593Smuzhiyun 4 files changed, 25 insertions(+), 22 deletions(-) 17*4882a593Smuzhiyun 18*4882a593Smuzhiyundiff --git a/configure.ac b/configure.ac 19*4882a593Smuzhiyunindex 1f88bbd..e43303d 100644 20*4882a593Smuzhiyun--- a/configure.ac 21*4882a593Smuzhiyun+++ b/configure.ac 22*4882a593Smuzhiyun@@ -129,7 +129,7 @@ if test "$enable_backend" != "no"; then 23*4882a593Smuzhiyun AC_SUBST(JSON_GLIB_CFLAGS) 24*4882a593Smuzhiyun AC_SUBST(JSON_GLIB_LIBS) 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun- PKG_CHECK_MODULES(REST, [rest-0.7]) 27*4882a593Smuzhiyun+ PKG_CHECK_MODULES(REST, [rest-1.0]) 28*4882a593Smuzhiyun AC_SUBST(REST_CFLAGS) 29*4882a593Smuzhiyun AC_SUBST(REST_LIBS) 30*4882a593Smuzhiyun 31*4882a593Smuzhiyundiff --git a/src/goabackend/goalastfmprovider.c b/src/goabackend/goalastfmprovider.c 32*4882a593Smuzhiyunindex cb9a6f2..a2db037 100644 33*4882a593Smuzhiyun--- a/src/goabackend/goalastfmprovider.c 34*4882a593Smuzhiyun+++ b/src/goabackend/goalastfmprovider.c 35*4882a593Smuzhiyun@@ -483,18 +483,18 @@ add_account_cb (GoaManager *manager, GAsyncResult *res, gpointer user_data) 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun static void 38*4882a593Smuzhiyun check_cb (RestProxyCall *call, 39*4882a593Smuzhiyun- const GError *error, 40*4882a593Smuzhiyun- GObject *weak_object, 41*4882a593Smuzhiyun+ GAsyncResult *result, 42*4882a593Smuzhiyun gpointer user_data) 43*4882a593Smuzhiyun { 44*4882a593Smuzhiyun AddAccountData *data = user_data; 45*4882a593Smuzhiyun JsonNode *session; 46*4882a593Smuzhiyun- JsonParser *parser; 47*4882a593Smuzhiyun+ JsonParser *parser = NULL; 48*4882a593Smuzhiyun JsonObject *json_obj; 49*4882a593Smuzhiyun JsonObject *session_obj; 50*4882a593Smuzhiyun const gchar *payload; 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun- parser = NULL; 53*4882a593Smuzhiyun+ if (!rest_proxy_call_invoke_finish (call, result, &data->error)) 54*4882a593Smuzhiyun+ goto out; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun parser = json_parser_new (); 57*4882a593Smuzhiyun payload = rest_proxy_call_get_payload (call); 58*4882a593Smuzhiyun@@ -562,12 +562,12 @@ on_rest_proxy_call_cancelled_cb (GCancellable *cancellable, RestProxyCall *call) 59*4882a593Smuzhiyun } 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun static void 62*4882a593Smuzhiyun-lastfm_login (GoaProvider *provider, 63*4882a593Smuzhiyun- const gchar *username, 64*4882a593Smuzhiyun- const gchar *password, 65*4882a593Smuzhiyun- GCancellable *cancellable, 66*4882a593Smuzhiyun- RestProxyCallAsyncCallback callback, 67*4882a593Smuzhiyun- gpointer user_data) 68*4882a593Smuzhiyun+lastfm_login (GoaProvider *provider, 69*4882a593Smuzhiyun+ const gchar *username, 70*4882a593Smuzhiyun+ const gchar *password, 71*4882a593Smuzhiyun+ GCancellable *cancellable, 72*4882a593Smuzhiyun+ GAsyncReadyCallback callback, 73*4882a593Smuzhiyun+ gpointer user_data) 74*4882a593Smuzhiyun { 75*4882a593Smuzhiyun AddAccountData *data = user_data; 76*4882a593Smuzhiyun RestProxyCall *call; 77*4882a593Smuzhiyun@@ -598,7 +598,7 @@ lastfm_login (GoaProvider *provider, 78*4882a593Smuzhiyun rest_proxy_call_add_param (call, "api_sig", sig_md5); 79*4882a593Smuzhiyun rest_proxy_call_add_param (call, "format", "json"); 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun- rest_proxy_call_async (call, callback, NULL, data, &data->error); 82*4882a593Smuzhiyun+ rest_proxy_call_invoke_async (call, NULL, callback, data); 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun g_signal_connect (cancellable, "cancelled", G_CALLBACK (on_rest_proxy_call_cancelled_cb), call); 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun@@ -665,7 +665,7 @@ add_account (GoaProvider *provider, 87*4882a593Smuzhiyun username, 88*4882a593Smuzhiyun password, 89*4882a593Smuzhiyun data.cancellable, 90*4882a593Smuzhiyun- (RestProxyCallAsyncCallback) check_cb, 91*4882a593Smuzhiyun+ (GAsyncReadyCallback) check_cb, 92*4882a593Smuzhiyun &data); 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun gtk_widget_set_sensitive (data.connect_button, FALSE); 95*4882a593Smuzhiyun@@ -819,7 +819,7 @@ refresh_account (GoaProvider *provider, 96*4882a593Smuzhiyun username, 97*4882a593Smuzhiyun password, 98*4882a593Smuzhiyun data.cancellable, 99*4882a593Smuzhiyun- (RestProxyCallAsyncCallback) check_cb, 100*4882a593Smuzhiyun+ (GAsyncReadyCallback) check_cb, 101*4882a593Smuzhiyun &data); 102*4882a593Smuzhiyun gtk_widget_set_sensitive (data.connect_button, FALSE); 103*4882a593Smuzhiyun gtk_widget_show (data.progress_grid); 104*4882a593Smuzhiyundiff --git a/src/goabackend/goaoauthprovider.c b/src/goabackend/goaoauthprovider.c 105*4882a593Smuzhiyunindex 0bfab6b..6a69251 100644 106*4882a593Smuzhiyun--- a/src/goabackend/goaoauthprovider.c 107*4882a593Smuzhiyun+++ b/src/goabackend/goaoauthprovider.c 108*4882a593Smuzhiyun@@ -699,9 +699,15 @@ on_web_view_decide_policy (WebKitWebView *web_view, 109*4882a593Smuzhiyun } 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun static void 112*4882a593Smuzhiyun-rest_proxy_call_cb (RestProxyCall *call, const GError *error, GObject *weak_object, gpointer user_data) 113*4882a593Smuzhiyun+rest_proxy_call_cb (GObject *source, GAsyncResult *result, gpointer user_data) 114*4882a593Smuzhiyun { 115*4882a593Smuzhiyun+ RestProxyCall *call = REST_PROXY_CALL (source); 116*4882a593Smuzhiyun IdentifyData *data = user_data; 117*4882a593Smuzhiyun+ 118*4882a593Smuzhiyun+ if (!rest_proxy_call_invoke_finish (call, result, &data->error)) 119*4882a593Smuzhiyun+ { 120*4882a593Smuzhiyun+ g_prefix_error (&data->error, _("Error getting a Request Token: ")); 121*4882a593Smuzhiyun+ } 122*4882a593Smuzhiyun g_main_loop_quit (data->loop); 123*4882a593Smuzhiyun } 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun@@ -768,11 +774,7 @@ get_tokens_and_identity (GoaOAuthProvider *provider, 126*4882a593Smuzhiyun for (n = 0; request_params[n] != NULL; n += 2) 127*4882a593Smuzhiyun rest_proxy_call_add_param (call, request_params[n], request_params[n+1]); 128*4882a593Smuzhiyun } 129*4882a593Smuzhiyun- if (!rest_proxy_call_async (call, rest_proxy_call_cb, NULL, &data, &data.error)) 130*4882a593Smuzhiyun- { 131*4882a593Smuzhiyun- g_prefix_error (&data.error, _("Error getting a Request Token: ")); 132*4882a593Smuzhiyun- goto out; 133*4882a593Smuzhiyun- } 134*4882a593Smuzhiyun+ rest_proxy_call_invoke_async (call, NULL, rest_proxy_call_cb, &data); 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun goa_utils_set_dialog_title (GOA_PROVIDER (provider), dialog, add_account); 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun@@ -794,6 +796,9 @@ get_tokens_and_identity (GoaOAuthProvider *provider, 139*4882a593Smuzhiyun g_main_loop_run (data.loop); 140*4882a593Smuzhiyun gtk_container_remove (GTK_CONTAINER (grid), spinner); 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun+ if (data.error) 143*4882a593Smuzhiyun+ goto out; 144*4882a593Smuzhiyun+ 145*4882a593Smuzhiyun if (rest_proxy_call_get_status_code (call) != 200) 146*4882a593Smuzhiyun { 147*4882a593Smuzhiyun gchar *msg; 148*4882a593Smuzhiyundiff --git a/src/goabackend/goarestproxy.h b/src/goabackend/goarestproxy.h 149*4882a593Smuzhiyunindex 09fb076..4948cb7 100644 150*4882a593Smuzhiyun--- a/src/goabackend/goarestproxy.h 151*4882a593Smuzhiyun+++ b/src/goabackend/goarestproxy.h 152*4882a593Smuzhiyun@@ -27,8 +27,6 @@ 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun G_BEGIN_DECLS 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun-G_DEFINE_AUTOPTR_CLEANUP_FUNC (RestProxy, g_object_unref); 157*4882a593Smuzhiyun- 158*4882a593Smuzhiyun #define GOA_TYPE_REST_PROXY (goa_rest_proxy_get_type ()) 159*4882a593Smuzhiyun G_DECLARE_FINAL_TYPE (GoaRestProxy, goa_rest_proxy, GOA, REST_PROXY, RestProxy); 160*4882a593Smuzhiyun 161