[libvirt] [libvirt-glib] Getter/setter for disk source's startupPolicy attribute
Christophe Fergeau
cfergeau at redhat.com
Fri Apr 13 13:45:48 UTC 2012
On Fri, Apr 13, 2012 at 04:41:32PM +0300, Zeeshan Ali (Khattak) wrote:
> 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).
I don't think it's strictly necessary to redo that for all symbols, I was
thinking of just starting doing it from a given release. Anyway, after
saying that I've starting working on a patch which would break ABI once
again, so let's just apply this as is.
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120413/1b3818e8/attachment-0001.sig>
More information about the libvir-list
mailing list