[ostree: 49/70] Export ostree_repo_get_remote_option* functions
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree: 49/70] Export ostree_repo_get_remote_option* functions
- Date: Fri, 15 Apr 2016 21:05:22 +0000 (UTC)
commit 37382590dc66791f0cdaff876fba24875e9155af
Author: Alexander Larsson <alexl redhat com>
Date: Thu Mar 31 22:00:43 2016 +0200
Export ostree_repo_get_remote_option* functions
These are useful for ostree users (like xdg-app) that have custom
options for remotes. In particular they are useful when we later make them
all respect self->parent_repo.
Closes: #236
Approved by: cgwalters
src/libostree/libostree.sym | 3 +
src/libostree/ostree-repo-private.h | 23 ------
src/libostree/ostree-repo-pull.c | 12 ++--
src/libostree/ostree-repo.c | 131 ++++++++++++++++++++++++-----------
src/libostree/ostree-repo.h | 23 ++++++
5 files changed, 122 insertions(+), 70 deletions(-)
---
diff --git a/src/libostree/libostree.sym b/src/libostree/libostree.sym
index ca3c6fd..c4f44d3 100644
--- a/src/libostree/libostree.sym
+++ b/src/libostree/libostree.sym
@@ -321,6 +321,9 @@ global:
ostree_sysroot_deployment_unlock;
ostree_deployment_get_unlocked;
ostree_deployment_unlocked_state_to_string;
+ ostree_repo_get_remote_option;
+ ostree_repo_get_remote_list_option;
+ ostree_repo_get_remote_boolean_option;
} LIBOSTREE_2016.3;
/* NOTE NOTE NOTE
diff --git a/src/libostree/ostree-repo-private.h b/src/libostree/ostree-repo-private.h
index 484a6ec..24380b2 100644
--- a/src/libostree/ostree-repo-private.h
+++ b/src/libostree/ostree-repo-private.h
@@ -196,29 +196,6 @@ gboolean
_ostree_repo_remote_name_is_file (const char *remote_name);
gboolean
-_ostree_repo_get_remote_option (OstreeRepo *self,
- const char *remote_name,
- const char *option_name,
- const char *default_value,
- char **out_value,
- GError **error);
-
-gboolean
-_ostree_repo_get_remote_list_option (OstreeRepo *self,
- const char *remote_name,
- const char *option_name,
- char ***out_value,
- GError **error);
-
-gboolean
-_ostree_repo_get_remote_boolean_option (OstreeRepo *self,
- const char *remote_name,
- const char *option_name,
- gboolean default_value,
- gboolean *out_value,
- GError **error);
-
-gboolean
_ostree_repo_get_remote_option_inherit (OstreeRepo *self,
const char *remote_name,
const char *option_name,
diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c
index a6272b1..8eca91c 100644
--- a/src/libostree/ostree-repo-pull.c
+++ b/src/libostree/ostree-repo-pull.c
@@ -2008,9 +2008,9 @@ ostree_repo_pull_with_options (OstreeRepo *self,
requested_refs_to_fetch = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
commits_to_fetch = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
- if (!_ostree_repo_get_remote_option (self,
- remote_name_or_baseurl, "metalink",
- NULL, &metalink_url_str, error))
+ if (!ostree_repo_get_remote_option (self,
+ remote_name_or_baseurl, "metalink",
+ NULL, &metalink_url_str, error))
goto out;
if (!metalink_url_str)
@@ -2064,9 +2064,9 @@ ostree_repo_pull_with_options (OstreeRepo *self,
summary_bytes, FALSE);
}
- if (!_ostree_repo_get_remote_list_option (self,
- remote_name_or_baseurl, "branches",
- &configured_branches, error))
+ if (!ostree_repo_get_remote_list_option (self,
+ remote_name_or_baseurl, "branches",
+ &configured_branches, error))
goto out;
if (strcmp (soup_uri_get_scheme (pull_data->base_uri), "file") == 0)
diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c
index a5d0bb2..81b68a0 100644
--- a/src/libostree/ostree-repo.c
+++ b/src/libostree/ostree-repo.c
@@ -257,13 +257,29 @@ _ostree_repo_remote_name_is_file (const char *remote_name)
return g_str_has_prefix (remote_name, "file://");
}
+/**
+ * ostree_repo_get_remote_option:
+ * @self: A OstreeRepo
+ * @remote_name: Name
+ * @option_name: Option
+ * @default_value: (allow-none): Value returned if @option_name is not present
+ * @out_value: (out): Return location for value
+ * @error: Error
+ *
+ * OSTree remotes are represented by keyfile groups, formatted like:
+ * `[remote "remotename"]`. This function returns a value named @option_name
+ * underneath that group, or @default_value if the remote exists but not the
+ * option name.
+ *
+ * Returns: %TRUE on success, otherwise %FALSE with @error set
+ */
gboolean
-_ostree_repo_get_remote_option (OstreeRepo *self,
- const char *remote_name,
- const char *option_name,
- const char *default_value,
- char **out_value,
- GError **error)
+ostree_repo_get_remote_option (OstreeRepo *self,
+ const char *remote_name,
+ const char *option_name,
+ const char *default_value,
+ char **out_value,
+ GError **error)
{
local_cleanup_remote OstreeRemote *remote = NULL;
gboolean ret = FALSE;
@@ -289,12 +305,29 @@ _ostree_repo_get_remote_option (OstreeRepo *self,
return ret;
}
+/**
+ * ostree_repo_get_remote_list_option:
+ * @self: A OstreeRepo
+ * @remote_name: Name
+ * @option_name: Option
+ * @out_value: (out) (array zero-terminated=1): location to store the list
+ * of strings. The list should be freed with
+ * g_strfreev().
+ * @error: Error
+ *
+ * OSTree remotes are represented by keyfile groups, formatted like:
+ * `[remote "remotename"]`. This function returns a value named @option_name
+ * underneath that group, and returns it as an zero terminated array of strings.
+ * If the option is not set, @out_value will be set to %NULL.
+ *
+ * Returns: %TRUE on success, otherwise %FALSE with @error set
+ */
gboolean
-_ostree_repo_get_remote_list_option (OstreeRepo *self,
- const char *remote_name,
- const char *option_name,
- char ***out_value,
- GError **error)
+ostree_repo_get_remote_list_option (OstreeRepo *self,
+ const char *remote_name,
+ const char *option_name,
+ char ***out_value,
+ GError **error)
{
local_cleanup_remote OstreeRemote *remote = NULL;
gboolean ret = FALSE;
@@ -331,13 +364,29 @@ _ostree_repo_get_remote_list_option (OstreeRepo *self,
return ret;
}
+/**
+ * ostree_repo_get_remote_boolean_option:
+ * @self: A OstreeRepo
+ * @remote_name: Name
+ * @option_name: Option
+ * @default_value: (allow-none): Value returned if @option_name is not present
+ * @out_value: (out) : location to store the result.
+ * @error: Error
+ *
+ * OSTree remotes are represented by keyfile groups, formatted like:
+ * `[remote "remotename"]`. This function returns a value named @option_name
+ * underneath that group, and returns it as a boolean.
+ * If the option is not set, @out_value will be set to @default_value.
+ *
+ * Returns: %TRUE on success, otherwise %FALSE with @error set
+ */
gboolean
-_ostree_repo_get_remote_boolean_option (OstreeRepo *self,
- const char *remote_name,
- const char *option_name,
- gboolean default_value,
- gboolean *out_value,
- GError **error)
+ostree_repo_get_remote_boolean_option (OstreeRepo *self,
+ const char *remote_name,
+ const char *option_name,
+ gboolean default_value,
+ gboolean *out_value,
+ GError **error)
{
local_cleanup_remote OstreeRemote *remote = NULL;
gboolean ret = FALSE;
@@ -374,9 +423,9 @@ _ostree_repo_get_remote_option_inherit (OstreeRepo *self,
g_autofree char *value = NULL;
gboolean ret = FALSE;
- if (!_ostree_repo_get_remote_option (self,
- remote_name, option_name,
- NULL, &value, error))
+ if (!ostree_repo_get_remote_option (self,
+ remote_name, option_name,
+ NULL, &value, error))
goto out;
if (value == NULL && parent != NULL)
@@ -412,9 +461,9 @@ _ostree_repo_remote_new_fetcher (OstreeRepo *self,
g_return_val_if_fail (OSTREE_IS_REPO (self), NULL);
g_return_val_if_fail (remote_name != NULL, NULL);
- if (!_ostree_repo_get_remote_boolean_option (self, remote_name,
- "tls-permissive", FALSE,
- &tls_permissive, error))
+ if (!ostree_repo_get_remote_boolean_option (self, remote_name,
+ "tls-permissive", FALSE,
+ &tls_permissive, error))
goto out;
if (tls_permissive)
@@ -426,13 +475,13 @@ _ostree_repo_remote_new_fetcher (OstreeRepo *self,
g_autofree char *tls_client_cert_path = NULL;
g_autofree char *tls_client_key_path = NULL;
- if (!_ostree_repo_get_remote_option (self, remote_name,
- "tls-client-cert-path", NULL,
- &tls_client_cert_path, error))
+ if (!ostree_repo_get_remote_option (self, remote_name,
+ "tls-client-cert-path", NULL,
+ &tls_client_cert_path, error))
goto out;
- if (!_ostree_repo_get_remote_option (self, remote_name,
- "tls-client-key-path", NULL,
- &tls_client_key_path, error))
+ if (!ostree_repo_get_remote_option (self, remote_name,
+ "tls-client-key-path", NULL,
+ &tls_client_key_path, error))
goto out;
if ((tls_client_cert_path != NULL) != (tls_client_key_path != NULL))
@@ -462,9 +511,9 @@ _ostree_repo_remote_new_fetcher (OstreeRepo *self,
{
g_autofree char *tls_ca_path = NULL;
- if (!_ostree_repo_get_remote_option (self, remote_name,
- "tls-ca-path", NULL,
- &tls_ca_path, error))
+ if (!ostree_repo_get_remote_option (self, remote_name,
+ "tls-ca-path", NULL,
+ &tls_ca_path, error))
goto out;
if (tls_ca_path != NULL)
@@ -482,9 +531,9 @@ _ostree_repo_remote_new_fetcher (OstreeRepo *self,
{
g_autofree char *http_proxy = NULL;
- if (!_ostree_repo_get_remote_option (self, remote_name,
- "proxy", NULL,
- &http_proxy, error))
+ if (!ostree_repo_get_remote_option (self, remote_name,
+ "proxy", NULL,
+ &http_proxy, error))
goto out;
if (http_proxy != NULL)
@@ -1343,8 +1392,8 @@ ostree_repo_remote_get_gpg_verify (OstreeRepo *self,
return TRUE;
}
- return _ostree_repo_get_remote_boolean_option (self, name, "gpg-verify",
- TRUE, out_gpg_verify, error);
+ return ostree_repo_get_remote_boolean_option (self, name, "gpg-verify",
+ TRUE, out_gpg_verify, error);
}
/**
@@ -1366,8 +1415,8 @@ ostree_repo_remote_get_gpg_verify_summary (OstreeRepo *self,
gboolean *out_gpg_verify_summary,
GError **error)
{
- return _ostree_repo_get_remote_boolean_option (self, name, "gpg-verify-summary",
- FALSE, out_gpg_verify_summary, error);
+ return ostree_repo_get_remote_boolean_option (self, name, "gpg-verify-summary",
+ FALSE, out_gpg_verify_summary, error);
}
/**
@@ -1889,8 +1938,8 @@ ostree_repo_remote_fetch_summary (OstreeRepo *self,
g_return_val_if_fail (OSTREE_REPO (self), FALSE);
g_return_val_if_fail (name != NULL, FALSE);
- if (!_ostree_repo_get_remote_option (self, name, "metalink", NULL,
- &metalink_url_string, error))
+ if (!ostree_repo_get_remote_option (self, name, "metalink", NULL,
+ &metalink_url_string, error))
goto out;
if (!repo_remote_fetch_summary (self,
diff --git a/src/libostree/ostree-repo.h b/src/libostree/ostree-repo.h
index f83aef2..822014f 100644
--- a/src/libostree/ostree-repo.h
+++ b/src/libostree/ostree-repo.h
@@ -148,6 +148,29 @@ gboolean ostree_repo_remote_get_gpg_verify_summary (OstreeRepo *self,
GError **error);
_OSTREE_PUBLIC
+gboolean ostree_repo_get_remote_option (OstreeRepo *self,
+ const char *remote_name,
+ const char *option_name,
+ const char *default_value,
+ char **out_value,
+ GError **error);
+
+_OSTREE_PUBLIC
+gboolean ostree_repo_get_remote_list_option (OstreeRepo *self,
+ const char *remote_name,
+ const char *option_name,
+ char ***out_value,
+ GError **error);
+
+_OSTREE_PUBLIC
+gboolean ostree_repo_get_remote_boolean_option (OstreeRepo *self,
+ const char *remote_name,
+ const char *option_name,
+ gboolean default_value,
+ gboolean *out_value,
+ GError **error);
+
+_OSTREE_PUBLIC
gboolean ostree_repo_remote_gpg_import (OstreeRepo *self,
const char *name,
GInputStream *source_stream,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]