summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2015-12-21 10:25:41 +0100
committerAlexander Larsson <alexl@redhat.com>2015-12-21 10:28:15 +0100
commitea543c8f93c24fb628efe3884c8e421176fdb02e (patch)
treecfb9191f4a2fd1fabff90cd4eccb6352e4f64e14 /lib
parent22c1229ea8977e81a5f30f91d090bf4e0922caaa (diff)
downloadxdg-app-ea543c8f93c24fb628efe3884c8e421176fdb02e.tar.gz
lib/app: Add support for repo priorities
New repos default to prio 1, bundle repos default to prio 0. Listing repos returns in sorted order, with add order as secondary sort key.
Diffstat (limited to 'lib')
-rw-r--r--lib/test-lib.c3
-rw-r--r--lib/xdg-app-installation.c3
-rw-r--r--lib/xdg-app-remote.c8
-rw-r--r--lib/xdg-app-remote.h1
4 files changed, 13 insertions, 2 deletions
diff --git a/lib/test-lib.c b/lib/test-lib.c
index e3686c9..a60d196 100644
--- a/lib/test-lib.c
+++ b/lib/test-lib.c
@@ -220,8 +220,9 @@ main (int argc, char *argv[])
{
XdgAppRemote *remote = g_ptr_array_index(remotes, i);
g_autoptr(GPtrArray) refs = NULL;
- g_print ("\nRemote: %s %s %s %d %d\n",
+ g_print ("\nRemote: %s %d %s %s %d %d\n",
xdg_app_remote_get_name (remote),
+ xdg_app_remote_get_prio (remote),
xdg_app_remote_get_url (remote),
xdg_app_remote_get_title (remote),
xdg_app_remote_get_gpg_verify (remote),
diff --git a/lib/xdg-app-installation.c b/lib/xdg-app-installation.c
index 1deb89d..a4d89d1 100644
--- a/lib/xdg-app-installation.c
+++ b/lib/xdg-app-installation.c
@@ -502,7 +502,8 @@ xdg_app_installation_list_installed_refs_for_update (XdgAppInstallation *self,
* @cancellable: (nullable): a #GCancellable
* @error: return location for a #GError
*
- * Lists the remotes.
+ * Lists the remotes, in priority (highest first) order. For same priority,
+ * earlier added remote comes before a later added one.
*
* Returns: (transfer container) (element-type XdgAppRemote): an GPtrArray of
* #XdgAppRemote instances
diff --git a/lib/xdg-app-remote.c b/lib/xdg-app-remote.c
index 1ab4727..b27dd93 100644
--- a/lib/xdg-app-remote.c
+++ b/lib/xdg-app-remote.c
@@ -158,6 +158,14 @@ xdg_app_remote_get_noenumerate (XdgAppRemote *self)
return xdg_app_dir_get_remote_noenumerate (priv->dir, priv->name);
}
+int
+xdg_app_remote_get_prio (XdgAppRemote *self)
+{
+ XdgAppRemotePrivate *priv = xdg_app_remote_get_instance_private (self);
+
+ return xdg_app_dir_get_remote_prio (priv->dir, priv->name);
+}
+
gboolean
xdg_app_remote_get_gpg_verify (XdgAppRemote *self)
{
diff --git a/lib/xdg-app-remote.h b/lib/xdg-app-remote.h
index f8be547..2e86633 100644
--- a/lib/xdg-app-remote.h
+++ b/lib/xdg-app-remote.h
@@ -53,5 +53,6 @@ XDG_APP_EXTERN char * xdg_app_remote_get_url (XdgAppRemote *self);
XDG_APP_EXTERN char * xdg_app_remote_get_title (XdgAppRemote *self);
XDG_APP_EXTERN gboolean xdg_app_remote_get_gpg_verify (XdgAppRemote *self);
XDG_APP_EXTERN gboolean xdg_app_remote_get_noenumerate (XdgAppRemote *self);
+XDG_APP_EXTERN int xdg_app_remote_get_prio (XdgAppRemote *self);
#endif /* __XDG_APP_REMOTE_H__ */