On Fri, Apr 13, 2012 at 2:26 PM, Christophe Fergeau <[email protected]> wrote: > On Thu, Apr 12, 2012 at 11:50:30PM +0300, Zeeshan Ali (Khattak) wrote: >> From: "Zeeshan Ali (Khattak)" <[email protected]> >> >> --- >> 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 -- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
