On Fri, Apr 13, 2012 at 2:26 PM, Christophe Fergeau <cfergeau(a)redhat.com> wrote:
On Thu, Apr 12, 2012 at 11:50:30PM +0300, Zeeshan Ali (Khattak)
wrote:
> From: "Zeeshan Ali (Khattak)" <zeeshanak(a)gnome.org>
>
> ---
> libvirt-gconfig/libvirt-gconfig-domain-disk.c | 26 +++++++++++++++++++++++++
> libvirt-gconfig/libvirt-gconfig-domain-disk.h | 9 ++++++++
> libvirt-gconfig/libvirt-gconfig.sym | 5 +++-
> libvirt-gconfig/tests/test-domain-create.c | 2 +
> 4 files changed, 41 insertions(+), 1 deletions(-)
>
> diff --git a/libvirt-gconfig/libvirt-gconfig-domain-disk.c
b/libvirt-gconfig/libvirt-gconfig-domain-disk.c
> index 5d0acb5..a29ea47 100644
> --- a/libvirt-gconfig/libvirt-gconfig-domain-disk.c
> +++ b/libvirt-gconfig/libvirt-gconfig-domain-disk.c
> @@ -127,6 +127,18 @@ void
gvir_config_domain_disk_set_snapshot_type(GVirConfigDomainDisk *disk,
> type, NULL);
> }
>
> +void gvir_config_domain_disk_set_startup_policy(GVirConfigDomainDisk *disk,
> + GVirConfigDomainDiskStartupPolicy
policy)
> +{
> + const char *str;
> +
> + g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_DISK(disk));
> + str = gvir_config_genum_get_nick(GVIR_CONFIG_TYPE_DOMAIN_DISK_STARTUP_POLICY,
policy);
> + g_return_if_fail(str != NULL);
> + gvir_config_object_add_child_with_attribute(GVIR_CONFIG_OBJECT(disk),
> + "source",
"startupPolicy", str);
> +}
> +
> void gvir_config_domain_disk_set_source(GVirConfigDomainDisk *disk,
> const char *source)
> {
> @@ -235,6 +247,19 @@ gvir_config_domain_disk_get_snapshot_type(GVirConfigDomainDisk
*disk)
>
GVIR_CONFIG_DOMAIN_DISK_SNAPSHOT_NO);
> }
>
> +GVirConfigDomainDiskStartupPolicy
> +gvir_config_domain_disk_get_startup_policy(GVirConfigDomainDisk *disk)
> +{
> + g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_DISK(disk),
> + GVIR_CONFIG_DOMAIN_DISK_STARTUP_POLICY_MANDATORY);
> +
> + return gvir_config_object_get_attribute_genum
> + (GVIR_CONFIG_OBJECT(disk),
> + "source", "startupPolicy",
> + GVIR_CONFIG_TYPE_DOMAIN_DISK_STARTUP_POLICY,
> + GVIR_CONFIG_DOMAIN_DISK_STARTUP_POLICY_MANDATORY);
> +}
> +
> const char *
> gvir_config_domain_disk_get_source(GVirConfigDomainDisk *disk)
> {
> @@ -291,6 +316,7 @@ gvir_config_domain_disk_get_driver_cache(GVirConfigDomainDisk
*disk)
>
GVIR_CONFIG_TYPE_DOMAIN_DISK_CACHE_TYPE,
>
GVIR_CONFIG_DOMAIN_DISK_CACHE_DEFAULT);
> }
> +
> GVirConfigDomainDiskBus
> gvir_config_domain_disk_get_target_bus(GVirConfigDomainDisk *disk)
> {
> diff --git a/libvirt-gconfig/libvirt-gconfig-domain-disk.h
b/libvirt-gconfig/libvirt-gconfig-domain-disk.h
> index 916421d..7e85d75 100644
> --- a/libvirt-gconfig/libvirt-gconfig-domain-disk.h
> +++ b/libvirt-gconfig/libvirt-gconfig-domain-disk.h
> @@ -95,6 +95,12 @@ typedef enum {
> GVIR_CONFIG_DOMAIN_DISK_SNAPSHOT_EXTERNAL
> } GVirConfigDomainDiskSnapshotType;
>
> +typedef enum {
> + GVIR_CONFIG_DOMAIN_DISK_STARTUP_POLICY_MANDATORY,
> + GVIR_CONFIG_DOMAIN_DISK_STARTUP_POLICY_REQUISITE,
> + GVIR_CONFIG_DOMAIN_DISK_STARTUP_POLICY_OPTIONAL
> +} GVirConfigDomainDiskStartupPolicy;
> +
> GType gvir_config_domain_disk_get_type(void);
>
> GVirConfigDomainDisk *gvir_config_domain_disk_new(void);
> @@ -107,6 +113,8 @@ void
gvir_config_domain_disk_set_guest_device_type(GVirConfigDomainDisk *disk,
>
GVirConfigDomainDiskGuestDeviceType type);
> void gvir_config_domain_disk_set_snapshot_type(GVirConfigDomainDisk *disk,
> GVirConfigDomainDiskSnapshotType
type);
> +void gvir_config_domain_disk_set_startup_policy(GVirConfigDomainDisk *disk,
> + GVirConfigDomainDiskStartupPolicy
policy);
> void gvir_config_domain_disk_set_source(GVirConfigDomainDisk *disk,
> const char *source);
> void gvir_config_domain_disk_set_driver_cache(GVirConfigDomainDisk *disk,
> @@ -123,6 +131,7 @@ void gvir_config_domain_disk_set_target_dev(GVirConfigDomainDisk
*disk,
> GVirConfigDomainDiskType gvir_config_domain_disk_get_disk_type(GVirConfigDomainDisk
*disk);
> GVirConfigDomainDiskGuestDeviceType
gvir_config_domain_disk_get_guest_device_type(GVirConfigDomainDisk *disk);
> GVirConfigDomainDiskSnapshotType
gvir_config_domain_disk_get_snapshot_type(GVirConfigDomainDisk *disk);
> +GVirConfigDomainDiskStartupPolicy
gvir_config_domain_disk_get_startup_policy(GVirConfigDomainDisk *disk);
> const char *gvir_config_domain_disk_get_source(GVirConfigDomainDisk *disk);
> GVirConfigDomainDiskCacheType
gvir_config_domain_disk_get_driver_cache(GVirConfigDomainDisk *disk);
> const char *gvir_config_domain_disk_get_driver_name(GVirConfigDomainDisk *disk);
> diff --git a/libvirt-gconfig/libvirt-gconfig.sym
b/libvirt-gconfig/libvirt-gconfig.sym
> index 2378a3c..8dac83a 100644
> --- a/libvirt-gconfig/libvirt-gconfig.sym
> +++ b/libvirt-gconfig/libvirt-gconfig.sym
> @@ -1,4 +1,4 @@
> -LIBVIRT_GCONFIG_0.0.7 {
> +LIBVIRT_GCONFIG_0.0.8 {
Just wondering over raising the version number of the whole section VS
adding a new 0.0.8 one,
Yeah, i think thats better but this patch doesn't need to wait on that
decision since we'd want to apply that change on all symbols (old and
new) like I did for libosinfo (check commit d5426f1 in there).
ACK otherwise.
Thanks!
--
Regards,
Zeeshan Ali (Khattak)
FSF member#5124