[libvirt] [libvirt-glib] Getter/setter for disk source's startupPolicy attribute
Zeeshan Ali (Khattak)
zeeshanak at gnome.org
Fri Apr 13 13:41:32 UTC 2012
On Fri, Apr 13, 2012 at 2:26 PM, Christophe Fergeau <cfergeau at redhat.com> wrote:
> On Thu, Apr 12, 2012 at 11:50:30PM +0300, Zeeshan Ali (Khattak) wrote:
>> From: "Zeeshan Ali (Khattak)" <zeeshanak at 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
More information about the libvir-list
mailing list