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