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>


Reply via email to