[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]