[libvirt] [libvirt-glib] Add wrapper for volume deletion API

From: "Zeeshan Ali (Khattak)" <zeeshanak@gnome.org> --- libvirt-gobject/libvirt-gobject-storage-vol.c | 25 +++++++++++++++++++++++++ libvirt-gobject/libvirt-gobject-storage-vol.h | 4 ++++ libvirt-gobject/libvirt-gobject.sym | 1 + 3 files changed, 30 insertions(+), 0 deletions(-) diff --git a/libvirt-gobject/libvirt-gobject-storage-vol.c b/libvirt-gobject/libvirt-gobject-storage-vol.c index 15ae404..0470b4d 100644 --- a/libvirt-gobject/libvirt-gobject-storage-vol.c +++ b/libvirt-gobject/libvirt-gobject-storage-vol.c @@ -252,3 +252,28 @@ GVirStorageVolInfo *gvir_storage_vol_get_info(GVirStorageVol *vol, return ret; } + +/** + * gvir_storage_vol_delete: + * @vol: the storage volume to delete + * @flags: the flags + * @err: Return location for errors, or NULL + * + * Deletes the storage volume @vol. + * + * Returns: %TRUE on success, %FALSE otherwise + */ +gboolean gvir_storage_vol_delete(GVirStorageVol *vol, + guint flags, + GError **err) +{ + if (virStorageVolDelete(vol->priv->handle, flags) < 0) { + if (err) + *err = gvir_error_new_literal(GVIR_STORAGE_VOL_ERROR, + 0, + "Unable to delete storage volume"); + return FALSE; + } + + return TRUE; +} diff --git a/libvirt-gobject/libvirt-gobject-storage-vol.h b/libvirt-gobject/libvirt-gobject-storage-vol.h index 717ef4a..db63865 100644 --- a/libvirt-gobject/libvirt-gobject-storage-vol.h +++ b/libvirt-gobject/libvirt-gobject-storage-vol.h @@ -80,6 +80,10 @@ GType gvir_storage_vol_handle_get_type(void); const gchar *gvir_storage_vol_get_name(GVirStorageVol *vol); const gchar *gvir_storage_vol_get_path(GVirStorageVol *vol); +gboolean gvir_storage_vol_delete(GVirStorageVol *vol, + guint flags, + GError **err); + GVirConfigStorageVol *gvir_storage_vol_get_config(GVirStorageVol *vol, guint flags, GError **err); diff --git a/libvirt-gobject/libvirt-gobject.sym b/libvirt-gobject/libvirt-gobject.sym index c0d2e19..3727fb7 100644 --- a/libvirt-gobject/libvirt-gobject.sym +++ b/libvirt-gobject/libvirt-gobject.sym @@ -117,6 +117,7 @@ LIBVIRT_GOBJECT_0.0.1 { gvir_storage_vol_get_path; gvir_storage_vol_get_config; gvir_storage_vol_get_info; + gvir_storage_vol_delete; gvir_connection_handle_get_type; -- 1.7.7.3

On Mon, Dec 05, 2011 at 03:21:54PM +0200, Zeeshan Ali (Khattak) wrote:
From: "Zeeshan Ali (Khattak)" <zeeshanak@gnome.org>
--- libvirt-gobject/libvirt-gobject-storage-vol.c | 25 +++++++++++++++++++++++++ libvirt-gobject/libvirt-gobject-storage-vol.h | 4 ++++ libvirt-gobject/libvirt-gobject.sym | 1 + 3 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/libvirt-gobject/libvirt-gobject-storage-vol.c b/libvirt-gobject/libvirt-gobject-storage-vol.c index 15ae404..0470b4d 100644 --- a/libvirt-gobject/libvirt-gobject-storage-vol.c +++ b/libvirt-gobject/libvirt-gobject-storage-vol.c @@ -252,3 +252,28 @@ GVirStorageVolInfo *gvir_storage_vol_get_info(GVirStorageVol *vol,
return ret; } + +/** + * gvir_storage_vol_delete: + * @vol: the storage volume to delete + * @flags: the flags + * @err: Return location for errors, or NULL + * + * Deletes the storage volume @vol. + * + * Returns: %TRUE on success, %FALSE otherwise + */ +gboolean gvir_storage_vol_delete(GVirStorageVol *vol, + guint flags, + GError **err) +{ + if (virStorageVolDelete(vol->priv->handle, flags) < 0) { + if (err) + *err = gvir_error_new_literal(GVIR_STORAGE_VOL_ERROR, + 0, + "Unable to delete storage volume");
You can change these two lines to just gvir_set_error_literal(err, ....); ACK if that change is made before pushing Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
participants (2)
-
Daniel P. Berrange
-
Zeeshan Ali (Khattak)