[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