diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2012-03-01 12:26:15 +0000 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2012-03-01 12:26:15 +0000 |
commit | 37d7ebe5b14540a315bb4d2e4a65b04c456f5700 (patch) | |
tree | 272a14bc9414b2c6d8b079701b8415f30fe38ce4 /tools/libxl/idl.py | |
parent | 23aba672e7221e1a49a1e9662d4a40ca6d375bd2 (diff) | |
download | xen-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.py | 12 |
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 = [] |