From 618a40391f353f236c007038147a7b3771032f15 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Fri, 6 Jul 2012 13:17:40 +0100 Subject: libxl: add a new Array type to the IDL And make all the required infrastructure updates to enable this. Since there are currently no uses of this type there is no change to the generated code. Signed-off-by: Ian Campbell Tested-by: Dario Faggioli Acked-by: Ian Jackson Committed-by: Ian Campbell --- tools/libxl/idl.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tools/libxl/idl.py') diff --git a/tools/libxl/idl.py b/tools/libxl/idl.py index 4bc67f256f..7d95e3f871 100644 --- a/tools/libxl/idl.py +++ b/tools/libxl/idl.py @@ -266,6 +266,17 @@ string = Builtin("char *", namespace = None, dispose_fn = "free", json_fn = "libxl__string_gen_json", autogenerate_json = False) +class Array(Type): + """An array of the same type""" + def __init__(self, elem_type, lenvar_name, **kwargs): + kwargs.setdefault('dispose_fn', 'free') + Type.__init__(self, namespace=elem_type.namespace, typename=elem_type.rawname + " *", **kwargs) + + lv_kwargs = dict([(x.lstrip('lenvar_'),y) for (x,y) in kwargs.items() if x.startswith('lenvar_')]) + + self.lenvar = Field(integer, lenvar_name, **lv_kwargs) + self.elem_type = elem_type + class OrderedDict(dict): """A dictionary which remembers insertion order. -- cgit v1.2.3