summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Withnall <pwithnall@endlessos.org>2023-03-02 20:08:32 +0000
committerAlexander Larsson <alexander.larsson@gmail.com>2023-03-30 14:54:18 +0200
commit0fff6ac1719449750b6c54dfae89ebd4395818b8 (patch)
tree5101a8d0acd40a6b68ec2d5f16ba1dbce0d1caac
parentcffc3aed5b9034e9b74ae60daba452ceb97ac9cc (diff)
downloadflatpak-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.c20
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;
}