Hello community, here is the log from the commit of package libaccounts-glib for openSUSE:Factory checked in at 2017-11-09 16:20:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libaccounts-glib (Old) and /work/SRC/openSUSE:Factory/.libaccounts-glib.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libaccounts-glib" Thu Nov 9 16:20:34 2017 rev:5 rq:538858 version:1.23 Changes: -------- --- /work/SRC/openSUSE:Factory/libaccounts-glib/libaccounts-glib.changes 2016-05-31 12:21:36.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libaccounts-glib.new/libaccounts-glib.changes 2017-11-09 16:20:36.119061952 +0100 @@ -1,0 +2,17 @@ +Fri Nov 3 09:45:25 UTC 2017 - [email protected] + +- spec file + * fix source url + +------------------------------------------------------------------- +Thu Nov 2 23:08:51 UTC 2017 - [email protected] + +- Update to 1.23 + * Add a couple of methods related to .application files: + ag_manager_list_services_by_application() and + ag_application_supports_service(). +- Update to 1.22 + * Lib: migrate to GTask + * Build: add support for lcov 1.12 + +------------------------------------------------------------------- Old: ---- libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa.tar.gz New: ---- libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libaccounts-glib.spec ++++++ --- /var/tmp/diff_new_pack.nvIs3X/_old 2017-11-09 16:20:36.699040776 +0100 +++ /var/tmp/diff_new_pack.nvIs3X/_new 2017-11-09 16:20:36.699040776 +0100 @@ -1,7 +1,7 @@ # # spec file for package libaccounts-glib # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,30 +18,33 @@ %define typelib typelib-1_0-Accounts-1_0 %define sover 0 -%define _version VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa +%define _version VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313 Name: libaccounts-glib -Version: 1.21 +Version: 1.23 Release: 0 Summary: Account management library for GLib Applications License: LGPL-2.1 Group: System/Libraries Url: https://gitlab.com/accounts-sso/libaccounts-glib -Source: https://gitlab.com/accounts-sso/%{name}/repository/archive.tar.gz?ref=VERSION_%{version}#/%{name}-%{_version}.tar.gz +Source: https://gitlab.com/accounts-sso/%{name}/repository/VERSION_%{version}/archive.tar.gz#/%{name}-%{_version}.tar.gz Source1: baselibs.conf -BuildRequires: autoconf +BuildRequires: autoconf >= 2.64 BuildRequires: automake BuildRequires: gtk-doc BuildRequires: libtool BuildRequires: pkg-config BuildRequires: python3-gobject -BuildRequires: pkgconfig(check) -BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(check) >= 0.9.4 +BuildRequires: pkgconfig(gio-2.0) >= 2.36 +BuildRequires: pkgconfig(gio-unix-2.0) +BuildRequires: pkgconfig(glib-2.0) >= 2.26 +BuildRequires: pkgconfig(gobject-2.0) >= 2.35.1 +BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.30.0 BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(pygobject-3.0) BuildRequires: pkgconfig(python2) BuildRequires: pkgconfig(python3) -BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(sqlite3) >= 3.7.0 %description This package contains the shared libraries for use by applications. ++++++ libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa.tar.gz -> libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/.gitlab-ci.yml new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/.gitlab-ci.yml --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/.gitlab-ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/.gitlab-ci.yml 2016-09-28 09:51:51.000000000 +0200 @@ -0,0 +1,51 @@ +image: ubuntu:xenial + +cache: + key: apt-cache + paths: + - apt-cache/ + +before_script: + - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR + - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -yq automake autotools-dev gobject-introspection gtk-doc-tools intltool libgirepository1.0-dev libglib2.0-dev libsqlite3-dev libtool libxml2-dev libxml2-utils python3 python3-gi python-gi-dev + - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -yq check dbus-test-runner lcov gcovr + - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -yq sudo + - useradd -m tester + - adduser tester sudo + +build_amd64: + stage: build + script: + - export PYTHON=python3 + - mkdir build + - cd build + - ../autogen.sh --enable-gtk-doc --enable-gcov --enable-debug --enable-python --disable-wal + - make -j 4 + artifacts: + paths: + - ./ + +test_amd64: + stage: test + script: + - cd build + - chmod a+rw -R . + - sudo -u tester make check || (cat tests/test-suite.log && /bin/false) + - sudo -u tester make coverage-html + dependencies: + - build_amd64 + artifacts: + paths: + - ./ + +pages: + stage: deploy + script: + - mkdir public + - cp -a build/coveragereport public/coverage + - cp -a build/docs/reference/html/* public/ + dependencies: + - test_amd64 + artifacts: + paths: + - public diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/NEWS new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/NEWS --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/NEWS 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/NEWS 2016-09-28 09:51:51.000000000 +0200 @@ -1,5 +1,19 @@ libaccounts-glib NEWS +Version 1.23 +------------ + +* Add a couple of methods related to .application files: + ag_manager_list_services_by_application() and + ag_application_supports_service(). + +Version 1.22 +------------ + +* Lib: migrate to GTask +* Build: enable CI in gitlab +* Build: add support for lcov 1.12 + Version 1.21 ------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/README.md new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/README.md --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/README.md 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/README.md 2016-09-28 09:51:51.000000000 +0200 @@ -2,7 +2,7 @@ ================================================= This project is a library for managing accounts which can be used from GLib -applications. It is part of the @accounts-sso project. +applications. It is part of the [accounts-sso project][accounts-sso]. License @@ -15,7 +15,7 @@ ------------------ The project depends on GLib (including GIO and GObject), libxml2, sqlite3 and -check. +[check][]. To build it, run: ``` ./autogen.sh @@ -23,3 +23,13 @@ make make install ``` + +Resources +--------- + +[API reference documentation](http://accounts-sso.gitlab.io/libaccounts-glib/) + +[Official source code repository](https://gitlab.com/accounts-sso/libaccounts-glib) + +[accounts-sso]: https://gitlab.com/groups/accounts-sso +[check]: https://github.com/libcheck/check diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/configure.ac new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/configure.ac --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/configure.ac 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/configure.ac 2016-09-28 09:51:51.000000000 +0200 @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ([2.64]) AC_INIT([libaccounts-glib], - [1.21], + [1.23], [https://gitlab.com/accounts-sso/libaccounts-glib/issues], [libaccounts-glib], [https://gitlab.com/accounts-sso/libaccounts-glib]) @@ -25,7 +25,7 @@ GOBJECT_INTROSPECTION_CHECK([1.30.0]) LIBACCOUNTS_REQUIRED="glib-2.0 >= 2.26 - gio-2.0 >= 2.30 + gio-2.0 >= 2.36 gio-unix-2.0 gobject-2.0 >= 2.35.1 libxml-2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/Makefile.am new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/Makefile.am --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/Makefile.am 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/Makefile.am 2016-09-28 09:51:51.000000000 +0200 @@ -14,7 +14,7 @@ $(LIBACCOUNTS_LIBS) libaccounts_glib_la_LDFLAGS = \ $(COVERAGE_LDFLAGS) \ - -version-info 1:3:1 \ + -version-info 2:0:2 \ --no-allow-shlib-undefined \ -export-symbols-regex '^ag_' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/accounts-glib.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/accounts-glib.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/accounts-glib.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/accounts-glib.h 2016-09-28 09:51:51.000000000 +0200 @@ -3,7 +3,7 @@ /* * This file is part of libaccounts-glib * - * Copyright (C) 2011 Canonical Ltd. + * Copyright (C) 2011-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-account-service.c new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-account-service.c --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-account-service.c 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-account-service.c 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2011 Nokia Corporation. - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-account-service.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-account-service.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-account-service.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-account-service.h 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2011 Nokia Corporation. - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-account.c new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-account.c --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-account.c 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-account.c 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * @@ -185,8 +185,8 @@ */ GHashTable *changes_for_watches; - /* GSimpleAsyncResult for the ag_account_store_async operation. */ - GSimpleAsyncResult *store_async_result; + /* GTask for the ag_account_store_async operation. */ + GTask *store_task; /* The "foreign" flag means that the account has been created by another * instance and we got informed about it from D-Bus. In this case, all the @@ -697,10 +697,7 @@ { AgAccountPrivate *priv = account->priv; -G_GNUC_BEGIN_IGNORE_DEPRECATIONS - g_simple_async_result_complete_in_idle (priv->store_async_result); -G_GNUC_END_IGNORE_DEPRECATIONS - g_clear_object (&priv->store_async_result); + g_clear_object (&priv->store_task); _ag_account_changes_free (changes); } @@ -2486,43 +2483,32 @@ g_return_if_fail (AG_IS_ACCOUNT (account)); priv = account->priv; - if (G_UNLIKELY (priv->store_async_result != NULL)) + if (G_UNLIKELY (priv->store_task != NULL)) { g_critical ("ag_account_store_async called again before completion"); -G_GNUC_BEGIN_IGNORE_DEPRECATIONS - g_simple_async_report_error_in_idle ((GObject *)account, - callback, user_data, - AG_ACCOUNTS_ERROR, - AG_ACCOUNTS_ERROR_STORE_IN_PROGRESS, - "Store operation already " - "in progress"); -G_GNUC_END_IGNORE_DEPRECATIONS + g_task_report_new_error (account, + callback, user_data, + ag_account_store_async, + AG_ACCOUNTS_ERROR, + AG_ACCOUNTS_ERROR_STORE_IN_PROGRESS, + "Store operation already in progress"); return; } -G_GNUC_BEGIN_IGNORE_DEPRECATIONS - priv->store_async_result = - g_simple_async_result_new ((GObject *)account, - callback, user_data, - ag_account_store_async); - g_simple_async_result_set_check_cancellable (priv->store_async_result, - cancellable); -G_GNUC_END_IGNORE_DEPRECATIONS - g_object_add_weak_pointer ((GObject *)priv->store_async_result, - (gpointer *)&priv->store_async_result); + priv->store_task = + g_task_new (account, cancellable, callback, user_data); + g_object_add_weak_pointer ((GObject *)priv->store_task, + (gpointer *)&priv->store_task); if (G_UNLIKELY (priv->changes == NULL)) { /* Nothing to do: invoke the callback immediately */ -G_GNUC_BEGIN_IGNORE_DEPRECATIONS - g_simple_async_result_complete_in_idle (priv->store_async_result); -G_GNUC_END_IGNORE_DEPRECATIONS - g_clear_object (&priv->store_async_result); + g_task_return_boolean (priv->store_task, TRUE); + g_clear_object (&priv->store_task); return; } - _ag_manager_store_async (priv->manager, account, - priv->store_async_result, cancellable); + _ag_manager_store_async (priv->manager, account, priv->store_task); } /** @@ -2542,14 +2528,9 @@ ag_account_store_finish (AgAccount *account, GAsyncResult *res, GError **error) { - GSimpleAsyncResult *async_result; - g_return_val_if_fail (AG_IS_ACCOUNT (account), FALSE); - async_result = (GSimpleAsyncResult *)res; -G_GNUC_BEGIN_IGNORE_DEPRECATIONS - return !g_simple_async_result_propagate_error (async_result, error); -G_GNUC_END_IGNORE_DEPRECATIONS + return g_task_propagate_boolean (G_TASK (res), error); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-account.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-account.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-account.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-account.h 2016-09-28 09:51:51.000000000 +0200 @@ -4,6 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-application.c new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-application.c --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-application.c 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-application.c 2016-09-28 09:51:51.000000000 +0200 @@ -3,7 +3,7 @@ /* * This file is part of libaccounts-glib * - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * @@ -158,6 +158,8 @@ item = g_slice_new0 (AgApplicationItem); g_hash_table_insert (hash_table, item_id, item); + if (xmlTextReaderIsEmptyElement (reader)) return TRUE; + ret = xmlTextReaderRead (reader); while (ret == 1) { @@ -365,6 +367,13 @@ return ret; } +static gint compare_service_name (gconstpointer a, gconstpointer b) +{ + AgService *service = (AgService *)a; + const gchar *name = b; + return g_strcmp0 (ag_service_get_name (service), name); +} + AgApplication * _ag_application_new_from_file (const gchar *application_name) { @@ -383,10 +392,42 @@ return application; } -gboolean -_ag_application_supports_service (AgApplication *self, AgService *service) +GList * +_ag_application_list_supported_services (AgApplication *self, AgManager *manager) { - return _ag_application_get_service_item (self, service) != NULL; + GHashTableIter iter; + GList *ret = NULL; + gchar *key; + AgService *service; + + g_return_val_if_fail (self != NULL, NULL); + + if (self->service_types) + { + g_hash_table_iter_init (&iter, self->service_types); + while (g_hash_table_iter_next (&iter, (gpointer)&key, NULL)) + { + GList *services = ag_manager_list_services_by_type (manager, key); + ret = g_list_concat (ret, services); + } + } + + if (self->services) + { + g_hash_table_iter_init (&iter, self->services); + while (g_hash_table_iter_next (&iter, (gpointer)&key, NULL)) + { + if (g_list_find_custom (ret, key, compare_service_name)) continue; + + service = ag_manager_get_service (manager, key); + if (service) + { + ret = g_list_prepend (ret, service); + } + } + } + + return ret; } /** @@ -463,6 +504,28 @@ } /** + * ag_application_supports_service: + * @self: the #AgApplication. + * @service: an #AgService. + * + * Check whether the application supports the given service. + * + * Returns: %TRUE if @service is supported, %FALSE otherwise. + */ +gboolean +ag_application_supports_service (AgApplication *self, AgService *service) +{ + AgApplicationItem *item; + + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (service != NULL, FALSE); + + item = _ag_application_get_service_item (self, service); + + return item != NULL; +} + +/** * ag_application_get_service_usage: * @self: the #AgApplication. * @service: an #AgService. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-application.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-application.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-application.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-application.h 2016-09-28 09:51:51.000000000 +0200 @@ -3,7 +3,7 @@ /* * This file is part of libaccounts-glib * - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * @@ -39,6 +39,8 @@ GDesktopAppInfo *ag_application_get_desktop_app_info (AgApplication *self); +gboolean ag_application_supports_service (AgApplication *self, + AgService *service); const gchar *ag_application_get_service_usage(AgApplication *self, AgService *service); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-auth-data.c new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-auth-data.c --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-auth-data.c 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-auth-data.c 2016-09-28 09:51:51.000000000 +0200 @@ -3,7 +3,7 @@ /* * This file is part of libaccounts-glib * - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-auth-data.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-auth-data.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-auth-data.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-auth-data.h 2016-09-28 09:51:51.000000000 +0200 @@ -3,7 +3,7 @@ /* * This file is part of libaccounts-glib * - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-debug.c new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-debug.c --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-debug.c 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-debug.c 2016-09-28 09:51:51.000000000 +0200 @@ -4,6 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2010 Nokia Corporation. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-debug.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-debug.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-debug.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-debug.h 2016-09-28 09:51:51.000000000 +0200 @@ -4,6 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-errors.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-errors.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-errors.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-errors.h 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012-2013 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-internals.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-internals.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-internals.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-internals.h 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012-2013 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * Copyright (C) 2012 Intel Corporation. * * Contact: Alberto Mardegan <[email protected]> @@ -95,8 +95,7 @@ void _ag_manager_exec_transaction (AgManager *manager, const gchar *sql, AgAccountChanges *changes, AgAccount *account, - GSimpleAsyncResult *async_result, - GCancellable *cancellable); + GTask *task); typedef gboolean (*AgQueryCallback) (sqlite3_stmt *stmt, gpointer user_data); @@ -125,8 +124,7 @@ G_GNUC_INTERNAL void _ag_manager_store_async (AgManager *manager, AgAccount *account, - GSimpleAsyncResult *async_result, - GCancellable *cancellable); + GTask *task); G_GNUC_INTERNAL gboolean _ag_manager_store_sync (AgManager *manager, AgAccount *account, GError **error); @@ -224,9 +222,8 @@ G_GNUC_INTERNAL AgApplication *_ag_application_new_from_file (const gchar *application_name); -/* Application functions */ G_GNUC_INTERNAL -gboolean _ag_application_supports_service (AgApplication *self, - AgService *service); +GList *_ag_application_list_supported_services (AgApplication *self, + AgManager *manager); #endif /* _AG_INTERNALS_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-manager.c new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-manager.c --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-manager.c 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-manager.c 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012-2013 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * Copyright (C) 2012 Intel Corporation. * * Contact: Alberto Mardegan <[email protected]> @@ -148,8 +148,7 @@ gchar *sql; AgAccountChanges *changes; guint id; - GSimpleAsyncResult *async_result; - GCancellable *cancellable; + GTask *task; } StoreCbData; typedef struct { @@ -183,27 +182,23 @@ gpointer user_data) { GDBusConnection *conn = G_DBUS_CONNECTION (object); - GSimpleAsyncResult *async_result = user_data; + GTask *task = user_data; GVariant *result; GError *error_int = NULL; -G_GNUC_BEGIN_IGNORE_DEPRECATIONS result = g_dbus_connection_call_finish (conn, res, &error_int); if (G_UNLIKELY (error_int)) { /* We always report a read-only error here */ - GError error = { - AG_ACCOUNTS_ERROR, - AG_ACCOUNTS_ERROR_READONLY, - error_int->message - }; - g_simple_async_result_set_from_error (async_result, &error); + g_task_return_new_error (task, + AG_ACCOUNTS_ERROR, + AG_ACCOUNTS_ERROR_READONLY, + "%s", error_int->message); g_error_free (error_int); } else { - GObject *source = - g_async_result_get_source_object ((GAsyncResult *)async_result); + GObject *source = g_task_get_source_object (task); AgAccount *account = AG_ACCOUNT (source); /* If this was a new account, we must update the local data * structure */ @@ -213,42 +208,37 @@ AgAccountChanges *changes; g_variant_get_child (result, 0, "u", &account->id); - changes = g_object_get_data ((GObject *)async_result, + changes = g_object_get_data ((GObject *)task, key_remote_changes); _ag_account_done_changes (account, changes); } g_variant_unref (result); + g_task_return_boolean (task, TRUE); } - g_simple_async_result_complete_in_idle (async_result); - g_object_unref (async_result); -G_GNUC_END_IGNORE_DEPRECATIONS + g_object_unref (task); } static void ag_manager_store_dbus_async (AgManager *manager, AgAccount *account, - GSimpleAsyncResult *async_result, - GCancellable *cancellable) + GTask *task) { AgManagerPrivate *priv = manager->priv; AgAccountChanges *changes; GVariant *dbus_changes; if (G_UNLIKELY (!priv->use_dbus)) { -G_GNUC_BEGIN_IGNORE_DEPRECATIONS - g_simple_async_result_set_error (async_result, - AG_ACCOUNTS_ERROR, - AG_ACCOUNTS_ERROR_READONLY, - "DB read-only and D-Bus disabled"); - g_simple_async_result_complete_in_idle (async_result); -G_GNUC_END_IGNORE_DEPRECATIONS - g_object_unref (async_result); + g_task_return_new_error (task, + AG_ACCOUNTS_ERROR, + AG_ACCOUNTS_ERROR_READONLY, + "DB read-only and D-Bus disabled"); + g_object_unref (task); return; } changes = _ag_account_steal_changes (account); dbus_changes = _ag_account_build_dbus_changes (account, changes, NULL); - g_object_set_data_full ((GObject *)async_result, + g_object_set_data_full ((GObject *)task, key_remote_changes, changes, (GDestroyNotify) _ag_account_changes_free); @@ -261,9 +251,9 @@ NULL, G_DBUS_CALL_FLAGS_NONE, -1, - cancellable, + g_task_get_cancellable (task), (GAsyncReadyCallback)on_dbus_store_done, - async_result); + task); } static gboolean @@ -1095,11 +1085,9 @@ g_object_ref (account); /* If the operation was cancelled, abort it. */ - if (sd->cancellable != NULL) + if (g_task_return_error_if_cancelled (sd->task)) { - g_cancellable_set_error_if_cancelled (sd->cancellable, &error); - if (error != NULL) - goto finish; + goto finish; } g_return_val_if_fail (priv->begin_stmt != NULL, FALSE); @@ -1125,9 +1113,11 @@ finish: if (error != NULL) { -G_GNUC_BEGIN_IGNORE_DEPRECATIONS - g_simple_async_result_take_error (sd->async_result, error); -G_GNUC_END_IGNORE_DEPRECATIONS + g_task_return_error (sd->task, error); + } + else + { + g_task_return_boolean (sd->task, TRUE); } _ag_account_store_completed (account, sd->changes); @@ -2390,8 +2380,7 @@ void _ag_manager_exec_transaction (AgManager *manager, const gchar *sql, AgAccountChanges *changes, AgAccount *account, - GSimpleAsyncResult *async_result, - GCancellable *cancellable) + GTask *task) { AgManagerPrivate *priv = manager->priv; GError *error = NULL; @@ -2413,8 +2402,7 @@ sd->manager = manager; sd->account = account; sd->changes = changes; - sd->async_result = async_result; - sd->cancellable = cancellable; + sd->task = task; sd->sql = g_strdup (sql); sd->id = g_idle_add ((GSourceFunc)exec_transaction_idle, sd); priv->locks = g_list_prepend (priv->locks, sd); @@ -2432,9 +2420,11 @@ finish: if (error != NULL) { -G_GNUC_BEGIN_IGNORE_DEPRECATIONS - g_simple_async_result_take_error (async_result, error); -G_GNUC_END_IGNORE_DEPRECATIONS + g_task_return_error (task, error); + } + else + { + g_task_return_boolean (task, TRUE); } _ag_account_store_completed (account, changes); @@ -2485,8 +2475,7 @@ static void ag_manager_store_local_async (AgManager *manager, AgAccount *account, - GSimpleAsyncResult *async_result, - GCancellable *cancellable) + GTask *task) { AgAccountChanges *changes; GError *error = NULL; @@ -2495,19 +2484,14 @@ sql = _ag_account_get_store_sql (account, &error); if (G_UNLIKELY (error)) { -G_GNUC_BEGIN_IGNORE_DEPRECATIONS - g_simple_async_result_take_error (async_result, - error); - g_simple_async_result_complete_in_idle (async_result); -G_GNUC_END_IGNORE_DEPRECATIONS - g_object_unref (async_result); + g_task_return_error (task, error); + g_object_unref (task); return; } changes = _ag_account_steal_changes (account); - _ag_manager_exec_transaction (manager, sql, changes, account, - async_result, cancellable); + _ag_manager_exec_transaction (manager, sql, changes, account, task); g_free (sql); } @@ -2547,18 +2531,15 @@ void _ag_manager_store_async (AgManager *manager, AgAccount *account, - GSimpleAsyncResult *async_result, - GCancellable *cancellable) + GTask *task) { if (manager->priv->is_readonly) { - ag_manager_store_dbus_async (manager, account, async_result, - cancellable); + ag_manager_store_dbus_async (manager, account, task); } else { - ag_manager_store_local_async (manager, account, async_result, - cancellable); + ag_manager_store_local_async (manager, account, task); } } @@ -2858,7 +2839,7 @@ for (list = all_applications; list != NULL; list = list->next) { AgApplication *application = list->data; - if (_ag_application_supports_service (application, service)) + if (ag_application_supports_service (application, service)) { applications = g_list_prepend (applications, application); } @@ -2872,3 +2853,21 @@ return applications; } +/** + * ag_manager_list_services_by_application: + * @manager: the #AgManager. + * @application: a #AgApplication. + * + * Get the list of services that are supported by @application. + * + * Returns: (transfer full) (element-type AgService): a #GList of #AgService + * items representing all the services which are supported. Must be free'd with + * ag_service_list_free(). + */ +GList * +ag_manager_list_services_by_application (AgManager *manager, + AgApplication *application) +{ + g_return_val_if_fail (AG_IS_MANAGER (manager), NULL); + return _ag_application_list_supported_services (application, manager); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-manager.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-manager.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-manager.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-manager.h 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * Copyright (C) 2012 Intel Corporation. * * Contact: Alberto Mardegan <[email protected]> @@ -95,6 +95,8 @@ GList *ag_manager_list_services (AgManager *manager); GList *ag_manager_list_services_by_type (AgManager *manager, const gchar *service_type); +GList *ag_manager_list_services_by_application (AgManager *manager, + AgApplication *application); GList *ag_manager_list_enabled (AgManager *manager); GList *ag_manager_list_enabled_by_service_type (AgManager *manager, const gchar *service_type); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-provider.c new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-provider.c --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-provider.c 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-provider.c 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012-2013 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-provider.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-provider.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-provider.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-provider.h 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012-2013 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-service-type.c new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-service-type.c --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-service-type.c 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-service-type.c 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2010 Nokia Corporation. - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * Copyright (C) 2012 Intel Corporation. * * Contact: Alberto Mardegan <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-service-type.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-service-type.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-service-type.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-service-type.h 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2010 Nokia Corporation. - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * Copyright (C) 2012 Intel Corporation. * * Contact: Alberto Mardegan <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-service.c new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-service.c --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-service.c 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-service.c 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * Copyright (C) 2012 Intel Corporation. * * Contact: Alberto Mardegan <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-service.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-service.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-service.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-service.h 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * Copyright (C) 2012 Intel Corporation. * * Contact: Alberto Mardegan <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-types.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-types.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-types.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-types.h 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * * Contact: Alberto Mardegan <[email protected]> * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-util.c new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-util.c --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-util.c 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-util.c 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * Copyright (C) 2012 Intel Corporation. * * Contact: Alberto Mardegan <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-util.h new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-util.h --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/libaccounts-glib/ag-util.h 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/libaccounts-glib/ag-util.h 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * Copyright (C) 2012 Intel Corporation. * * Contact: Alberto Mardegan <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/m4/gcov.m4 new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/m4/gcov.m4 --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/m4/gcov.m4 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/m4/gcov.m4 2016-09-28 09:51:51.000000000 +0200 @@ -46,7 +46,7 @@ AC_MSG_ERROR([ccache must be disabled when --enable-gcov option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.]) fi - lcov_version_list="1.6 1.7 1.8 1.9 1.10 1.11" + lcov_version_list="1.6 1.7 1.8 1.9 1.10 1.11 1.12" AC_CHECK_PROG(LCOV, lcov, lcov) AC_CHECK_PROG(GENHTML, genhtml, genhtml) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/tests/check_ag.c new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/tests/check_ag.c --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/tests/check_ag.c 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/tests/check_ag.c 2016-09-28 09:51:51.000000000 +0200 @@ -4,7 +4,7 @@ * This file is part of libaccounts-glib * * Copyright (C) 2009-2010 Nokia Corporation. - * Copyright (C) 2012-2013 Canonical Ltd. + * Copyright (C) 2012-2016 Canonical Ltd. * Copyright (C) 2012 Intel Corporation. * * Contact: Alberto Mardegan <[email protected]> @@ -1625,6 +1625,8 @@ "mailer-catalog") == 0); fail_unless (g_strcmp0 (ag_application_get_description (application), "Mailer application") == 0); + ck_assert (ag_application_supports_service (application, email_service)); + ck_assert (!ag_application_supports_service (application, sharing_service)); fail_unless (g_strcmp0 (ag_application_get_service_usage (application, email_service), "Mailer can retrieve your e-mails") == 0); @@ -1647,6 +1649,8 @@ "Gallery") == 0); fail_unless (g_strcmp0 (ag_application_get_description (application), "Image gallery") == 0); + ck_assert (!ag_application_supports_service (application, email_service)); + ck_assert (ag_application_supports_service (application, sharing_service)); fail_unless (g_strcmp0 (ag_application_get_service_usage (application, sharing_service), "Publish images on OtherService") == 0); @@ -1660,6 +1664,46 @@ } END_TEST +START_TEST(test_application_supported_services) +{ + AgService *email_service, *sharing_service; + AgApplication *application; + GList *list; + gint i; + + manager = ag_manager_new (); + + application = ag_manager_get_application (manager, "Mailer"); + ck_assert (application != NULL); + + list = ag_manager_list_services_by_application (manager, application); + ck_assert (list != NULL); + ck_assert_int_eq (g_list_length (list), 1); + + email_service = list->data; + ck_assert (email_service != NULL); + ck_assert_str_eq (ag_service_get_name (email_service), "MyService"); + + ag_application_unref (application); + ag_service_list_free (list); + + application = ag_manager_get_application (manager, "Gallery"); + ck_assert (application != NULL); + + list = ag_manager_list_services_by_application (manager, application); + ck_assert (list != NULL); + ck_assert_int_eq (g_list_length (list), 1); + + email_service = list->data; + ck_assert_str_eq (ag_service_get_name (email_service), "OtherService"); + + ag_application_unref (application); + ag_service_list_free (list); + + end_test (); +} +END_TEST + START_TEST(test_service) { GValue value = { 0 }; @@ -4039,6 +4083,7 @@ tc = tcase_create("Application"); tcase_add_test (tc, test_application); + tcase_add_test (tc, test_application_supported_services); IF_TEST_CASE_ENABLED("Application") suite_add_tcase (s, tc); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/tests/data/accounts/applications/Mailer.application new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/tests/data/accounts/applications/Mailer.application --- old/libaccounts-glib-VERSION_1.21-00254a604a7c7bd38c41794a80ad8930e90f21aa/tests/data/accounts/applications/Mailer.application 2016-02-19 10:42:37.000000000 +0100 +++ new/libaccounts-glib-VERSION_1.23-8d14b10652b2fe6c25d8ad8334e2d5023d254313/tests/data/accounts/applications/Mailer.application 2016-09-28 09:51:51.000000000 +0200 @@ -3,10 +3,20 @@ <description>Mailer application</description> <translations>mailer-catalog</translations> + <!-- This file refers to "missing-service" and "missing-service-type" which, + as their name hints, do not exist. The only valid reference contained in + this file is the "e-mail" service type. --> + <services> + <service id="missing-service" /> + </services> + <service-types> <service-type id="e-mail"> <description>Mailer can retrieve your e-mails</description> </service-type> + <service-type id="missing-service-type"> + <description>I wish I could do something with it</description> + </service-type> </service-types> </application>
