1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-12-20 00:24:48 +03:00

libvirt.h: consolidate typed parameter handling

The new type is identical to the three old types that it replaces,
and by creating a common type, this allows future patches to share
common code that manipulates typed parameters.

This change is backwards-compatible in API (recompilation works
without any edits) and ABI (an older client that has not been
recompiled uses the same layout) for code using only public
names; only code using private names (those beginning with _)
will have to adapt.

* include/libvirt/libvirt.h.in (virTypedParameterType)
(VIR_TYPED_PARAM_FIELD_LENGTH, _virTypedParameter): New enum,
macro, and type.
(virSchedParameter, virBlkioParameter, virMemoryParameter):
Rewrite in terms of a common type, while keeping all old public
names for backwards compatibility.
(struct _virSchedParameter, struct _virBlkioParameter)
(struct _virMemoryParameter): Delete - these are private names.
* python/generator.py (enum): Cope with the refactoring.
This commit is contained in:
Eric Blake
2011-05-17 11:44:53 -06:00
parent f3cfc99e79
commit 824dcaff78
2 changed files with 93 additions and 63 deletions

View File

@@ -154,6 +154,18 @@ def function(name, desc, ret, args, file, cond):
def enum(type, name, value):
if not enums.has_key(type):
enums[type] = {}
if value == 'VIR_TYPED_PARAM_INT':
value = 1
elif value == 'VIR_TYPED_PARAM_UINT':
value = 2
elif value == 'VIR_TYPED_PARAM_LLONG':
value = 3
elif value == 'VIR_TYPED_PARAM_ULLONG':
value = 4
elif value == 'VIR_TYPED_PARAM_DOUBLE':
value = 5
elif value == 'VIR_TYPED_PARAM_BOOLEAN':
value = 6
enums[type][name] = value
#######################################################################