aboutsummaryrefslogtreecommitdiffstats
path: root/tools/python
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2012-01-31 14:40:59 +0000
committerIan Campbell <ian.campbell@citrix.com>2012-01-31 14:40:59 +0000
commit6b320d280fd80b09c78dbc78acde3ebd3c46845a (patch)
tree1d9d8657e131c2eb882bb575cd0a6dd46a41d45d /tools/python
parenta59e9ff00257f505fab61196facdd15bbb53fdab (diff)
downloadxen-6b320d280fd80b09c78dbc78acde3ebd3c46845a.tar.gz
xen-6b320d280fd80b09c78dbc78acde3ebd3c46845a.tar.bz2
xen-6b320d280fd80b09c78dbc78acde3ebd3c46845a.zip
libxl: define libxl_vnc_info to hold all info about the vnc info
Reduces duplication in libxl_vfb and libxl_device_model. Updated bindings but the python ones in particular are unlikely to be useful until a user presents itself and fixes them up. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Diffstat (limited to 'tools/python')
-rw-r--r--tools/python/genwrap.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/tools/python/genwrap.py b/tools/python/genwrap.py
index a5febeeab1..5f44410bea 100644
--- a/tools/python/genwrap.py
+++ b/tools/python/genwrap.py
@@ -4,7 +4,7 @@ import sys,os
import libxltypes
-(TYPE_BOOL, TYPE_INT, TYPE_UINT, TYPE_STRING) = range(4)
+(TYPE_BOOL, TYPE_INT, TYPE_UINT, TYPE_STRING, TYPE_AGGREGATE) = range(5)
def py_type(ty):
if ty == libxltypes.bool:
@@ -16,6 +16,8 @@ def py_type(ty):
return TYPE_INT
else:
return TYPE_UINT
+ if isinstance(ty, libxltypes.Aggregate):
+ return TYPE_AGGREGATE
if ty == libxltypes.string:
return TYPE_STRING
return None
@@ -66,6 +68,9 @@ def py_attrib_get(ty, f):
l.append(' return genwrap__ull_get(self->obj.%s);'%f.name)
elif t == TYPE_STRING:
l.append(' return genwrap__string_get(&self->obj.%s);'%f.name)
+ elif t == TYPE_AGGREGATE:
+ l.append(' PyErr_SetString(PyExc_NotImplementedError, "Getting %s");'%ty.typename)
+ l.append(' return NULL;')
else:
tn = f.type.typename
l.append(' return attrib__%s_get((%s *)&self->obj.%s);'%(fsanitize(tn), tn, f.name))
@@ -92,6 +97,9 @@ def py_attrib_set(ty, f):
l.append(' return ret;')
elif t == TYPE_STRING:
l.append(' return genwrap__string_set(v, &self->obj.%s);'%f.name)
+ elif t == TYPE_AGGREGATE:
+ l.append(' PyErr_SetString(PyExc_NotImplementedError, "Setting %s");'%ty.typename)
+ l.append(' return -1;')
else:
tn = f.type.typename
l.append(' return attrib__%s_set(v, (%s *)&self->obj.%s);'%(fsanitize(tn), tn, f.name))