[libvirt] [libvirt-glib] storage-pool: API to get/set autostart flag
Zeeshan Ali (Khattak)
zeeshanak at gnome.org
Wed May 20 11:46:01 UTC 2015
Ping!
I forgot to mention, this is likely needed to fix:
https://bugzilla.gnome.org/show_bug.cgi?id=748160
On Mon, May 18, 2015 at 3:11 PM, Zeeshan Ali (Khattak)
<zeeshanak at gnome.org> wrote:
> Add binding for virStoragePoolGetAutostart & virStoragePoolSetAutostart.
> ---
> libvirt-gobject/libvirt-gobject-storage-pool.c | 52 ++++++++++++++++++++++++++
> libvirt-gobject/libvirt-gobject-storage-pool.h | 5 +++
> libvirt-gobject/libvirt-gobject.sym | 6 +++
> 3 files changed, 63 insertions(+)
>
> diff --git a/libvirt-gobject/libvirt-gobject-storage-pool.c b/libvirt-gobject/libvirt-gobject-storage-pool.c
> index f3eac0d..e520c6a 100644
> --- a/libvirt-gobject/libvirt-gobject-storage-pool.c
> +++ b/libvirt-gobject/libvirt-gobject-storage-pool.c
> @@ -1048,6 +1048,58 @@ gboolean gvir_storage_pool_delete (GVirStoragePool *pool,
> return TRUE;
> }
>
> +/**
> + * gvir_storage_pool_get_autostart:
> + * @pool: the storage pool
> + * @err: return location for any #GError
> + *
> + * Return value: #True if autostart is enabled, #False otherwise.
> + */
> +gboolean gvir_storage_pool_get_autostart(GVirStoragePool *pool,
> + GError **err)
> +{
> + gboolean ret = FALSE;
> +
> + g_return_val_if_fail(GVIR_IS_STORAGE_POOL(pool), ret);
> + g_return_val_if_fail(err == NULL || *err == NULL, ret);
> +
> + if (virStoragePoolGetAutostart(pool->priv->handle, &ret)) {
> + gvir_set_error_literal(err, GVIR_STORAGE_POOL_ERROR,
> + 0,
> + "Failed to get autostart flag from storage pool");
> + return FALSE;
> + }
> +
> + return ret;
> +}
> +
> +/**
> + * gvir_storage_pool_set_autostart:
> + * @pool: the storage pool
> + * @autostart: New value for autostart flag
> + * @err: return location for any #GError
> + *
> + * Sets whether or not storage pool @pool is started automatically on boot.
> + *
> + * Return value: #TRUE on success, #FALSE otherwise.
> + */
> +gboolean gvir_storage_pool_set_autostart(GVirStoragePool *pool,
> + gboolean autostart,
> + GError **err)
> +{
> + g_return_val_if_fail(GVIR_IS_STORAGE_POOL(pool), FALSE);
> + g_return_val_if_fail(err == NULL || *err == NULL, FALSE);
> +
> + if (virStoragePoolSetAutostart(pool->priv->handle, autostart)) {
> + gvir_set_error_literal(err, GVIR_STORAGE_POOL_ERROR,
> + 0,
> + "Failed to set autostart flag on storage pool");
> + return FALSE;
> + }
> +
> + return TRUE;
> +}
> +
> static void
> gvir_storage_pool_delete_helper(GSimpleAsyncResult *res,
> GObject *object,
> diff --git a/libvirt-gobject/libvirt-gobject-storage-pool.h b/libvirt-gobject/libvirt-gobject-storage-pool.h
> index f8529f0..f7f879c 100644
> --- a/libvirt-gobject/libvirt-gobject-storage-pool.h
> +++ b/libvirt-gobject/libvirt-gobject-storage-pool.h
> @@ -166,6 +166,11 @@ void gvir_storage_pool_delete_async (GVirStoragePool *pool,
> gboolean gvir_storage_pool_delete_finish(GVirStoragePool *pool,
> GAsyncResult *result,
> GError **err);
> +gboolean gvir_storage_pool_get_autostart(GVirStoragePool *pool,
> + GError **err);
> +gboolean gvir_storage_pool_set_autostart(GVirStoragePool *pool,
> + gboolean autostart,
> + GError **err);
>
> G_END_DECLS
>
> diff --git a/libvirt-gobject/libvirt-gobject.sym b/libvirt-gobject/libvirt-gobject.sym
> index 927cad9..dcda675 100644
> --- a/libvirt-gobject/libvirt-gobject.sym
> +++ b/libvirt-gobject/libvirt-gobject.sym
> @@ -265,4 +265,10 @@ LIBVIRT_GOBJECT_0.2.0 {
> gvir_domain_open_graphics_fd;
> } LIBVIRT_GOBJECT_0.1.9;
>
> +LIBVIRT_GOBJECT_0.2.1 {
> + global:
> + gvir_storage_pool_get_autostart;
> + gvir_storage_pool_set_autostart;
> +} LIBVIRT_GOBJECT_0.2.0;
> +
> # .... define new API here using predicted next version number ....
> --
> 2.1.0
>
--
Regards,
Zeeshan Ali (Khattak)
________________________________________
Befriend GNOME: http://www.gnome.org/friends/
More information about the libvir-list
mailing list