gnome-online-accounts: update 3.44.0 -> 3.46.0

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Markus Volk
2022-11-07 20:48:50 +01:00
committed by Khem Raj
parent dd6072afc2
commit 58c538fda7
3 changed files with 31 additions and 194 deletions
@@ -1,160 +0,0 @@
From 3c4a6eda580c6e38aeedb63d73ae7b96cc7f9a07 Mon Sep 17 00:00:00 2001
From: Carlos Garcia Campos <cgarcia@igalia.com>
Date: Mon, 7 Jun 2021 16:31:18 +0200
Subject: [PATCH] Update to rest 1.0
Updates to use the rest 1.0 API
Upstream-Status: Inappropriate [rest 1.0 is not released yet]
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
---
configure.ac | 2 +-
src/goabackend/goalastfmprovider.c | 26 +++++++++++++-------------
src/goabackend/goaoauthprovider.c | 17 +++++++++++------
src/goabackend/goarestproxy.h | 2 --
4 files changed, 25 insertions(+), 22 deletions(-)
diff --git a/configure.ac b/configure.ac
index 1f88bbd..e43303d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -129,7 +129,7 @@ if test "$enable_backend" != "no"; then
AC_SUBST(JSON_GLIB_CFLAGS)
AC_SUBST(JSON_GLIB_LIBS)
- PKG_CHECK_MODULES(REST, [rest-0.7])
+ PKG_CHECK_MODULES(REST, [rest-1.0])
AC_SUBST(REST_CFLAGS)
AC_SUBST(REST_LIBS)
diff --git a/src/goabackend/goalastfmprovider.c b/src/goabackend/goalastfmprovider.c
index cb9a6f2..a2db037 100644
--- a/src/goabackend/goalastfmprovider.c
+++ b/src/goabackend/goalastfmprovider.c
@@ -483,18 +483,18 @@ add_account_cb (GoaManager *manager, GAsyncResult *res, gpointer user_data)
static void
check_cb (RestProxyCall *call,
- const GError *error,
- GObject *weak_object,
+ GAsyncResult *result,
gpointer user_data)
{
AddAccountData *data = user_data;
JsonNode *session;
- JsonParser *parser;
+ JsonParser *parser = NULL;
JsonObject *json_obj;
JsonObject *session_obj;
const gchar *payload;
- parser = NULL;
+ if (!rest_proxy_call_invoke_finish (call, result, &data->error))
+ goto out;
parser = json_parser_new ();
payload = rest_proxy_call_get_payload (call);
@@ -562,12 +562,12 @@ on_rest_proxy_call_cancelled_cb (GCancellable *cancellable, RestProxyCall *call)
}
static void
-lastfm_login (GoaProvider *provider,
- const gchar *username,
- const gchar *password,
- GCancellable *cancellable,
- RestProxyCallAsyncCallback callback,
- gpointer user_data)
+lastfm_login (GoaProvider *provider,
+ const gchar *username,
+ const gchar *password,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
AddAccountData *data = user_data;
RestProxyCall *call;
@@ -598,7 +598,7 @@ lastfm_login (GoaProvider *provider,
rest_proxy_call_add_param (call, "api_sig", sig_md5);
rest_proxy_call_add_param (call, "format", "json");
- rest_proxy_call_async (call, callback, NULL, data, &data->error);
+ rest_proxy_call_invoke_async (call, NULL, callback, data);
g_signal_connect (cancellable, "cancelled", G_CALLBACK (on_rest_proxy_call_cancelled_cb), call);
@@ -665,7 +665,7 @@ add_account (GoaProvider *provider,
username,
password,
data.cancellable,
- (RestProxyCallAsyncCallback) check_cb,
+ (GAsyncReadyCallback) check_cb,
&data);
gtk_widget_set_sensitive (data.connect_button, FALSE);
@@ -819,7 +819,7 @@ refresh_account (GoaProvider *provider,
username,
password,
data.cancellable,
- (RestProxyCallAsyncCallback) check_cb,
+ (GAsyncReadyCallback) check_cb,
&data);
gtk_widget_set_sensitive (data.connect_button, FALSE);
gtk_widget_show (data.progress_grid);
diff --git a/src/goabackend/goaoauthprovider.c b/src/goabackend/goaoauthprovider.c
index 0bfab6b..6a69251 100644
--- a/src/goabackend/goaoauthprovider.c
+++ b/src/goabackend/goaoauthprovider.c
@@ -699,9 +699,15 @@ on_web_view_decide_policy (WebKitWebView *web_view,
}
static void
-rest_proxy_call_cb (RestProxyCall *call, const GError *error, GObject *weak_object, gpointer user_data)
+rest_proxy_call_cb (GObject *source, GAsyncResult *result, gpointer user_data)
{
+ RestProxyCall *call = REST_PROXY_CALL (source);
IdentifyData *data = user_data;
+
+ if (!rest_proxy_call_invoke_finish (call, result, &data->error))
+ {
+ g_prefix_error (&data->error, _("Error getting a Request Token: "));
+ }
g_main_loop_quit (data->loop);
}
@@ -768,11 +774,7 @@ get_tokens_and_identity (GoaOAuthProvider *provider,
for (n = 0; request_params[n] != NULL; n += 2)
rest_proxy_call_add_param (call, request_params[n], request_params[n+1]);
}
- if (!rest_proxy_call_async (call, rest_proxy_call_cb, NULL, &data, &data.error))
- {
- g_prefix_error (&data.error, _("Error getting a Request Token: "));
- goto out;
- }
+ rest_proxy_call_invoke_async (call, NULL, rest_proxy_call_cb, &data);
goa_utils_set_dialog_title (GOA_PROVIDER (provider), dialog, add_account);
@@ -794,6 +796,9 @@ get_tokens_and_identity (GoaOAuthProvider *provider,
g_main_loop_run (data.loop);
gtk_container_remove (GTK_CONTAINER (grid), spinner);
+ if (data.error)
+ goto out;
+
if (rest_proxy_call_get_status_code (call) != 200)
{
gchar *msg;
diff --git a/src/goabackend/goarestproxy.h b/src/goabackend/goarestproxy.h
index 09fb076..4948cb7 100644
--- a/src/goabackend/goarestproxy.h
+++ b/src/goabackend/goarestproxy.h
@@ -27,8 +27,6 @@
G_BEGIN_DECLS
-G_DEFINE_AUTOPTR_CLEANUP_FUNC (RestProxy, g_object_unref);
-
#define GOA_TYPE_REST_PROXY (goa_rest_proxy_get_type ())
G_DECLARE_FINAL_TYPE (GoaRestProxy, goa_rest_proxy, GOA, REST_PROXY, RestProxy);
@@ -1,34 +0,0 @@
SUMMARY = "GNOME Online Accounts - Single sign-on framework for GNOME"
LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=34c88b124db5fb2762c1676be7dadd36"
GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gsettings gobject-introspection gsettings gtk-doc vala gettext features_check
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
DEPENDS = "glib-2.0"
SRC_URI += "file://0001-Update-to-rest-1.0.patch"
SRC_URI[archive.sha256sum] = "381d5d4106f435b6f87786aa049be784774e15996adcc02789807afc87ea7342"
# backend is required for gnome-control-center
PACKAGECONFIG = "backend other"
PACKAGECONFIG[backend] = "--enable-backend,--disable-backend,gtk+3 webkitgtk libsoup-2.4 json-glib libsecret rest libxml2"
PACKAGECONFIG[krb5] = "--enable-kerberos, --disable-kerberos , krb5 gcr"
# no extra dependencies!
PACKAGECONFIG[other] = " \
--enable-facebook --enable-foursquare --enable-exchange --enable-flickr --enable-google --enable-imap-smtp --enable-owncloud --enable-windows-live,\
--disable-facebook --disable-foursquare --disable-exchange --disable-flickr --disable-google --disable-imap-smtp --disable-owncloud --disable-windows-live, \
"
FILES:${PN} += " \
${datadir}/dbus-1 \
${libdir}/goa-1.0/web-extensions/*.so \
"
# looked into pkg-config file: it is not a bug - they mean it
FILES:${PN}-dev += "${libdir}/goa-1.0/include"
@@ -0,0 +1,31 @@
SUMMARY = "GNOME Online Accounts - Single sign-on framework for GNOME"
LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=34c88b124db5fb2762c1676be7dadd36"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gobject-introspection gtk-icon-cache vala features_check
DEPENDS = "gtk+3 gtk+3-native gdk-pixbuf dbus json-glib libxml2 webkitgtk glib-2.0 rest libsecret"
SRC_URI[archive.sha256sum] = "5e7859ce4858a6b99d3995ed70527d66e297bb90bbf75ec8780fe9da22c1fcaa"
PACKAGECONFIG_SOUP ?= "soup3"
PACKAGECONFIG ?= "kerberos owncloud lastfm google windows_live ${PACKAGECONFIG_SOUP}"
PACKAGECONFIG[kerberos] = "-Dkerberos=true, -Dkerberos=false,krb5 gcr"
PACKAGECONFIG[exchange] = "-Dexchange=true, -Dexchange=false"
PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false"
PACKAGECONFIG[owncloud] = "-Downcloud=true, -Downcloud=false"
PACKAGECONFIG[windows_live] = "-Dwindows_live=true, -Dwindows_live=false"
PACKAGECONFIG[lastfm] = "-Dlastfm=true, -Dlastfm=false"
PACKAGECONFIG[soup2] = ",,libsoup-2.4,,,soup3"
PACKAGECONFIG[soup3] = ",,libsoup-3.0,,,soup2"
FILES:${PN} += " \
${datadir}/dbus-1 \
${libdir}/goa-1.0/web-extensions/*.so \
"
# looked into pkg-config file: it is not a bug - they mean it
FILES:${PN}-dev += "${libdir}/goa-1.0/include"