aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxl/idl.py
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2012-03-01 12:26:15 +0000
committerIan Campbell <ian.campbell@citrix.com>2012-03-01 12:26:15 +0000
commit37d7ebe5b14540a315bb4d2e4a65b04c456f5700 (patch)
tree272a14bc9414b2c6d8b079701b8415f30fe38ce4 /tools/libxl/idl.py
parent23aba672e7221e1a49a1e9662d4a40ca6d375bd2 (diff)
downloadxen-37d7ebe5b14540a315bb4d2e4a65b04c456f5700.tar.gz
xen-37d7ebe5b14540a315bb4d2e4a65b04c456f5700.tar.bz2
xen-37d7ebe5b14540a315bb4d2e4a65b04c456f5700.zip
libxl: autogenerate libxl_FOO_init and libxl_FOO_init_FIELD
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools/libxl/idl.py')
-rw-r--r--tools/libxl/idl.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/libxl/idl.py b/tools/libxl/idl.py
index b31956d92e..da8cd88153 100644
--- a/tools/libxl/idl.py
+++ b/tools/libxl/idl.py
@@ -51,6 +51,10 @@ class Type(object):
self.autogenerate_dispose_fn = kwargs.setdefault('autogenerate_dispose_fn', True)
+ self.init_fn = kwargs.setdefault('init_fn', None)
+ self.init_val = kwargs.setdefault('init_val', None)
+ self.autogenerate_init_fn = kwargs.setdefault('autogenerate_init_fn', False)
+
if self.typename is not None and not self.private:
self.json_fn = kwargs.setdefault('json_fn', self.typename + "_gen_json")
else:
@@ -144,12 +148,20 @@ class Field(object):
self.name = name
self.const = kwargs.setdefault('const', False)
self.enumname = kwargs.setdefault('enumname', None)
+ self.init_val = kwargs.setdefault('init_val', None)
class Aggregate(Type):
"""A type containing a collection of other types"""
def __init__(self, kind, typename, fields, **kwargs):
Type.__init__(self, typename, **kwargs)
+ if self.typename is not None:
+ self.init_fn = kwargs.setdefault('init_fn', self.typename + "_init")
+ else:
+ self.init_fn = kwargs.setdefault('init_fn', None)
+
+ self.autogenerate_init_fn = kwargs.setdefault('autogenerate_init_fn', True)
+
self.kind = kind
self.fields = []