lib: Add xdg_app_remote_get_appstream_dir

tingping/wmclass
Alexander Larsson 2016-01-19 15:18:44 +01:00
parent 2bede34952
commit 1d89c2fcab
3 changed files with 27 additions and 8 deletions

View File

@ -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),

View File

@ -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)
{

View File

@ -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__ */