Add ostree_repo_remote_list()
Lists available remote names.
This commit is contained in:
parent
fd07a6a862
commit
39be27fc93
|
|
@ -61,6 +61,7 @@ ostree_repo_get_mode
|
|||
ostree_repo_mode_from_string
|
||||
ostree_repo_get_config
|
||||
ostree_repo_copy_config
|
||||
ostree_repo_remote_list
|
||||
ostree_repo_get_parent
|
||||
ostree_repo_write_config
|
||||
OstreeRepoTransactionStats
|
||||
|
|
|
|||
|
|
@ -880,6 +880,54 @@ ostree_repo_remote_change (OstreeRepo *self,
|
|||
g_assert_not_reached ();
|
||||
}
|
||||
|
||||
/**
|
||||
* ostree_repo_remote_list:
|
||||
* @self: Repo
|
||||
* @out_n_remotes: (out) (allow-none): Number of remotes available
|
||||
*
|
||||
* List available remote names in an #OstreeRepo. Remote names are sorted
|
||||
* alphabetically. If no remotes are available the function returns %NULL.
|
||||
*
|
||||
* Returns: (array length=out_n_remotes) (transfer full): a %NULL-terminated
|
||||
* array of remote names
|
||||
**/
|
||||
char **
|
||||
ostree_repo_remote_list (OstreeRepo *self,
|
||||
guint *out_n_remotes)
|
||||
{
|
||||
char **remotes = NULL;
|
||||
guint n_remotes;
|
||||
|
||||
g_mutex_lock (&self->remotes_lock);
|
||||
|
||||
n_remotes = g_hash_table_size (self->remotes);
|
||||
|
||||
if (n_remotes > 0)
|
||||
{
|
||||
GList *list, *link;
|
||||
guint ii = 0;
|
||||
|
||||
remotes = g_new (char *, n_remotes + 1);
|
||||
|
||||
list = g_hash_table_get_keys (self->remotes);
|
||||
list = g_list_sort (list, (GCompareFunc) strcmp);
|
||||
|
||||
for (link = list; link != NULL; link = link->next)
|
||||
remotes[ii++] = g_strdup (link->data);
|
||||
|
||||
g_list_free (list);
|
||||
|
||||
remotes[ii] = NULL;
|
||||
}
|
||||
|
||||
g_mutex_unlock (&self->remotes_lock);
|
||||
|
||||
if (out_n_remotes)
|
||||
*out_n_remotes = n_remotes;
|
||||
|
||||
return remotes;
|
||||
}
|
||||
|
||||
/**
|
||||
* ostree_repo_remote_get_url:
|
||||
* @self: Repo
|
||||
|
|
|
|||
|
|
@ -95,6 +95,9 @@ gboolean ostree_repo_remote_change (OstreeRepo *self,
|
|||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
char ** ostree_repo_remote_list (OstreeRepo *self,
|
||||
guint *out_n_remotes);
|
||||
|
||||
gboolean ostree_repo_remote_get_url (OstreeRepo *self,
|
||||
const char *name,
|
||||
char **out_url,
|
||||
|
|
|
|||
Loading…
Reference in New Issue