diff options
author | Philip Withnall <pwithnall@endlessos.org> | 2023-03-02 20:08:32 +0000 |
---|---|---|
committer | Alexander Larsson <alexander.larsson@gmail.com> | 2023-03-30 14:54:18 +0200 |
commit | 0fff6ac1719449750b6c54dfae89ebd4395818b8 (patch) | |
tree | 5101a8d0acd40a6b68ec2d5f16ba1dbce0d1caac | |
parent | cffc3aed5b9034e9b74ae60daba452ceb97ac9cc (diff) | |
download | flatpak-0fff6ac1719449750b6c54dfae89ebd4395818b8.tar.gz |
transaction: Add an out_op argument to flatpak_transaction_add_ref()
This will be used in the next commit to simplify some new code.
Currently, this introduces no functional changes.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Helps: #3991
-rw-r--r-- | common/flatpak-transaction.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/common/flatpak-transaction.c b/common/flatpak-transaction.c index 0cecd564..0df4d310 100644 --- a/common/flatpak-transaction.c +++ b/common/flatpak-transaction.c @@ -2605,6 +2605,7 @@ add_deps (FlatpakTransaction *self, return TRUE; } +/* @out_op may return %NULL even when this function returns %TRUE. It’s (transfer none). */ static gboolean flatpak_transaction_add_ref (FlatpakTransaction *self, const char *remote, @@ -2616,6 +2617,7 @@ flatpak_transaction_add_ref (FlatpakTransaction *self, GFile *bundle, const char *external_metadata, gboolean pin_on_deploy, + FlatpakTransactionOperation **out_op, GError **error) { FlatpakTransactionPrivate *priv = flatpak_transaction_get_instance_private (self); @@ -2626,6 +2628,9 @@ flatpak_transaction_add_ref (FlatpakTransaction *self, g_autoptr(FlatpakRemoteState) state = NULL; FlatpakTransactionOperation *op; + if (out_op != NULL) + *out_op = NULL; + if (remote_name_is_file (remote)) { gboolean changed_config; @@ -2740,6 +2745,9 @@ flatpak_transaction_add_ref (FlatpakTransaction *self, if (external_metadata) op->external_metadata = g_bytes_new (external_metadata, strlen (external_metadata)); + if (out_op != NULL) + *out_op = op; + return TRUE; } @@ -2787,7 +2795,7 @@ flatpak_transaction_add_install (FlatpakTransaction *self, if (!flatpak_transaction_add_ref (self, remote, decomposed, subpaths, NULL, NULL, FLATPAK_TRANSACTION_OPERATION_INSTALL, - NULL, NULL, pin_on_deploy, error)) + NULL, NULL, pin_on_deploy, NULL, error)) return FALSE; return TRUE; @@ -2843,7 +2851,7 @@ flatpak_transaction_add_rebase (FlatpakTransaction *self, if (dir_ref_is_installed (priv->dir, decomposed, &installed_origin, NULL)) remote = installed_origin; - return flatpak_transaction_add_ref (self, remote, decomposed, subpaths, previous_ids, NULL, FLATPAK_TRANSACTION_OPERATION_INSTALL_OR_UPDATE, NULL, NULL, FALSE, error); + return flatpak_transaction_add_ref (self, remote, decomposed, subpaths, previous_ids, NULL, FLATPAK_TRANSACTION_OPERATION_INSTALL_OR_UPDATE, NULL, NULL, FALSE, NULL, error); } /** @@ -2937,7 +2945,7 @@ flatpak_transaction_add_update (FlatpakTransaction *self, return FALSE; /* Note: we implement the merge when subpaths == NULL in flatpak_transaction_add_ref() */ - return flatpak_transaction_add_ref (self, NULL, decomposed, subpaths, NULL, commit, FLATPAK_TRANSACTION_OPERATION_UPDATE, NULL, NULL, FALSE, error); + return flatpak_transaction_add_ref (self, NULL, decomposed, subpaths, NULL, commit, FLATPAK_TRANSACTION_OPERATION_UPDATE, NULL, NULL, FALSE, NULL, error); } /** @@ -2964,7 +2972,7 @@ flatpak_transaction_add_uninstall (FlatpakTransaction *self, if (decomposed == NULL) return FALSE; - return flatpak_transaction_add_ref (self, NULL, decomposed, NULL, NULL, NULL, FLATPAK_TRANSACTION_OPERATION_UNINSTALL, NULL, NULL, FALSE, error); + return flatpak_transaction_add_ref (self, NULL, decomposed, NULL, NULL, NULL, FLATPAK_TRANSACTION_OPERATION_UNINSTALL, NULL, NULL, FALSE, NULL, error); } static gboolean @@ -3076,7 +3084,7 @@ flatpak_transaction_add_auto_install (FlatpakTransaction *self, if (!flatpak_transaction_add_ref (self, remote, auto_install_ref, NULL, NULL, NULL, FLATPAK_TRANSACTION_OPERATION_INSTALL_OR_UPDATE, - NULL, NULL, FALSE, + NULL, NULL, FALSE, NULL, &local_error)) g_info ("Failed to add auto-install ref %s: %s", flatpak_decomposed_get_ref (auto_install_ref), local_error->message); @@ -4576,7 +4584,7 @@ flatpak_transaction_resolve_bundles (FlatpakTransaction *self, if (!flatpak_transaction_add_ref (self, remote, ref, NULL, NULL, commit, FLATPAK_TRANSACTION_OPERATION_INSTALL_BUNDLE, - data->file, metadata, FALSE, error)) + data->file, metadata, FALSE, NULL, error)) return FALSE; } |