diff options
author | Eduardo Lima (Etrunko) <etrunko@redhat.com> | 2018-07-31 11:01:55 -0300 |
---|---|---|
committer | Eduardo Lima (Etrunko) <etrunko@redhat.com> | 2019-08-26 10:18:52 -0300 |
commit | 22bd91cba08f3cdfbe6849eb208d85f82c7a09d2 (patch) | |
tree | 5ae25de2c782d4390b8ad897c416fb505ac07cfa | |
parent | ff0bfe3494e56df3c473d18f5c309643b8bc8596 (diff) |
ovirt-foreign-menu: Factor out code to set file collection
Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
-rw-r--r-- | src/ovirt-foreign-menu.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/ovirt-foreign-menu.c b/src/ovirt-foreign-menu.c index c2f43e6..190bb3b 100644 --- a/src/ovirt-foreign-menu.c +++ b/src/ovirt-foreign-menu.c @@ -674,6 +674,18 @@ static gboolean storage_domain_validate(OvirtForeignMenu *menu G_GNUC_UNUSED, return ret; } +static gboolean ovirt_foreign_menu_set_file_collection(OvirtForeignMenu *menu, OvirtCollection *file_collection) +{ + g_return_val_if_fail(file_collection != NULL, FALSE); + + if (menu->priv->files) { + g_object_unref(G_OBJECT(menu->priv->files)); + } + menu->priv->files = g_object_ref(G_OBJECT(file_collection)); + g_debug("Set VM files to %p", menu->priv->files); + return TRUE; +} + static void storage_domains_fetched_cb(GObject *source_object, GAsyncResult *result, gpointer user_data) @@ -705,14 +717,11 @@ static void storage_domains_fetched_cb(GObject *source_object, domain_valid = TRUE; file_collection = ovirt_storage_domain_get_files(domain); - if (file_collection != NULL) { - if (menu->priv->files) { - g_object_unref(G_OBJECT(menu->priv->files)); - } - menu->priv->files = g_object_ref(G_OBJECT(file_collection)); - g_debug("Set VM files to %p", menu->priv->files); - break; - } + if (!ovirt_foreign_menu_set_file_collection(menu, file_collection)) + continue; + + break; /* There can only be one valid storage domain at a time, + no need to iterate more on the list */ } if (menu->priv->files != NULL) { |