]> xenbits.xensource.com Git - xen.git/commitdiff
libxl: Add get/set_default_namespace in libxltypes.py.
authorAnthony PERARD <anthony.perard@citrix.com>
Thu, 29 Sep 2011 15:28:21 +0000 (16:28 +0100)
committerAnthony PERARD <anthony.perard@citrix.com>
Thu, 29 Sep 2011 15:28:21 +0000 (16:28 +0100)
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
tools/libxl/libxl_types.idl
tools/libxl/libxltypes.py

index bd47da22a5a042019489ac3685acec382a29862d..bcdf63a24acb26d0aa5ab198d2165472221ca71c 100644 (file)
@@ -3,6 +3,8 @@
 # Builtin libxl types
 #
 
+namespace("libxl_")
+
 libxl_domid = Builtin("domid")
 libxl_uuid = Builtin("uuid", passby=PASS_BY_REFERENCE)
 libxl_mac = Builtin("mac", passby=PASS_BY_REFERENCE)
index f1a4dcfef54c423205f99fd629ac3922a4e96b2c..86ab4b9dff443f565df1970150ec5428a81c8750 100644 (file)
@@ -8,10 +8,23 @@ DIR_IN   = 1
 DIR_OUT  = 2
 DIR_BOTH = 3
 
+_default_namespace = ""
+def namespace(s):
+    if type(s) != str:
+        raise TypeError, "Require a string for the default namespace."
+    global _default_namespace
+    _default_namespace = s
+
+def _get_default_namespace():
+    global _default_namespace
+    return _default_namespace
+
+
 class Type(object):
     def __init__(self, typename, **kwargs):
         self.comment = kwargs.setdefault('comment', None)
-        self.namespace = kwargs.setdefault('namespace', "libxl_")
+        self.namespace = kwargs.setdefault('namespace',
+                _get_default_namespace())
         self.dir = kwargs.setdefault('dir', DIR_BOTH)
         if self.dir not in [DIR_NONE, DIR_IN, DIR_OUT, DIR_BOTH]:
             raise ValueError
@@ -256,7 +269,8 @@ def parse(f):
         elif isinstance(t,type(object)) and issubclass(t, Type):
             globs[n] = t
         elif n in ['PASS_BY_REFERENCE', 'PASS_BY_VALUE',
-                   'DIR_NONE', 'DIR_IN', 'DIR_OUT', 'DIR_BOTH']:
+                   'DIR_NONE', 'DIR_IN', 'DIR_OUT', 'DIR_BOTH',
+                   'namespace']:
             globs[n] = t
 
     try: