---
libvirt-gconfig/libvirt-gconfig-storage-pool.c | 143 +++++++++++++++++++++++++
libvirt-gconfig/libvirt-gconfig-storage-pool.h | 8 ++
libvirt-gconfig/libvirt-gconfig.sym | 12 +++
3 files changed, 163 insertions(+)
diff --git a/libvirt-gconfig/libvirt-gconfig-storage-pool.c
b/libvirt-gconfig/libvirt-gconfig-storage-pool.c
index 4ad9fc1..b06c24c 100644
--- a/libvirt-gconfig/libvirt-gconfig-storage-pool.c
+++ b/libvirt-gconfig/libvirt-gconfig-storage-pool.c
@@ -74,6 +74,25 @@ GVirConfigStoragePool *gvir_config_storage_pool_new_from_xml(const
gchar *xml,
return GVIR_CONFIG_STORAGE_POOL(object);
}
+/**
+ * gvir_config_storage_pool_get_pool_type:
+ * @pool: a #GVirConfigStoragePool
+ *
+ * Gets the type of the pool.
+ *
+ * Returns: #Gname of @pool.
+ */
+GVirConfigStoragePoolType gvir_config_storage_pool_get_pool_type(GVirConfigStoragePool
*pool)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_STORAGE_POOL(pool),
+ GVIR_CONFIG_STORAGE_POOL_TYPE_DIR);
+
+ return gvir_config_object_get_attribute_genum(GVIR_CONFIG_OBJECT(pool),
+ NULL, "type",
+ GVIR_CONFIG_TYPE_STORAGE_POOL_TYPE,
+ GVIR_CONFIG_STORAGE_POOL_TYPE_DIR);
+}
+
void gvir_config_storage_pool_set_pool_type(GVirConfigStoragePool *pool,
GVirConfigStoragePoolType type)
{
@@ -87,6 +106,22 @@ void gvir_config_storage_pool_set_pool_type(GVirConfigStoragePool
*pool,
}
/**
+ * gvir_config_storage_pool_get_name:
+ * @pool: a #GVirConfigStoragePool
+ *
+ * Gets the name of the pool.
+ *
+ * Returns: name of @pool.
+ */
+const char *gvir_config_storage_pool_get_name(GVirConfigStoragePool *pool)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_STORAGE_POOL(pool), NULL);
+
+ return gvir_config_object_get_node_content(GVIR_CONFIG_OBJECT(pool),
+ "name");
+}
+
+/**
* gvir_config_storage_pool_set_name:
* @name: (allow-none):
*/
@@ -100,6 +135,22 @@ void gvir_config_storage_pool_set_name(GVirConfigStoragePool *pool,
}
/**
+ * gvir_config_storage_pool_get_uuid:
+ * @pool: a #GVirConfigStoragePool
+ *
+ * Gets the unique identifier for @pool.
+ *
+ * Returns: unique identifier for @pool.
+ */
+const char *gvir_config_storage_pool_get_uuid(GVirConfigStoragePool *pool)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_STORAGE_POOL(pool), NULL);
+
+ return gvir_config_object_get_node_content(GVIR_CONFIG_OBJECT(pool),
+ "uuid");
+}
+
+/**
* gvir_config_storage_pool_set_uuid:
* @uuid: (allow-none):
*/
@@ -112,6 +163,22 @@ void gvir_config_storage_pool_set_uuid(GVirConfigStoragePool *pool,
"uuid", uuid);
}
+/**
+ * gvir_config_storage_pool_get_capacity:
+ * @pool: a #GVirConfigStoragePool
+ *
+ * Gets the total storage capacity for the pool.
+ *
+ * Returns: total storage capacity in bytes.
+ */
+guint64 gvir_config_storage_pool_get_capacity(GVirConfigStoragePool *pool)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_STORAGE_POOL(pool), 0);
+
+ return gvir_config_object_get_node_content_uint64(GVIR_CONFIG_OBJECT(pool),
+ "capacity");
+}
+
void gvir_config_storage_pool_set_capacity(GVirConfigStoragePool *pool,
guint64 capacity)
{
@@ -121,6 +188,22 @@ void gvir_config_storage_pool_set_capacity(GVirConfigStoragePool
*pool,
"capacity", capacity);
}
+/**
+ * gvir_config_storage_pool_get_allocation:
+ * @pool: a #GVirConfigStoragePool
+ *
+ * Gets the total storage allocation for the pool.
+ *
+ * Returns: total storage allocation in bytes.
+ */
+guint64 gvir_config_storage_pool_get_allocation(GVirConfigStoragePool *pool)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_STORAGE_POOL(pool), 0);
+
+ return gvir_config_object_get_node_content_uint64(GVIR_CONFIG_OBJECT(pool),
+ "allocation");
+}
+
void gvir_config_storage_pool_set_allocation(GVirConfigStoragePool *pool,
guint64 allocation)
{
@@ -130,6 +213,22 @@ void gvir_config_storage_pool_set_allocation(GVirConfigStoragePool
*pool,
"allocation", allocation);
}
+/**
+ * gvir_config_storage_pool_get_available:
+ * @pool: a #GVirConfigStoragePool
+ *
+ * Gets the free space available for allocating new volumes in the pool.
+ *
+ * Returns: free space available in bytes.
+ */
+guint64 gvir_config_storage_pool_get_available(GVirConfigStoragePool *pool)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_STORAGE_POOL(pool), 0);
+
+ return gvir_config_object_get_node_content_uint64(GVIR_CONFIG_OBJECT(pool),
+ "available");
+}
+
void gvir_config_storage_pool_set_available(GVirConfigStoragePool *pool,
guint64 available)
{
@@ -140,6 +239,28 @@ void gvir_config_storage_pool_set_available(GVirConfigStoragePool
*pool,
}
/**
+ * gvir_config_storage_pool_get_source:
+ * @pool: a #GVirConfigStoragePool
+ *
+ * Gets the source for @pool
+ *
+ * Returns: (transfer full): a new #GVirConfigStoragePoolSource instance.
+ */
+GVirConfigStoragePoolSource *gvir_config_storage_pool_get_source(GVirConfigStoragePool
*pool)
+{
+ GVirConfigObject *object;
+
+ g_return_val_if_fail(GVIR_CONFIG_IS_STORAGE_POOL(pool), NULL);
+
+ object = gvir_config_object_get_child_with_type
+ (GVIR_CONFIG_OBJECT(pool),
+ "source",
+ GVIR_CONFIG_TYPE_STORAGE_POOL_SOURCE);
+
+ return GVIR_CONFIG_STORAGE_POOL_SOURCE(object);
+}
+
+/**
* gvir_config_storage_pool_set_source:
* @source: (allow-none):
*/
@@ -156,6 +277,28 @@ void gvir_config_storage_pool_set_source(GVirConfigStoragePool
*pool,
}
/**
+ * gvir_config_storage_pool_get_target:
+ * @pool: a #GVirConfigStoragePool
+ *
+ * Gets the target for @pool
+ *
+ * Returns: (transfer full): a new #GVirConfigStoragePoolTarget instance.
+ */
+GVirConfigStoragePoolTarget *gvir_config_storage_pool_get_target(GVirConfigStoragePool
*pool)
+{
+ GVirConfigObject *object;
+
+ g_return_val_if_fail(GVIR_CONFIG_IS_STORAGE_POOL(pool), NULL);
+
+ object = gvir_config_object_get_child_with_type
+ (GVIR_CONFIG_OBJECT(pool),
+ "target",
+ GVIR_CONFIG_TYPE_STORAGE_POOL_TARGET);
+
+ return GVIR_CONFIG_STORAGE_POOL_TARGET(object);
+}
+
+/**
* gvir_config_storage_pool_set_target:
* @target: (allow-none):
*/
diff --git a/libvirt-gconfig/libvirt-gconfig-storage-pool.h
b/libvirt-gconfig/libvirt-gconfig-storage-pool.h
index 9005482..ac4141e 100644
--- a/libvirt-gconfig/libvirt-gconfig-storage-pool.h
+++ b/libvirt-gconfig/libvirt-gconfig-storage-pool.h
@@ -76,20 +76,28 @@ GVirConfigStoragePool *gvir_config_storage_pool_new(void);
GVirConfigStoragePool *gvir_config_storage_pool_new_from_xml(const gchar *xml,
GError **error);
+guint64 gvir_config_storage_pool_get_allocation(GVirConfigStoragePool *pool);
void gvir_config_storage_pool_set_allocation(GVirConfigStoragePool *pool,
guint64 allocation);
+guint64 gvir_config_storage_pool_get_available(GVirConfigStoragePool *pool);
void gvir_config_storage_pool_set_available(GVirConfigStoragePool *pool,
guint64 available);
+guint64 gvir_config_storage_pool_get_capacity(GVirConfigStoragePool *pool);
void gvir_config_storage_pool_set_capacity(GVirConfigStoragePool *pool,
guint64 capacity);
+const char *gvir_config_storage_pool_get_name(GVirConfigStoragePool *pool);
void gvir_config_storage_pool_set_name(GVirConfigStoragePool *pool,
const char *name);
+GVirConfigStoragePoolType gvir_config_storage_pool_get_pool_type(GVirConfigStoragePool
*pool);
void gvir_config_storage_pool_set_pool_type(GVirConfigStoragePool *pool,
GVirConfigStoragePoolType type);
+GVirConfigStoragePoolSource *gvir_config_storage_pool_get_source(GVirConfigStoragePool
*pool);
void gvir_config_storage_pool_set_source(GVirConfigStoragePool *pool,
GVirConfigStoragePoolSource *source);
+GVirConfigStoragePoolTarget *gvir_config_storage_pool_get_target(GVirConfigStoragePool
*pool);
void gvir_config_storage_pool_set_target(GVirConfigStoragePool *pool,
GVirConfigStoragePoolTarget *target);
+const char *gvir_config_storage_pool_get_uuid(GVirConfigStoragePool *pool);
void gvir_config_storage_pool_set_uuid(GVirConfigStoragePool *pool,
const char *uuid);
diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym
index a1b2cc1..93b2e33 100644
--- a/libvirt-gconfig/libvirt-gconfig.sym
+++ b/libvirt-gconfig/libvirt-gconfig.sym
@@ -512,4 +512,16 @@ LIBVIRT_GCONFIG_0.1.6 {
gvir_config_domain_graphics_spice_image_compression_get_type;
} LIBVIRT_GCONFIG_0.1.5;
+LIBVIRT_GCONFIG_0.1.7 {
+ global:
+ gvir_config_storage_pool_get_allocation;
+ gvir_config_storage_pool_get_available;
+ gvir_config_storage_pool_get_capacity;
+ gvir_config_storage_pool_get_name;
+ gvir_config_storage_pool_get_pool_type;
+ gvir_config_storage_pool_get_source;
+ gvir_config_storage_pool_get_target;
+ gvir_config_storage_pool_get_uuid;
+} LIBVIRT_GCONFIG_0.1.6;
+
# .... define new API here using predicted next version number ....
--
1.8.1.4