mirror of
https://github.com/ostreedev/ostree.git
synced 2025-01-21 22:04:15 +03:00
repo: Add wrapper function for setting devino cache on checkout opts
I was trying to use this with pygobject for an OCI+ostree project, and pygobject rejected simply assigning to the field (understandably, since it can't bind the lifetime together). Add a wrapper function, which is still unsafe, but hides that unsafety where most people shouldn't find it. And if they do...well, sorry, Rust wasn't invented when ostree was started. Closes: #1295 Approved by: pwithnall
This commit is contained in:
parent
b8251d26bd
commit
1222c2271b
@ -371,6 +371,8 @@ ostree_repo_write_commit
|
||||
ostree_repo_write_commit_with_time
|
||||
ostree_repo_read_commit_detached_metadata
|
||||
ostree_repo_write_commit_detached_metadata
|
||||
OstreeRepoCheckoutAtOptions
|
||||
ostree_repo_checkout_at_options_set_devino
|
||||
OstreeRepoCheckoutMode
|
||||
OstreeRepoCheckoutOverwriteMode
|
||||
ostree_repo_checkout_tree
|
||||
|
@ -21,6 +21,7 @@
|
||||
LIBOSTREE_2017.13 {
|
||||
global:
|
||||
ostree_checksum_file_at;
|
||||
ostree_repo_checkout_at_options_set_devino;
|
||||
} LIBOSTREE_2017.12;
|
||||
|
||||
/* Stub section for the stable release *after* this development one; don't
|
||||
|
@ -1210,6 +1210,24 @@ ostree_repo_checkout_at (OstreeRepo *self,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* ostree_repo_checkout_at_options_set_devino:
|
||||
* @opts: Checkout options
|
||||
* @cache: (transfer none) (nullable): Devino cache
|
||||
*
|
||||
* This function simply assigns @cache to the `devino_to_csum_cache` member of
|
||||
* @opts; it's only useful for introspection.
|
||||
*
|
||||
* Note that cache does *not* have its refcount incremented - the lifetime of
|
||||
* @cache must be equal to or greater than that of @opts.
|
||||
*/
|
||||
void
|
||||
ostree_repo_checkout_at_options_set_devino (OstreeRepoCheckoutAtOptions *opts,
|
||||
OstreeRepoDevInoCache *cache)
|
||||
{
|
||||
opts->devino_to_csum_cache = cache;
|
||||
}
|
||||
|
||||
static guint
|
||||
devino_hash (gconstpointer a)
|
||||
{
|
||||
|
@ -3415,6 +3415,8 @@ ostree_repo_commit_modifier_set_sepolicy (OstreeRepoCommitModifier
|
||||
*
|
||||
* This function will add a reference to @cache without copying - you
|
||||
* should avoid further mutation of the cache.
|
||||
*
|
||||
* Since: 2017.13
|
||||
*/
|
||||
void
|
||||
ostree_repo_commit_modifier_set_devino_cache (OstreeRepoCommitModifier *modifier,
|
||||
|
@ -911,6 +911,9 @@ OstreeRepoDevInoCache * ostree_repo_devino_cache_ref (OstreeRepoDevInoCache *cac
|
||||
_OSTREE_PUBLIC
|
||||
void ostree_repo_devino_cache_unref (OstreeRepoDevInoCache *cache);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
void ostree_repo_checkout_at_options_set_devino (OstreeRepoCheckoutAtOptions *opts, OstreeRepoDevInoCache *cache);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
gboolean ostree_repo_checkout_at (OstreeRepo *self,
|
||||
OstreeRepoCheckoutAtOptions *options,
|
||||
|
Loading…
x
Reference in New Issue
Block a user