---
.../libvirt-gconfig-domain-snapshot-disk.c | 85 ++++++++++++++++++++++
.../libvirt-gconfig-domain-snapshot-disk.h | 16 ++++
libvirt-gconfig/libvirt-gconfig.sym | 9 +++
3 files changed, 110 insertions(+)
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-snapshot-disk.c
b/libvirt-gconfig/libvirt-gconfig-domain-snapshot-disk.c
index a21f0d6..2e6a3f9 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain-snapshot-disk.c
+++ b/libvirt-gconfig/libvirt-gconfig-domain-snapshot-disk.c
@@ -86,3 +86,88 @@ gvir_config_domain_snapshot_disk_new_from_tree(GVirConfigXmlDoc *doc,
return GVIR_CONFIG_DOMAIN_SNAPSHOT_DISK(object);
}
+
+
+const char *gvir_config_domain_snapshot_disk_get_name(GVirConfigDomainSnapshotDisk
*disk)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT_DISK(disk), NULL);
+
+ return gvir_config_object_get_node_content(GVIR_CONFIG_OBJECT(disk),
+ "name");
+}
+
+
+void gvir_config_domain_snapshot_disk_set_name(GVirConfigDomainSnapshotDisk *disk,
+ const char *name)
+{
+ g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT_DISK(disk));
+
+ gvir_config_object_set_node_content(GVIR_CONFIG_OBJECT(disk),
+ "name", name);
+}
+
+
+GVirConfigDomainDiskSnapshotType
gvir_config_domain_snapshot_disk_get_snapshot_type(GVirConfigDomainSnapshotDisk *disk)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT_DISK(disk),
+ GVIR_CONFIG_DOMAIN_DISK_SNAPSHOT_NO);
+
+ return gvir_config_object_get_attribute_genum(GVIR_CONFIG_OBJECT(disk),
+ NULL,
+ "snapshot",
+
GVIR_CONFIG_TYPE_DOMAIN_DISK_SNAPSHOT_TYPE,
+ GVIR_CONFIG_DOMAIN_DISK_SNAPSHOT_NO);
+}
+
+
+void gvir_config_domain_snapshot_disk_set_snapshot_type(GVirConfigDomainSnapshotDisk
*disk,
+ GVirConfigDomainDiskSnapshotType
type)
+{
+ g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT_DISK(disk));
+
+ gvir_config_object_set_attribute_with_type(GVIR_CONFIG_OBJECT(disk),
"snapshot",
+
GVIR_CONFIG_TYPE_DOMAIN_DISK_SNAPSHOT_TYPE,
+ type, NULL);
+}
+
+
+const char *gvir_config_domain_snapshot_disk_get_source_file(GVirConfigDomainSnapshotDisk
*disk)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT_DISK(disk), NULL);
+
+ return gvir_config_object_get_attribute(GVIR_CONFIG_OBJECT(disk),
+ "source", "file");
+}
+
+
+void gvir_config_domain_snapshot_disk_set_source_file(GVirConfigDomainSnapshotDisk
*disk,
+ const char *filename)
+{
+ g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT_DISK(disk));
+
+ gvir_config_object_add_child_with_attribute(GVIR_CONFIG_OBJECT(disk),
+ "source", "file",
filename);
+}
+
+GVirConfigDomainDiskFormat
gvir_config_domain_snapshot_disk_get_driver_type(GVirConfigDomainSnapshotDisk *disk)
+{
+ g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT_DISK(disk),
+ GVIR_CONFIG_DOMAIN_DISK_FORMAT_RAW);
+
+ return gvir_config_object_get_attribute_genum(GVIR_CONFIG_OBJECT(disk),
+ "driver", "type",
+ GVIR_CONFIG_TYPE_DOMAIN_DISK_FORMAT,
+ GVIR_CONFIG_DOMAIN_DISK_FORMAT_RAW);
+}
+
+
+void gvir_config_domain_snapshot_disk_set_driver_type(GVirConfigDomainSnapshotDisk
*disk,
+ GVirConfigDomainDiskFormat type)
+{
+ g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT_DISK(disk));
+
+ gvir_config_object_add_child_with_attribute_enum(GVIR_CONFIG_OBJECT(disk),
+ "driver",
"type",
+
GVIR_CONFIG_TYPE_DOMAIN_DISK_FORMAT,
+ type);
+}
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-snapshot-disk.h
b/libvirt-gconfig/libvirt-gconfig-domain-snapshot-disk.h
index 9a73336..9c59c50 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain-snapshot-disk.h
+++ b/libvirt-gconfig/libvirt-gconfig-domain-snapshot-disk.h
@@ -63,6 +63,22 @@ GVirConfigDomainSnapshotDisk
*gvir_config_domain_snapshot_disk_new(void);
GVirConfigDomainSnapshotDisk *gvir_config_domain_snapshot_disk_new_from_xml(const gchar
*xml,
GError
**error);
+const char *gvir_config_domain_snapshot_disk_get_name(GVirConfigDomainSnapshotDisk
*disk);
+void gvir_config_domain_snapshot_disk_set_name(GVirConfigDomainSnapshotDisk *disk,
+ const char *name);
+
+GVirConfigDomainDiskSnapshotType
gvir_config_domain_snapshot_disk_get_snapshot_type(GVirConfigDomainSnapshotDisk *disk);
+void gvir_config_domain_snapshot_disk_set_snapshot_type(GVirConfigDomainSnapshotDisk
*disk,
+ GVirConfigDomainDiskSnapshotType
type);
+
+const char *gvir_config_domain_snapshot_disk_get_source_file(GVirConfigDomainSnapshotDisk
*disk);
+void gvir_config_domain_snapshot_disk_set_source_file(GVirConfigDomainSnapshotDisk
*disk,
+ const char *filename);
+
+GVirConfigDomainDiskFormat
gvir_config_domain_snapshot_disk_get_driver_type(GVirConfigDomainSnapshotDisk *disk);
+void gvir_config_domain_snapshot_disk_set_driver_type(GVirConfigDomainSnapshotDisk
*disk,
+ GVirConfigDomainDiskFormat type);
+
G_END_DECLS
#endif /* __LIBVIRT_GCONFIG_DOMAIN_SNAPSHOT_DISK_H__ */
diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym
index 0a0b1f1..f5a1b6c 100644
--- a/libvirt-gconfig/libvirt-gconfig.sym
+++ b/libvirt-gconfig/libvirt-gconfig.sym
@@ -565,6 +565,15 @@ LIBVIRT_GCONFIG_0.1.7 {
gvir_config_domain_snapshot_disk_get_type;
gvir_config_domain_snapshot_disk_new;
gvir_config_domain_snapshot_disk_new_from_xml;
+
+ gvir_config_domain_snapshot_disk_get_driver_type;
+ gvir_config_domain_snapshot_disk_set_driver_type;
+ gvir_config_domain_snapshot_disk_get_name;
+ gvir_config_domain_snapshot_disk_set_name;
+ gvir_config_domain_snapshot_disk_get_snapshot_type;
+ gvir_config_domain_snapshot_disk_set_snapshot_type;
+ gvir_config_domain_snapshot_disk_get_source_file;
+ gvir_config_domain_snapshot_disk_set_source_file;
} LIBVIRT_GCONFIG_0.1.6;
# .... define new API here using predicted next version number ....
--
1.8.2.1