diff options
author | Eric Blake <eblake@redhat.com> | 2012-01-20 11:43:28 -0700 |
---|---|---|
committer | Eric Blake <eblake@redhat.com> | 2012-01-20 16:05:51 -0700 |
commit | 7b4e5693c13d5de1f0e14abda029e3148cbbe12f (patch) | |
tree | bdda5f04b656230e56d9290e8dd58eb6c9020aab /python | |
parent | error: drop old-style error reporting (diff) | |
download | libvirt-7b4e5693c13d5de1f0e14abda029e3148cbbe12f.tar.gz libvirt-7b4e5693c13d5de1f0e14abda029e3148cbbe12f.tar.bz2 libvirt-7b4e5693c13d5de1f0e14abda029e3148cbbe12f.zip |
API: make declaration of _LAST enum values conditional
Although this is a public API break, it only affects users that
were compiling against *_LAST values, and can be trivially
worked around without impacting compilation against older
headers, by the user defining VIR_ENUM_SENTINELS before using
libvirt.h. It is not an ABI break, since enum values do not
appear as .so entry points. Meanwhile, it prevents users from
using non-stable enum values without explicitly acknowledging
the risk of doing so.
See this list discussion:
https://www.redhat.com/archives/libvir-list/2012-January/msg00804.html
* include/libvirt/libvirt.h.in: Hide all sentinels behind
LIBVIRT_ENUM_SENTINELS, and add missing sentinels.
* src/internal.h (VIR_DEPRECATED): Allow inclusion after
libvirt.h.
(LIBVIRT_ENUM_SENTINELS): Expose sentinels internally.
* daemon/libvirtd.h: Use the sentinels.
* src/remote/remote_protocol.x (includes): Don't expose sentinels.
* python/generator.py (enum): Likewise.
* tests/cputest.c (cpuTestCompResStr): Silence compiler warning.
* tools/virsh.c (vshDomainStateReasonToString)
(vshDomainControlStateToString): Likewise.
Diffstat (limited to 'python')
-rwxr-xr-x | python/generator.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/python/generator.py b/python/generator.py index 6fee3a4c4..de635dc92 100755 --- a/python/generator.py +++ b/python/generator.py @@ -205,7 +205,8 @@ def enum(type, name, value): value = 1 elif value == 'VIR_DOMAIN_AFFECT_CONFIG': value = 2 - enums[type][name] = value + if name[-5:] != '_LAST': + enums[type][name] = value def qemu_enum(type, name, value): if not qemu_enums.has_key(type): |