Series looks good to me apart from that naming comment in 4/4.
If someone does not like the use of gboolean *is_current as a return
value in
gboolean gvir_domain_snapshot_get_is_current(GVirDomainSnapshot *snapshot,
                                             guint flags,
                                             gboolean *is_current,
                                             GError **error) {

now would be a good time to complain ;)

Christophe

On Thu, Aug 07, 2014 at 12:20:13PM +0200, Timm Bäder wrote:
> Add a way to determine if the given GVirDomainSnapshot is the current
> snapshot of its GVirDomain.
> ---
>  libvirt-gobject/libvirt-gobject-domain-snapshot.c | 33 
> +++++++++++++++++++++++
>  libvirt-gobject/libvirt-gobject-domain-snapshot.h |  4 +++
>  libvirt-gobject/libvirt-gobject.sym               |  1 +
>  3 files changed, 38 insertions(+)
> 
> diff --git a/libvirt-gobject/libvirt-gobject-domain-snapshot.c 
> b/libvirt-gobject/libvirt-gobject-domain-snapshot.c
> index 7bb89f1..c53e877 100644
> --- a/libvirt-gobject/libvirt-gobject-domain-snapshot.c
> +++ b/libvirt-gobject/libvirt-gobject-domain-snapshot.c
> @@ -235,3 +235,36 @@ gboolean gvir_domain_snapshot_delete (GVirDomainSnapshot 
> *snapshot,
>      }
>      return TRUE;
>  }
> +
> +
> +/**
> + * gvir_domain_snapshot_get_is_current:
> + * @snapshot: The domain snapshot
> + * @flags: Currently unused, pass 0
> + * @is_current: (out): %TRUE if the given snapshot is the current snapshot
> + * of its domain, %FALSE otherwise.
> + * @error: (allow-none): Place-holder for error or %NULL
> + *
> + * Returns: %TRUE on success, %FALSE otherwise.
> + */
> +gboolean gvir_domain_snapshot_get_is_current(GVirDomainSnapshot *snapshot,
> +                                             guint flags,
> +                                             gboolean *is_current,
> +                                             GError **error) {
> +    gint status;
> +
> +    g_return_val_if_fail(GVIR_IS_DOMAIN_SNAPSHOT(snapshot), FALSE);
> +    g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
> +
> +    status = virDomainSnapshotIsCurrent(snapshot->priv->handle, flags);
> +    if (status == -1) {
> +        gvir_set_error(error, GVIR_DOMAIN_SNAPSHOT_ERROR, 0,
> +                       "Could not determine if `%s' is the current snapshot",
> +                       gvir_domain_snapshot_get_name(snapshot));
> +        return FALSE;
> +    }
> +
> +    *is_current = status;
> +
> +    return TRUE;
> +}
> diff --git a/libvirt-gobject/libvirt-gobject-domain-snapshot.h 
> b/libvirt-gobject/libvirt-gobject-domain-snapshot.h
> index b3ebe7f..0a0bb96 100644
> --- a/libvirt-gobject/libvirt-gobject-domain-snapshot.h
> +++ b/libvirt-gobject/libvirt-gobject-domain-snapshot.h
> @@ -85,6 +85,10 @@ gboolean gvir_domain_snapshot_delete (GVirDomainSnapshot 
> *snapshot,
>                                        guint flags,
>                                        GError **error);
>  
> +gboolean gvir_domain_snapshot_get_is_current(GVirDomainSnapshot *snapshot,
> +                                             guint flags,
> +                                             gboolean *is_current,
> +                                             GError **error);
>  G_END_DECLS
>  
>  #endif /* __LIBVIRT_GOBJECT_DOMAIN_SNAPSHOT_H__ */
> diff --git a/libvirt-gobject/libvirt-gobject.sym 
> b/libvirt-gobject/libvirt-gobject.sym
> index b0c55b5..c740f88 100644
> --- a/libvirt-gobject/libvirt-gobject.sym
> +++ b/libvirt-gobject/libvirt-gobject.sym
> @@ -242,6 +242,7 @@ LIBVIRT_GOBJECT_0.1.9 {
>       gvir_domain_get_snapshots;
>       gvir_domain_snapshot_delete;
>       gvir_domain_snapshot_delete_flags_get_type;
> +     gvir_domain_snapshot_get_is_current;
>       gvir_domain_snapshot_list_flags_get_type;
>       gvir_storage_pool_state_get_type;
>       gvir_storage_vol_resize_flags_get_type;
> -- 
> 2.0.4
> 
> --
> libvir-list mailing list
> libvir-list@redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list

Attachment: pgp7Opn0FGzrw.pgp
Description: PGP signature

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to