diff --git a/lib/test-lib.c b/lib/test-lib.c index 6b2a14a4..45e2f346 100644 --- a/lib/test-lib.c +++ b/lib/test-lib.c @@ -243,13 +243,14 @@ main (int argc, char *argv[]) { XdgAppRemote *remote = g_ptr_array_index(remotes, i); g_autoptr(GPtrArray) refs = NULL; - g_print ("\nRemote: %s %d %s %s %d %d\n", + g_print ("\nRemote: %s %d %s %s %d %d %s\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), - xdg_app_remote_get_noenumerate (remote)); + xdg_app_remote_get_noenumerate (remote), + g_file_get_path (xdg_app_remote_get_appstream_dir (remote, NULL))); g_print ("\n**** Listing remote refs on %s\n", xdg_app_remote_get_name (remote)); refs = xdg_app_installation_list_remote_refs_sync (installation, xdg_app_remote_get_name (remote), diff --git a/lib/xdg-app-remote.c b/lib/xdg-app-remote.c index b27dd938..6087b61d 100644 --- a/lib/xdg-app-remote.c +++ b/lib/xdg-app-remote.c @@ -129,6 +129,22 @@ xdg_app_remote_get_name (XdgAppRemote *self) return priv->name; } +GFile * +xdg_app_remote_get_appstream_dir (XdgAppRemote *self, + const char *arch) +{ + XdgAppRemotePrivate *priv = xdg_app_remote_get_instance_private (self); + g_autoptr(GFile) dir = NULL; + g_autofree char *subdir = NULL; + + if (arch == NULL) + arch = xdg_app_get_arch (); + + subdir = g_strdup_printf ("appstream/%s/%s/active", priv->name, arch); + return g_file_resolve_relative_path (xdg_app_dir_get_path (priv->dir), + subdir); +} + char * xdg_app_remote_get_url (XdgAppRemote *self) { diff --git a/lib/xdg-app-remote.h b/lib/xdg-app-remote.h index 2e86633e..ee107734 100644 --- a/lib/xdg-app-remote.h +++ b/lib/xdg-app-remote.h @@ -48,11 +48,13 @@ typedef struct { G_DEFINE_AUTOPTR_CLEANUP_FUNC(XdgAppRemote, g_object_unref) #endif -XDG_APP_EXTERN const char * xdg_app_remote_get_name (XdgAppRemote *self); -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); +XDG_APP_EXTERN const char * xdg_app_remote_get_name (XdgAppRemote *self); +XDG_APP_EXTERN GFile * xdg_app_remote_get_appstream_dir (XdgAppRemote *self, + const char *arch); +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__ */